{"projects": [{"components": [{"description": "Transaction and Reporting", "lead": "63d40628f6e1b543161789a7", "name": "Catalog Application"}, {"description": "Parser, Lexer, Evaluator, Scope, Functions API, Compiler", "lead": "557058:80b1a2d0-6c75-4995-bdc3-c422bab7aabd", "name": "Compiler"}, {"description": "", "name": "Deferred"}, {"description": "To notify DOCS", "lead": "557058:1b9bde12-f0a1-4355-ab73-7fc4ec69ba79", "name": "Docs"}, {"description": "puppet functions - such as 'include', 'sprintf', 'each' ... (except hiera_xxx functions)", "lead": "557058:80b1a2d0-6c75-4995-bdc3-c422bab7aabd", "name": "Functions"}, {"description": "hiera.yaml, lookup, APL, hiera_xxx functions", "lead": "557058:c7e2df03-377d-4bf0-9407-106b8483430d", "name": "Hiera & Lookup"}, {"description": "The Puppet Language", "lead": "557058:80b1a2d0-6c75-4995-bdc3-c422bab7aabd", "name": "Language"}, {"description": "Modules subsystem, autoloading", "name": "Modules"}, {"description": "Certificate management and Web services", "lead": "63d40628f6e1b543161789a7", "name": "Networking"}, {"description": "Puppet Module Tool", "name": "PMT"}, {"description": "", "name": "Support Script"}, {"description": "Data types (Integer, String, etc). Pcore. Data representation/serialization", "lead": "557058:80b1a2d0-6c75-4995-bdc3-c422bab7aabd", "name": "Type System"}, {"description": "Issues with specific types/providers", "lead": "63d40628f6e1b543161789a7", "name": "Types and Providers"}, {"description": "", "name": "UX"}, {"description": "", "lead": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "name": "Windows"}], "description": "This is the JIRA project for issues relating to the Puppet core code.", "externalName": "Puppet (Archived)", "issues": [{"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-03-09T15:33:00.000000", "creator": "5a1beb0b007eb21a79e5d6de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5e666fbc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-5104"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0m3v5:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}], "description": "Update Public-facing Puppet docs with removal of this platform\n", "epicLinkSummary": "Remove SUSE Linux Enterprise Server 11 (x86-64) FOSS support", "estimate": "PT0S", "externalId": "28785", "fixedVersions": [], "id": "28785", "issueType": "Task", "key": "PUP-11782", "labels": ["os"], "originalEstimate": "PT0S", "parent": "58111", "parentSummary": "Remove SUSE Linux Enterprise Server 11 (x86-64) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a1beb0b007eb21a79e5d6de", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "11. Update Public-facing Puppet docs to remove SUSE Linux Enterprise Server 11 (x86-64)", "timeSpent": "PT0S", "updated": "2023-03-09T15:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-03-09T15:31:00.000000", "creator": "5a1beb0b007eb21a79e5d6de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@34d69a02"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-5092"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0m3o9:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}], "description": "Update Public-facing Puppet docs with removal of this platform\n", "epicLinkSummary": "Remove SUSE Linux Enterprise Server 11 (i386) FOSS support", "estimate": "PT0S", "externalId": "27753", "fixedVersions": [], "id": "27753", "issueType": "Task", "key": "PUP-11781", "labels": ["os"], "originalEstimate": "PT0S", "parent": "57742", "parentSummary": "Remove SUSE Linux Enterprise Server 11 (i386) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a1beb0b007eb21a79e5d6de", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "11. Update Public-facing Puppet docs to remove SUSE Linux Enterprise Server 11 (i386)", "timeSpent": "PT0S", "updated": "2023-03-09T15:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-03-09T15:25:00.000000", "creator": "5a1beb0b007eb21a79e5d6de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@50d5427d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-5080"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0m3hd:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}], "description": "Update Public-facing Puppet docs with removal of this platform\n", "epicLinkSummary": "Remove Red Hat Enterprise Linux 7 (ppc64le) FOSS support", "estimate": "PT0S", "externalId": "26775", "fixedVersions": [], "id": "26775", "issueType": "Task", "key": "PUP-11780", "labels": ["os"], "originalEstimate": "PT0S", "parent": "57330", "parentSummary": "Remove Red Hat Enterprise Linux 7 (ppc64le) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a1beb0b007eb21a79e5d6de", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "11. Update Public-facing Puppet docs to remove Red Hat Enterprise Linux 7 (ppc64le)", "timeSpent": "PT0S", "updated": "2023-03-09T15:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-03-09T15:20:00.000000", "creator": "5a1beb0b007eb21a79e5d6de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3d8dbb6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-5068"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0m3ah:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}], "description": "Update Public-facing Puppet docs with removal of this platform\n", "epicLinkSummary": "Remove Windows Server 2008R2 FOSS support", "estimate": "PT0S", "externalId": "25713", "fixedVersions": [], "id": "25713", "issueType": "Task", "key": "PUP-11779", "labels": ["os"], "originalEstimate": "PT0S", "parent": "56790", "parentSummary": "Remove Windows Server 2008R2 FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a1beb0b007eb21a79e5d6de", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "11. Update Public-facing Puppet docs to remove Windows Server 2008R2", "timeSpent": "PT0S", "updated": "2023-03-09T15:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-03-09T15:15:00.000000", "creator": "5a1beb0b007eb21a79e5d6de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@66cba282"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-5050"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0m35d:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}], "description": "See https://confluence.puppetlabs.com/display/AGENT/How+to+add+a+platform+for+puppet-agent#Howtoaddaplatformforpuppetagent-update_public_facing_docs\n", "epicLinkSummary": "Add Ubuntu 22.04 (ARM64) FOSS support", "estimate": "PT0S", "externalId": "22399", "fixedVersions": [], "id": "22399", "issueType": "Task", "key": "PUP-11778", "labels": ["os"], "originalEstimate": "PT0S", "parent": "59907", "parentSummary": "Add Ubuntu 22.04 (ARM64) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a1beb0b007eb21a79e5d6de", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "16. Update Public-facing Puppet docs to include Ubuntu 22.04 (ARM64)", "timeSpent": "PT0S", "updated": "2023-03-09T15:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-03-07T12:31:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@8e81957"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-5036"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0m1vt:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}], "description": "Update Public-facing Puppet docs with removal of this platform\n", "epicLinkSummary": "Remove Red Hat 7 (aarch64) FOSS support", "estimate": "PT0S", "externalId": "22398", "fixedVersions": [], "id": "22398", "issueType": "Task", "key": "PUP-11777", "labels": ["os"], "originalEstimate": "PT0S", "parent": "59903", "parentSummary": "Remove Red Hat 7 (aarch64) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "11. Update Public-facing Puppet docs to remove Red Hat 7 (aarch64)", "timeSpent": "PT0S", "updated": "2023-03-07T12:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-03-07T12:28:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2a69e3fe"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-5024"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0m1pl:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}], "description": "Update Public-facing Puppet docs with removal of this platform\n", "epicLinkSummary": "Remove macOS 10.15 (x86_64) FOSS support", "estimate": "PT0S", "externalId": "24616", "fixedVersions": [], "id": "24616", "issueType": "Task", "key": "PUP-11776", "labels": ["os"], "originalEstimate": "PT0S", "parent": "56306", "parentSummary": "Remove macOS 10.15 (x86_64) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "11. Update Public-facing Puppet docs to remove macOS 10.15 (x86_64)", "timeSpent": "PT0S", "updated": "2023-03-07T12:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I'm wondering if you're running into PUP-11754 as I'm able to pass the lower case 'utf-8' string:\n\n{noformat}\nirb(main):004:0> puts File.read('Gemfile', encoding: 'utf-8')\n# frozen_string_literal: true\n\nsource ENV['GEM_SOURCE'] || 'https://rubygems.org'\n\ngemspec name: 'facter'\n\ngroup(:release, optional: true) do\n  gem 'octokit', '~> 4.18.0'\nend\n\ngem 'packaging', require: false\n\nlocal_gemfile = File.expand_path('Gemfile.local', __dir__)\neval_gemfile(local_gemfile) if File.exist?(local_gemfile)\n\ngroup(:documentation) do\n  gem 'ronn', '~> 0.7.3', require: false, platforms: [:ruby]\nend\n{noformat}\n\nBut if {{File.read}} returns an empty string, then you'll hit the multijson issue:\n\n{noformat}\nirb(main):002:0> Puppet::Util::Json.load('')\nTraceback (most recent call last):\n...\n        3: from /home/josh/work/puppet/lib/puppet/util/json.rb:64:in `load'\n        2: from /home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/multi_json-1.15.0/lib/multi_json.rb:122:in `load'\n        1: from /home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/multi_json-1.15.0/lib/multi_json/adapter.rb:20:in `load'\nPuppet::Util::Json::ParseError (JSON::ParserError)\n{noformat}", "created": "2023-03-03T17:53:00.000000"}, {"author": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "body": "Hmm, that's really weird, I of course can reproduce the behavior [~accountid:63d40628f6e1b543161789a7]\u00a0 has described above, but this is what I see in the repl when I pause the test\u2014it looks like there is some weird behavior with relative vs absolute strings????:\n{noformat}\n[36] pry(#<Puppet::Module>)> md_file\n=> \"/Users/toneloc/repos/puppet/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/metadata.json\"\n[37] pry(#<Puppet::Module>)> File.read(\"/Users/toneloc/repos/puppet/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/metadata.json\", encoding: 'utf-8')\n=> \"\"\n[38] pry(#<Puppet::Module>)> File.read(\"spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/metadata.json\", encoding: 'utf-8')\n=> \"{\\n \u00a0\\\"name\\\": \\\"test-user\\\",\\n \u00a0\\\"author\\\": \\\"test\\\",\\n \u00a0\\\"description\\\": \\\"\\\",\\n \u00a0\\\"license\\\": \\\"\\\",\\n \u00a0\\\"source\\\": \\\"\\\",\\n \u00a0\\\"version\\\": \\\"1.0.0\\\",\\n \u00a0\\\"dependencies\\\": [\\n \u00a0]\\n}\\n\"\n[39] pry(#<Puppet::Module>)> File.read(md_file, encoding: \u00a0'UTF-8')\n=> \"{\\n \u00a0\\\"name\\\": \\\"test-user\\\",\\n \u00a0\\\"author\\\": \\\"test\\\",\\n \u00a0\\\"description\\\": \\\"\\\",\\n \u00a0\\\"license\\\": \\\"\\\",\\n \u00a0\\\"source\\\": \\\"\\\",\\n \u00a0\\\"version\\\": \\\"1.0.0\\\",\\n \u00a0\\\"dependencies\\\": [\\n \u00a0]\\n}\\n\"\n[40] pry(#<Puppet::Module>)> File.read(md_file, encoding: \u00a0'utf-8')\n=> \"\"\n[41] pry(#<Puppet::Module>)> whereamiFrom: /Users/toneloc/repos/puppet/lib/puppet/module.rb:218 Puppet::Module#read_metadata:\u00a0 \u00a0 215: def read_metadata\n\u00a0 \u00a0 216: \u00a0 md_file = metadata_file\n\u00a0 \u00a0 217: \u00a0 require 'pry-byebug'", "created": "2023-03-06T11:58:00.000000"}, {"author": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "body": "Ended up being a test error in that should be covered by PUP-11754.", "created": "2023-03-06T14:25:00.000000"}], "components": [], "created": "2023-03-03T17:06:00.000000", "creator": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@15c39810"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0m0yx:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Mar/23"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_8221_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_249535495"}], "description": "The {{File.read}} method allows for a {{encoding}} to be specified, such as {{{}UTF-8{}}}. However, when an invalid {{encoding}} is specified, then no error is return but an empty string is seen. An invalid encoding string of {{utf-8}} is used [here|https://github.com/puppetlabs/puppet/blob/c571910/lib/puppet/module.rb#L217] when reading the metadata for a module. This should be fixed to used {{UTF-8}} instead.\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28784", "fixedVersions": [], "id": "28784", "issueType": "Bug", "key": "PUP-11775", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "resolution": "Cannot Reproduce", "resolutionDate": "2023-03-06T14:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Use valid encoding for metadata file reading", "timeSpent": "PT0S", "updated": "2023-03-06T14:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Windows"], "created": "2023-03-03T00:29:00.000000", "creator": "557058:89116718-adb8-45d4-bcd9-1483be79f43a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Host resources don't start to fail on Windows after some of them have already been applied successfully."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5083ecdd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Other"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0m0o1:"}], "description": "*Puppet Version: 7.21.0*\n*Puppet Server Version: latest*\n*OS Name/Version: Windows Server 2019+*\n\nWhen managing a lot of \"hosts\" resources on Windows (by means of collecting exported resources), the first ones are applied without problems, but later ones fail with\n\n{quote}Error: Puppet::Util::FileType::FileTypeFlat could not write C:/Windows/System32/drivers/etc/hosts: Permission denied @ rb_sysopen - C:/Windows/System32/drivers/etc/hosts{quote}\nwhich looks like some kind of race condition to me.\n\nSteps to reproduce:\n\nApply the following class on a new Windows host when Puppet is already managing at least 20 or 30 other hosts, all of which have the same class applied:\u00a0\n{code:puppet}\nclass hosts {\n\u00a0 # Let each host create a host entry as exported resource\n\u00a0 $nic = $facts['networking']['primary']\n\u00a0 $ip = $facts['networking']['interfaces'][$nic]['ip']\n\n  @@host { $facts['networking']['fqdn']:\n\u00a0 \u00a0 comment \u00a0 \u00a0 \u00a0=> 'Host entry generated by Puppet',\n\u00a0 \u00a0 host_aliases => [$facts['networking']['hostname']],\n\u00a0 \u00a0 ip \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 => $ip,\n\u00a0 \u00a0 tag \u00a0 \u00a0 \u00a0 \u00a0 \u00a0=> ['HOST_RECORD'],\n\u00a0 }\n\n  # Collect all exported host records and add them to (C:/Windows/System32/drivers)/etc/hosts\n\u00a0 Host <<| tag == 'HOST_RECORD' |>> { ensure => present }\n}\n{code}\n*Desired Behavior:*\n\nAll host resources are applied w/o error in the same Puppet run on Windows.\n\n*Actual Behavior:*\n\nSee above.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28783", "fixedVersions": [], "id": "28783", "issueType": "Bug", "key": "PUP-11774", "labels": ["needs-validation"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:89116718-adb8-45d4-bcd9-1483be79f43a", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Adding lots of hosts on Windows results in \"permission denied\" errors for some of them", "timeSpent": "PT0S", "updated": "2023-03-07T14:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-03-02T17:55:00.000000", "creator": "5a1beb0b007eb21a79e5d6de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6be78c91"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11766"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0m0nt:"}], "description": "RuboCop has added and spun out many different extension libraries over the years. We should examine whether it makes sense for us to add any of those to Puppet.\n\nRuboCop automatically recommends rubocop-rake and rubocop-rspec based on our current usage.", "epicLinkSummary": "RuboCop Modernization", "estimate": "PT0S", "externalId": "25712", "fixedVersions": [], "id": "25712", "issueType": "Task", "key": "PUP-11773", "labels": [], "originalEstimate": "PT0S", "parent": "28782", "parentSummary": "RuboCop Modernization", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a1beb0b007eb21a79e5d6de", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Assess additional RuboCop extensions", "timeSpent": "PT0S", "updated": "2023-03-07T14:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-03-02T17:51:00.000000", "creator": "5a1beb0b007eb21a79e5d6de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@230d1b06"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11766"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0m0nl:"}], "description": "We need to go through .rubocop_todo.yml and handle all of the Security cops, either by resolving the issues being flagged or by exempting the file if it's not practical.\n\nMore documentation there: https://docs.rubocop.org/rubocop/1.46/cops_security.html", "epicLinkSummary": "RuboCop Modernization", "estimate": "PT0S", "externalId": "24615", "fixedVersions": [], "id": "24615", "issueType": "Task", "key": "PUP-11772", "labels": [], "originalEstimate": "PT0S", "parent": "28782", "parentSummary": "RuboCop Modernization", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a1beb0b007eb21a79e5d6de", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Handle Security Cops", "timeSpent": "PT0S", "updated": "2023-03-07T14:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-03-02T17:50:00.000000", "creator": "5a1beb0b007eb21a79e5d6de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@40be80ec"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11766"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0m0nd:"}], "description": "We need to go through .rubocop_todo.yml and handle all of the Naming cops, either by resolving the issues being flagged or by exempting the file if it's not practical.\n\nMore documentation there: https://docs.rubocop.org/rubocop/1.46/cops_naming.html", "epicLinkSummary": "RuboCop Modernization", "estimate": "PT0S", "externalId": "23544", "fixedVersions": [], "id": "23544", "issueType": "Task", "key": "PUP-11771", "labels": [], "originalEstimate": "PT0S", "parent": "28782", "parentSummary": "RuboCop Modernization", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a1beb0b007eb21a79e5d6de", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Handle Naming Cops", "timeSpent": "PT0S", "updated": "2023-03-07T14:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2023-03-02T17:49:00.000000", "creator": "5a1beb0b007eb21a79e5d6de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2a346bf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11766"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0m0n5:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}], "description": "We need to go through .rubocop_todo.yml and handle all of the Lint cops, either by resolving the issues being flagged or by exempting the file if it's not practical.\n\nMore documentation there: https://docs.rubocop.org/rubocop/1.46/cops_lint.html", "epicLinkSummary": "RuboCop Modernization", "estimate": "PT0S", "externalId": "22396", "fixedVersions": [], "id": "22396", "issueType": "Task", "key": "PUP-11770", "labels": [], "originalEstimate": "PT0S", "parent": "28782", "parentSummary": "RuboCop Modernization", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a1beb0b007eb21a79e5d6de", "status": "Ready for CI", "statusCategory": "In Progress", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Handle Lint Cops", "timeSpent": "PT0S", "updated": "2023-03-10T17:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a1beb0b007eb21a79e5d6de", "attachments": [], "comments": [], "components": [], "created": "2023-03-02T17:48:00.000000", "creator": "5a1beb0b007eb21a79e5d6de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@271458d1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11766"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0m0mx:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_417388954_*|*_3_*:*_1_*:*_2289997_*|*_6_*:*_2_*:*_12042_*|*_10006_*:*_1_*:*_10697"}], "description": "We need to go through .rubocop_todo.yml and handle all of the i18n cops, either by resolving the issues being flagged or by exempting the file if it's not practical.", "epicLinkSummary": "RuboCop Modernization", "estimate": "PT0S", "externalId": "21495", "fixedVersions": [], "id": "21495", "issueType": "Task", "key": "PUP-11769", "labels": [], "originalEstimate": "PT0S", "parent": "28782", "parentSummary": "RuboCop Modernization", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a1beb0b007eb21a79e5d6de", "resolution": "Won't Do", "resolutionDate": "2023-03-07T14:23:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Handle i18n Cops", "timeSpent": "PT0S", "updated": "2023-03-07T14:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-03-02T17:47:00.000000", "creator": "5a1beb0b007eb21a79e5d6de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@59b5fba"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11766"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0m0mp:"}], "description": "We need to go through .rubocop_todo.yml and handle all of the Layout cops, either by resolving the issues being flagged or by exempting the file if it's not practical.\n\nMore documentation there: https://docs.rubocop.org/rubocop/1.46/cops_layout.html", "epicLinkSummary": "RuboCop Modernization", "estimate": "PT0S", "externalId": "20409", "fixedVersions": [], "id": "20409", "issueType": "Task", "key": "PUP-11768", "labels": [], "originalEstimate": "PT0S", "parent": "28782", "parentSummary": "RuboCop Modernization", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a1beb0b007eb21a79e5d6de", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Handle Layout Cops", "timeSpent": "PT0S", "updated": "2023-03-07T14:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-03-02T17:46:00.000000", "creator": "5a1beb0b007eb21a79e5d6de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2ac249b1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11766"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0m0mh:"}], "description": "We need to go through .rubocop_todo.yml and handle all of the Style cops, either by resolving the issues being flagged or by exempting the file if it's not practical.\n\nMore documentation there: https://docs.rubocop.org/rubocop/1.46/cops_style.html", "epicLinkSummary": "RuboCop Modernization", "estimate": "PT0S", "externalId": "29895", "fixedVersions": [], "id": "29895", "issueType": "Task", "key": "PUP-11767", "labels": [], "originalEstimate": "PT0S", "parent": "28782", "parentSummary": "RuboCop Modernization", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a1beb0b007eb21a79e5d6de", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Handle Style Cops", "timeSpent": "PT0S", "updated": "2023-03-07T14:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-03-02T17:42:00.000000", "creator": "5a1beb0b007eb21a79e5d6de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Phoenix"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@623e9c1a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-5"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "RuboCop Modernization"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_teal"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0m0m9:"}], "description": "In PUP-11376 we updated our RuboCop version to a modern version. This Epic tracks further RuboCop modernization work.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28782", "fixedVersions": [], "id": "28782", "issueType": "Epic", "key": "PUP-11766", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a1beb0b007eb21a79e5d6de", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "RuboCop Modernization", "timeSpent": "PT0S", "updated": "2023-03-07T09:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-02-27T11:10:00.000000", "creator": "5a1beb0b007eb21a79e5d6de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@555f4526"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4998"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lzgh:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}], "description": "See https://confluence.puppetlabs.com/display/AGENT/How+to+add+a+platform+for+puppet-agent#Howtoaddaplatformforpuppetagent-update_public_facing_docs\n", "epicLinkSummary": "Add Red Hat 9 (ARM64) FOSS support", "estimate": "PT0S", "externalId": "20408", "fixedVersions": [], "id": "20408", "issueType": "Task", "key": "PUP-11765", "labels": ["os"], "originalEstimate": "PT0S", "parent": "59122", "parentSummary": "Add Red Hat 9 (ARM64) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a1beb0b007eb21a79e5d6de", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "16. Update Public-facing Puppet docs to include Red Hat 9 (ARM64)", "timeSpent": "PT0S", "updated": "2023-02-27T11:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [], "components": [], "created": "2023-02-27T11:00:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@699d2625"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11658"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0m08u:i"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}], "description": "Puppet currently relies on a test forge instance, but that is no longer supported. The following beaker tests rely on the test forge:\n\n{noformat}\n$ git grep stub_forge\nacceptance/tests/environment/environment_scenario-bad.rb:  stub_forge_on(master)\nacceptance/tests/modules/changes/invalid_module_install_path.rb:stub_forge_on(master)\nacceptance/tests/modules/changes/missing_checksums_json.rb:stub_forge_on(master)\nacceptance/tests/modules/changes/missing_metadata_json.rb:stub_forge_on(master)\nacceptance/tests/modules/changes/module_with_modified_file.rb:stub_forge_on(master)\nacceptance/tests/modules/changes/module_with_removed_file.rb:stub_forge_on(master)\nacceptance/tests/modules/changes/unmodified_module.rb:stub_forge_on(master)\nacceptance/tests/modules/list/with_environment.rb:stub_forge_on(master)\n{noformat}\n\nConvert these tests to rspec integration tests (see https://github.com/puppetlabs/puppet/blob/main/spec/integration/application/module_spec.rb) using the bacula test fixture instead of pmtacceptance-nginx.\n\nThere should no longer be any usages of \"stub_forge_on\". Also remove any references to api-forge-aio02-petest.puppet.com", "epicLinkSummary": "Puppet Maintenance CY23 Q1", "estimate": "PT0S", "externalId": "22394", "fixedVersions": ["PUP 7.24.0", "PUP 8.0.0"], "id": "22394", "issueType": "Task", "key": "PUP-11764", "labels": [], "originalEstimate": "PT0S", "parent": "21423", "parentSummary": "Puppet Maintenance CY23 Q1", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Ready for CI", "statusCategory": "In Progress", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Remove dependency on the test forge instance", "timeSpent": "PT0S", "updated": "2023-03-06T13:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a1beb0b007eb21a79e5d6de", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The issue is the file provider implements a \"retrieve\" method for all of its properties, like mtime & cmtime and the \"retrieve\" method is returning a {{Time}} object, instead of a {{String}}. So then we attempt to serialize the current state of the system using PCore and due to {{strict=error}} it now fails. See PUP-10105 and PUP-4608.\n\nWe probably need to change the ctime and mtime properties to return a either a String or pops Timestamp instead of Ruby Time object. Fortunately these properties are \"read-only\" so they can only be returned by the provider and never specified in a manifest (which reduces the likelihood of a regression).", "created": "2023-02-21T12:19:00.000000"}], "components": [], "created": "2023-02-17T12:39:00.000000", "creator": "5a1beb0b007eb21a79e5d6de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@36a4d9c4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4664"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3fk:i0bu3pi"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Feb/23"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_495507206_*|*_1_*:*_1_*:*_352123011_*|*_10007_*:*_1_*:*_1843135_*|*_3_*:*_2_*:*_88098_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_2_*:*_91982126"}], "description": "In Puppet 8 (puppet-agent#727d2c8949953ea0c735ed570efbe2bf544d2180),\u00a0 running {{puppet resource --to_yaml file}} generates an error:\n{code:java}\n[root@choice-homerun ~]# /opt/puppetlabs/puppet/bin/puppet resource -y file /root/test.pp --verbose --debug\nDebug: Runtime environment: puppet_version=8.0.0, ruby_version=3.2.0, run_mode=user, default_encoding=UTF-8\nDebug: Evicting cache entry for environment :production\nDebug: Deleted text domain :production: false\nDebug: Caching environment :production (ttl = 0 sec)\nDebug: Evicting cache entry for environment :production\nDebug: Deleted text domain :production: false\nDebug: Facter: Resolving facts sequentially\nDebug: Facter: resolving fact with user_query: os.name\nDebug: Facter: Searching fact: os.name in file: os.name.rb\nDebug: Facter: Searching fact: os.name in core facts and external facts\nDebug: Facter: Loading all internal facts\nDebug: Facter: List of resolvable facts: [#<Facter::SearchedFact:0x00007fcc8b2f8c08 @name=\"os.name\", @fact_class=Facts::Rhel::Os::Name, @user_query=\"os.name\", @type=:core, @file=nil>]\nDebug: Facter: Loading external facts\nDebug: Facter: fact \"os.name\" has resolved to: RedHat\nError: Could not run: Evaluation Error: File[/root/test.pp]['ctime'] contains a Time value. It will be converted to the String '2023-02-17 17:49:08 +0000'{code}\nI tried this on RHEL 7 with a few arbitrary files and got the same error each time.\n\nI recall that there were some changes in Psych that caused time-related issues for Timecop that we stumbled upon last year, I wonder if this is the same issue or at least related: https://github.com/travisjeffery/timecop/issues/390", "epicLinkSummary": "Puppet 8", "estimate": "PT0S", "externalId": "22390", "fixedVersions": ["PUP 7.24.0"], "id": "22390", "issueType": "Task", "key": "PUP-11763", "labels": [], "originalEstimate": "PT0S", "parent": "57676", "parentSummary": "Puppet 8", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a1beb0b007eb21a79e5d6de", "resolution": "Fixed", "resolutionDate": "2023-02-28T10:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet resource can't load time object to YAML", "timeSpent": "PT0S", "updated": "2023-02-28T10:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Hi [~accountid:70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de] I wasn't clear if you wanted to use the structured fact \"$facts['networking']['fqdn']\" which already exists. Or if you are explicitly wanting a trusted version? If so, you can use \"$trusted['certname']\" which defaults to the fqdn of the host, but doesn't have to be in cases where \"certname\" is set explicitly in puppet.conf.", "created": "2023-02-14T14:09:00.000000"}, {"author": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "body": "I'd prefer a \"fully\" trusted version.\u00a0 My certname for the hosts is often a UUID for \"reasons\" so I'm assembling it by hand with a trivial join.\n\n\u00a0\n\nI'm controlling access to SSL certificates and kerberos keytabs, so I don't really want to trust that the client has the right fqdn.", "created": "2023-02-14T14:15:00.000000"}], "components": [], "created": "2023-02-14T13:11:00.000000", "creator": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6c0dafc0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lwrd:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Feb/23"}], "description": "With the legacy top level facts going away, it would be handy if there as a $::trusted['fqdn'] fact I could pull in.\n\nIn practice I know I can concat $::trusted['hostname'] with $::trusted['domain'], but making sure my mass find/replace is syntax valid for all the quoting and whatnot is going to be ugly.\n\nA trusted replacement fact would be great so I don't have to constantly repeat that pattern everywhere.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23543", "fixedVersions": [], "id": "23543", "issueType": "New Feature", "key": "PUP-11759", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "trusted fqdn fact", "timeSpent": "PT0S", "updated": "2023-02-14T14:15:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:79f2fdd6-baee-43c4-91af-c7e647173c95", "attachments": [], "comments": [], "components": [], "created": "2023-02-07T22:08:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6550ae00"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4664"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3fk:i0bu3i"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_499483521_*|*_1_*:*_1_*:*_130926636_*|*_10007_*:*_1_*:*_11151481_*|*_3_*:*_1_*:*_6191342_*|*_5_*:*_1_*:*_0"}], "description": "In commit 76ad8011fdcfaaaf91d5b24b8bcacdac2a8a819a we temporarily set our facter runtime dependency to install from github, as previous facter gem releases didn't support Ruby 3.2.\n\nAfter the Facter 4.3.0 gem is released, we can undo the change to puppet's Gemfile.", "epicLinkSummary": "Puppet 8", "estimate": "PT0S", "externalId": "21493", "fixedVersions": ["PUP 8.0.0"], "id": "21493", "issueType": "Task", "key": "PUP-11756", "labels": [], "originalEstimate": "PT0S", "parent": "57676", "parentSummary": "Puppet 8", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2023-02-15T10:03:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Restore regular facter runtime dependency", "timeSpent": "PT0S", "updated": "2023-03-09T16:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5c2ff2e8e6047225b6d53614", "body": "Hi [~accountid:63d4062f69c7ae3958d276ed]\u00a0 - do you have any idea when this might be in a release?\nGareth...", "created": "2023-02-13T03:31:00.000000"}, {"author": "5a1beb0b007eb21a79e5d6de", "body": "Passed CI in puppet-agent#33e76d88addb3732db256683cb297b4849902798 / puppet#d6d631a2f5b38b756e2d5635731006ee519d53db", "created": "2023-02-24T12:25:00.000000"}], "components": [], "created": "2023-02-07T16:17:00.000000", "creator": "6361cbfc59c794184bcbd33a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@24b08d13"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11658"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3fk:i0bu3ri"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "This fixes a case where the each/map/filter built-in functions in Puppet language had poor performance and consumed unnecessary resources."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "0.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Feb/23"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_861238722_*|*_1_*:*_1_*:*_507532_*|*_10007_*:*_1_*:*_592636098_*|*_5_*:*_1_*:*_0"}], "description": "The {{each}}, {{map}} and {{filter}} functions use a pattern for enumeration that is both extremely slow and incorrect when run in jruby:\n\nThe pattern is roughly:\n{code}\nenum = object.each\n\nobject.size.times do\n  yield(enum.next)\nend\n{code}\n\nBecause this only calls {{next}} as many times as there are objects in the enuemrator, it never triggers {{StopIteration}}. That causes the Fiber associated with the enumerator not to be cleaned up. Since JRuby Fibers are mapped to native threads, that leaves an active native thread, which can cause the server to hit its limit of threads. It also means the Fiber serves as a GC root, and so any objects referenced from it will remain uncollected.\n\nA more correct pattern is:\n{code}\nenum = object.each\n\nbegin\n  loop do\n    yield(enum.next)\n  end\nrescue StopIteration\nend\n{code}\n\nThis avoids letting threads accumulate, but it's still very expensive. The most correct version is simply:\n\n{code}\nobject.each do |value|\n  yield(value)\nend\n{code}\n\nI used the following example as a comparison:\n\n{code}\na = 5000.times.map do\n  {\n    'one' => 'foo',\n    'two' => 'bar',\n    'three' => 'baz',\n    'four' => 'quux',\n  }.freeze\nend\n\nmy_proc = proc do |(k,v)|\nend\n\nBenchmark.bm do |x|\n  x.report do\n    10.times.each do\n      a.each do |h|\n        h.each_pair do |pair|\n          my_proc.call(pair)\n        end\n      end\n    end\n  end\n\n  x.report do\n    10.times.each do |i|\n      a.each_with_index do |h, j|\n        enum = h.each_pair\n        begin\n          loop do\n            my_proc.call(enum.next)\n          end\n        rescue StopIteration\n        end\n      end\n    end\n  end\nend\n{code}\n\nwith the results\n\n{code}\n\u276f ruby test.rb\n       user     system      total        real\n   0.030373   0.000491   0.030864 (  0.030925)\n   0.217605   0.018319   0.235924 (  0.235980)\n\u276f jruby test.rb\n       user     system      total        real\n   0.800000   0.020000   0.820000 (  0.091818)\n  20.310000   2.370000  22.680000 ( 17.027952)\n{code}\n\nIn MRI, the difference is around an order of magnitude, but both versions are so fast the cost is negligible either way. On JRuby, the difference is >150x.", "epicLinkSummary": "Puppet Maintenance CY23 Q1", "estimate": "PT0S", "externalId": "28780", "fixedVersions": ["PUP 7.24.0"], "id": "28780", "issueType": "Bug", "key": "PUP-11755", "labels": [], "originalEstimate": "PT0S", "parent": "21423", "parentSummary": "Puppet Maintenance CY23 Q1", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6361cbfc59c794184bcbd33a", "resolution": "Fixed", "resolutionDate": "2023-02-24T12:17:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "each/map/filter functions are slow/buggy on jruby", "timeSpent": "PT0S", "updated": "2023-03-09T16:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61bb63041baa2b0069ef30a1", "attachments": [], "comments": [{"author": "61bb63041baa2b0069ef30a1", "body": "This bug was found while setting strict mode to default which is why I linked the ticket to relate to PUP-11751", "created": "2023-02-06T18:20:00.000000"}], "components": [], "created": "2023-02-06T18:01:00.000000", "creator": "61bb63041baa2b0069ef30a1", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@77c19143"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4664"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3fk:i0bu3uax"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}], "epicLinkSummary": "Puppet 8", "estimate": "PT0S", "externalId": "21491", "fixedVersions": [], "id": "21491", "issueType": "Task", "key": "PUP-11754", "labels": [], "originalEstimate": "PT0S", "parent": "57676", "parentSummary": "Puppet 8", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61bb63041baa2b0069ef30a1", "status": "Ready for CI", "statusCategory": "In Progress", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Empty metadata files should be treated as though they don't exist", "timeSpent": "PT0S", "updated": "2023-03-09T18:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Hiera & Lookup"], "created": "2023-02-06T13:14:00.000000", "creator": "63eadafdaf665dfde8904b58", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3219ea2c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lt29:"}], "description": "*Puppet Version:*\n*Puppet Server Version:*\n*OS Name/Version:*\n\nWhen encrypting a file that has a newline at the end (e.g. a openssh private key) the file is missing the newline when decrypted.\n\n\n\nin a puppet module we create a file resource with some content, passed in from hiera.\n\n\u00a0\n{code:puppet}\nfile { \"path/to/file\":\n  content => $content\n}\n {code}\nwhere the content is encrypted\n{code:yaml}\n# private.eyaml\n---\nenc_file: ENC[PKCS7,Y22exl+O...]\n...\n# common.yaml\nmy_module::content: \"%{lookup('enc_file')}\"\n{code}\n\n*Desired Behavior:*\n\nThe newline of encrypted content should not be removed.\n\n*Actual Behavior:*\n\nThe newline in the encrypted file gets removed.\n\n\n*Potential Fix:*\n\nI think the issue is by either the eyaml parser to emit an extra {{NonMatchToken}} or the eyaml_lookup_key function to join the trailing {{NonMatchToken}}.\n\nRemoving {{chomp}} shows tests failing because of an extra newline. When filtering out {{NonMatchTokens}} and then {{join}} the tokens, tests are still green, and the encrypted file will keep its newline.\n\n{code:diff}\ndiff --git a/lib/puppet/functions/eyaml_lookup_key.rb b/lib/puppet/functions/eyaml_lookup_key.rb\nindex 5fbae35b3a..321aa191fb 100644\n--- a/lib/puppet/functions/eyaml_lookup_key.rb\n+++ b/lib/puppet/functions/eyaml_lookup_key.rb\n@@ -87,7 +87,7 @@ Puppet::Functions.create_function(:eyaml_lookup_key) do\n       Hiera::Backend::Eyaml::Options.set(options)\n       begin\n         tokens = Hiera::Backend::Eyaml::Parser::ParserFactory.hiera_backend_parser.parse(data)\n-        data = tokens.map(&:to_plain_text).join.chomp\n+        data = tokens.select{|token| not token.kind_of? Hiera::Backend::Eyaml::Parser::NonMatchToken}.map(&:to_plain_text).join\n       rescue StandardError => ex\n         raise Puppet::DataBinding::LookupError,\n           _(\"hiera-eyaml backend error decrypting %{data} when looking up %{key} in %{path}. Error was %{message}\") % { data: data, key: key, path: options['path'], message: ex.message }\n{code}\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23542", "fixedVersions": [], "id": "23542", "issueType": "Bug", "key": "PUP-11753", "labels": ["needs-validation"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "63eadafdaf665dfde8904b58", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "decrypted eyaml lookup has last newline removed", "timeSpent": "PT0S", "updated": "2023-02-21T14:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-02-01T15:57:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@52596ec9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lso1:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Allow the use of disable legacy facts when using the `fqdn_rand`."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_180853169_*|*_1_*:*_1_*:*_4907400_*|*_5_*:*_1_*:*_0"}], "description": "It's not possible to disable legacy facts when using the `fqdn_rand` function because it calls the legacy fqdn fact.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20406", "fixedVersions": ["PUP 7.23.0"], "id": "20406", "issueType": "Task", "key": "PUP-11752", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2023-02-03T19:33:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "fqdn_rand function relies on legacy fqdn fact", "timeSpent": "PT0S", "updated": "2023-02-03T19:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2023-01-31T16:27:00.000000", "creator": "61bb63041baa2b0069ef30a1", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Can apply a catalog from environment with Pcore object types without warnings and errors"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@72a1ad9b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4664"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3fk:i0bu3tx"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Previously, the strict_variables setting defaulted to false. For Puppet 8, strict mode will be on by default which means strict_variables will be on & default to true and strict will default to error. With strict_variables on, an evaluation error will be raised when referencing unknown variables but not when referencing variables that are explicitly set to undef. This change could potentially be a breaking change."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}], "description": "This ticket is a placeholder for all the unexpected behavior I found while working on PUP-11725 after setting strict to default to {{:error}} instead of {{:warning}}\n # When rich_data is enabled, users should be able to create and use their own rich data type derived from `Object`.\n\nHowever, [this test|https://github.com/puppetlabs/puppet/blob/f4fbaaac5b21731929e76a7218b3f735ef41cd15/spec/integration/application/apply_spec.rb#L205] that checks Puppet can apply a catalog from an environment with Pcore object types began failing after enabling strict mode. It seems like there was a warning (when strict was set to warning) before that got swallowed and was never noticed.\u00a0\n\nI'll mark the test as pending for now. I also wrote another test that checks that a catalog can be applied without warnings/errors.\n\n2. The [lookup function|https://www.puppet.com/docs/puppet/6/function.html#lookup] can take in a {{default_values_hash}} as a parameter and should use that hash to check for the requested key. However, in this [lookup test|https://github.com/puppetlabs/puppet/blob/980a51e3b2e60132c1c00a417b7fc89d353c86f9/spec/unit/functions/lookup_spec.rb#L2414], it fails and does not use the passed in {{default_values_hash}} unless another {{lookup}} is used like [this test|https://github.com/puppetlabs/puppet/blob/980a51e3b2e60132c1c00a417b7fc89d353c86f9/spec/unit/functions/lookup_spec.rb#L2410] does.\n\n3. This [acceptance test|https://github.com/puppetlabs/puppet/blob/25a86b1/acceptance/tests/lookup/config5_interpolation.rb] was also failing in a strange way; `strict` errors caused the test to error out, but without it, the test completes correctly, indicating that `::roles` ends up not actually being undefined.\u00a0", "epicLinkSummary": "Puppet 8", "estimate": "PT0S", "externalId": "28779", "fixedVersions": ["PUP 8.0.0"], "id": "28779", "issueType": "Task", "key": "PUP-11751", "labels": [], "originalEstimate": "PT0S", "parent": "57676", "parentSummary": "Puppet 8", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61bb63041baa2b0069ef30a1", "status": "Ready for Merge", "statusCategory": "In Progress", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Unexpected behavior after setting strict to :error", "timeSpent": "PT0S", "updated": "2024-11-16T07:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b19fd1b3f6489b946626", "attachments": [], "comments": [], "components": [], "created": "2023-01-31T14:02:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1ee07060"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11740"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lsg1:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4916_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2399214222"}], "description": "(Initial planned release date: 2023-02-07)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2023-02-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "estimate": "PT0S", "externalId": "28777", "fixedVersions": [], "id": "28777", "issueType": "Task", "key": "PUP-11750", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26768", "parentSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2023-02-28T08:29:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 7.23.0)", "timeSpent": "PT0S", "updated": "2023-02-28T08:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b19fd1b3f6489b946626", "attachments": [], "comments": [], "components": [], "created": "2023-01-31T14:02:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@358c20c4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11740"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lsft:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5356_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2397265636"}], "description": "(Initial planned release date: 2023-02-07)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.descriptions\n", "duedate": "2023-02-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "estimate": "PT0S", "externalId": "27751", "fixedVersions": [], "id": "27751", "issueType": "Task", "key": "PUP-11749", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26768", "parentSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2023-02-28T07:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 7.23.0)", "timeSpent": "PT0S", "updated": "2023-02-28T07:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b19fd1b3f6489b946626", "attachments": [], "comments": [{"author": "6323b19fd1b3f6489b946626", "body": "Retrospective scheduled for March 1st.\n\nTrello board link: https://trello.com/b/OoMriWOA/platform-7230-release-retro", "created": "2023-02-23T12:21:00.000000"}, {"author": "6323b19fd1b3f6489b946626", "body": "Retro scheduled March 1st.", "created": "2023-02-23T12:22:00.000000"}], "components": [], "created": "2023-01-31T14:02:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@356ba9d8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11740"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lsfl:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Feb/23"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_28819_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_2_*:*_1981143944"}], "description": "(Initial planned release date: 2023-02-07)\n\nSchedule a retrospective for this release. This should happen as soon as possible after the release, so that details are fresh in our heads.\nEnsure all current release leads are invited and that the Trello board is shared with them.\n* [~accountid:557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629]\n* [~accountid:60e4906e4134aa006931a5d6]\n* [~accountid:557058:79f2fdd6-baee-43c4-91af-c7e647173c95]\n* [~accountid:6220dc0ab7e7c70071572d08]\n* [~accountid:557058:252602f6-56c9-47a2-a176-2c9c57106330]\n", "duedate": "2023-02-07T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "estimate": "PT0S", "externalId": "26771", "fixedVersions": [], "id": "26771", "issueType": "Task", "key": "PUP-11748", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26768", "parentSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2023-02-23T12:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Schedule a retrospective (Puppet Platform 7.23.0)", "timeSpent": "PT0S", "updated": "2023-02-23T12:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b19fd1b3f6489b946626", "attachments": [], "comments": [{"author": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "body": "[~accountid:6323b19fd1b3f6489b946626] I believe I saw this", "created": "2023-02-15T14:29:00.000000"}], "components": [], "created": "2023-01-31T14:02:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@36e5679c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11740"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lsfd:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Feb/23"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6000_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1297576964"}], "description": "(Initial planned release date: 2023-02-07)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 7.23.0 is now available\"\n", "duedate": "2023-02-07T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "estimate": "PT0S", "externalId": "25710", "fixedVersions": [], "id": "25710", "issueType": "Task", "key": "PUP-11747", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26768", "parentSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2023-02-15T14:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Send release announcement (Puppet Platform 7.23.0)", "timeSpent": "PT0S", "updated": "2023-02-15T14:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2023-01-31T14:02:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6f3632a3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11740"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lsex:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6819_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1976049208"}], "description": "(Initial planned release date: 2023-02-07)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2023-02-07T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "estimate": "PT0S", "externalId": "23541", "fixedVersions": [], "id": "23541", "issueType": "Task", "key": "PUP-11746", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26768", "parentSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2023-02-23T10:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 7.23.0)", "timeSpent": "PT0S", "updated": "2023-02-23T10:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b19fd1b3f6489b946626", "attachments": [], "comments": [{"author": "6323b19fd1b3f6489b946626", "body": "----\n{color:#000000}*From:* Mae Caballes <[mae.caballes@perforce.com|mailto:mae.caballes@perforce.com]>\n*Sent:* February 7, 2023 19:54\n*To:* Jessica Wilson <[jessica.wilson@perforce.com|mailto:jessica.wilson@perforce.com]>", "created": "2023-02-10T08:08:00.000000"}], "components": [], "created": "2023-01-31T14:02:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3be8af1a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11740"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lsep:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Feb/23"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7141_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_842721307"}], "description": "(Initial planned release date: 2023-02-07)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2023-02-06T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "estimate": "PT0S", "externalId": "22389", "fixedVersions": [], "id": "22389", "issueType": "Task", "key": "PUP-11745", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26768", "parentSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2023-02-10T08:08:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 7.23.0)", "timeSpent": "PT0S", "updated": "2023-02-10T08:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b19fd1b3f6489b946626", "attachments": [], "comments": [{"author": "6323b19fd1b3f6489b946626", "body": "*From:* Puppet Product Updates <puppet-product-updates@puppet.com>\n*Date:* Thursday, February 9, 2023 at 10:05 AM\n*To:* internal-puppet-product-updates@puppet.com <internal-puppet-product-updates@puppet.com>, Professional Services <dept-professional-services@puppet.com>, Supteam (Internal) <supteam@puppet.com>, Amer SEs <amer-ses@puppet.com>, EMEA Sales Engineers <emea-sales-engineers@puppet.com>, APAC SE <apac-se@puppet.com>, Products Managers <product-and-eng-mgrs@puppet.com>\n*Subject:* Puppet 7.23.0 Release Announcement\n\nGreetings,\n\n\u00a0\n\nPuppet 7.23.0 has been released!\n\n\u00a0\n\nResolved in this release are the following:\n\n\u00a0\n # Can'tdiginto facts when legacy facts are excluded\n\n * Catalog compilation no longer fails when using the\u00a0dig\u00a0function and excluding legacy facts.\n\n # concurrent-ruby{*}{*}1.2.0 breaks\u00a0Puppet\n\n * Updated\u00a0Puppet\u00a0to be compatible with the\u00a0concurrent-ruby\u00a0gem versions 1.2 and above.\n\n # fqdn_randfunction relies on legacy\u00a0fqdn\u00a0fact\n\n * Puppet\u00a0now allows disabling legacy facts when using the\u00a0fqdn_rand.\u00a0\n\nh3. Security\n\nBump nokogiri to 1.13.10\n * Updated the Nokogiri component from version 1.13.9 to 1.13.10.\n\nSee [release notes|https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.puppet.com%2Fdocs%2Fpuppet%2F7%2Frelease_notes_puppet.html%23release_notes_puppet&data=05%7C01%7Cmae.caballes%40perforce.com%7C5ba985424c854af8ef9408db0aaf21be%7C95b666d19a7549ab95a38969fbcdc08c%7C0%7C0%7C638115519563098549%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=heUudssEP36kiJafU2%2Ft6YJtJhSe8Y8cgUyKgBn3X7M%3D&reserved=0] for additional details.", "created": "2023-02-10T08:07:00.000000"}], "components": [], "created": "2023-01-31T14:02:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@50956895"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11740"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lse9:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Feb/23"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7943_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_842654563"}], "description": "(Initial planned release date: 2023-02-07)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:60e4906e4134aa006931a5d6] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2023-02-06T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "estimate": "PT0S", "externalId": "20405", "fixedVersions": [], "id": "20405", "issueType": "Task", "key": "PUP-11744", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26768", "parentSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2023-02-10T08:07:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare release announcement (Puppet Platform 7.23.0)", "timeSpent": "PT0S", "updated": "2023-02-10T08:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2023-01-31T14:02:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3858332f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11740"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lse1:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_8251_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1976045495"}], "description": "(Initial planned release date: 2023-02-07)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2023-02-03T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "estimate": "PT0S", "externalId": "29894", "fixedVersions": [], "id": "29894", "issueType": "Task", "key": "PUP-11743", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26768", "parentSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2023-02-23T10:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 7.23.0)", "timeSpent": "PT0S", "updated": "2023-02-23T10:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b19fd1b3f6489b946626", "attachments": [], "comments": [{"author": "6323b19fd1b3f6489b946626", "body": "\u00a0\n\n*From:* Mae Caballes <mae.caballes@perforce.com>\n*Date:* Monday, February 6, 2023 at 4:26 PM\n*To:* Jessica Wilson <jessica.wilson@perforce.com>, Team-Skeletor <team-skeletor@perforce.com>, team-phoenix <team-phoenix@perforce.com>, Team Nimbus <team-nimbus@perforce.com>, Team-Dumpling <team-dumpling@perforce.com>, Eric Griswold <eric.griswold@perforce.com>, Isaac Hammes <isaac.hammes@perforce.com>, Jake Spain <jake.spain@perforce.com>\n*Cc:* David Piekny <david.piekny@perforce.com>, Jaleen Walker <jaleen.walker@perforce.com>, Lisa Ross <lisa.ross@perforce.com>, Aaron Robinson <aaron.robinson@perforce.com>, Nirupama Mantha <nirupama.mantha@perforce.com>, Jason Dennis <jason.dennis@perforce.com>, Parker Leach <parker.leach@perforce.com>\n*Subject:* Platform 7.23.0 || Feature Complete Update\n\nHello All,\n\n\u00a0\n\nWe have reached feature complete for the Platform 7.23.0 release (see [Slack thread|https://perforce.slack.com/archives/C049EJFCZ0W/p1675450846638589]):\n * puppet-agent 7.23.0\n * PuppetDB 7.12.1\n * Puppet Server 7.9.5\n\n\u00a0\n\nPending for the release on the puppet-agent side is the OpenSSL issue tracked in this JIRA ticket: PA-4903\n\n\u00a0\n\nThe announcement from OpenSSL falls on the same day as the target release date for Platform 7.23.0 (February 7{^}th{^})", "created": "2023-02-10T08:03:00.000000"}], "components": [], "created": "2023-01-31T14:02:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@13ca4474"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11740"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lsdt:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Feb/23"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_18687_*|*_5_*:*_1_*:*_0_*|*_6_*:*_1_*:*_79754_*|*_10005_*:*_2_*:*_842494477"}], "description": "(Initial planned release date: 2023-02-07)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2023-02-01T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "estimate": "PT0S", "externalId": "28775", "fixedVersions": [], "id": "28775", "issueType": "Task", "key": "PUP-11742", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26768", "parentSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2023-02-10T08:04:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 7.23.0)", "timeSpent": "PT0S", "updated": "2023-02-10T08:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b19fd1b3f6489b946626", "attachments": [], "comments": [], "components": [], "created": "2023-01-31T14:02:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6da4a6a5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11740"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lsdl:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_11068_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2399261473"}], "description": "(Initial planned release date: 2023-02-07)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 7.23.0 and puppet-agent 7.23.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2023-02-01T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "estimate": "PT0S", "externalId": "27750", "fixedVersions": [], "id": "27750", "issueType": "Task", "key": "PUP-11741", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26768", "parentSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2023-02-28T08:30:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 7.23.0)", "timeSpent": "PT0S", "updated": "2023-02-28T08:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b19fd1b3f6489b946626", "attachments": [], "comments": [], "components": [], "created": "2023-01-31T14:02:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Phoenix"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@168ea521"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-5"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 7.23.0 Release - 2023-02-07"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_teal"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3it:tux"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_589614363_*|*_6_*:*_1_*:*_0_*|*_10013_*:*_1_*:*_1821106367"}], "description": "Puppet Platform 7.23.0 Release - 2023-02-07", "duedate": "2023-02-07T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26768", "fixedVersions": [], "id": "26768", "issueType": "Epic", "key": "PUP-11740", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2023-02-28T11:41:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Platform 7.23.0 Release - 2023-02-07", "timeSpent": "PT0S", "updated": "2023-02-28T23:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-01-31T11:56:00.000000", "creator": "557058:41763630-2f47-49a4-9b44-1b1c245bcd08", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@58e5de9b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "CentOS 7"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lsc9:"}], "description": "*Puppet Version:*\n\n7.18.0\n*Puppet Server Version:*\n\n2021.7.0.16\n*OS Name/Version:*\n\nOracle Linux 7\n\nWhen lowering runinterval on agents, from 60m to 30m for example, splay on, and splaylimit set to runinterval, agents quicker trigger a run and ignore the splay setting.\u00a0 We use the puppet_conf bolt task to make agent config changes, so a large group of agents suddenly synchronize and stay that way when we update their runintervals on disk. Restarting agents resolves the issue because the splay setting will be used. We run into this because sometimes we set runinterval to a higher value when we think we have performance problems on the compilers or primary server. Reverting the setting then causes this issue, which causes performance problems\n\nTo reproduce:\n\nbolt task run puppet_conf action=set setting=splay section=agent value=true\nbolt task run puppet_conf action=set setting=splaylimit section=agent value=10m\nbolt task run puppet_conf action=set setting=runinterval section=agent value=10m\n\nThey're synchronized now, the fix is restarting all the agents.\u00a0 That's not bad, but I don't see the benefit to having the agent reread the puppet.conf every few seconds if it can't handle an updated runinterval properly.\n\n*Desired Behavior:*\n\nI would expect it the agent schedule to work similarly to as if I had just restarted the agent.\n\n*Actual Behavior:*\n\nAgents stack up and run simultaneously.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25709", "fixedVersions": [], "id": "25709", "issueType": "Bug", "key": "PUP-11728", "labels": ["needs-validation"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:41763630-2f47-49a4-9b44-1b1c245bcd08", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet agent ignore splay when runinterval is lowered", "timeSpent": "PT0S", "updated": "2023-02-07T14:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61bb63041baa2b0069ef30a1", "attachments": [], "comments": [], "components": [], "created": "2023-01-24T17:51:00.000000", "creator": "61bb63041baa2b0069ef30a1", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@663185fd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4664"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3fk:i00905"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The strict setting was introduced in Puppet 4.x and can be set to off, warning, or error. For Puppet 8, strict mode will be on by default which means strict will default to error and strict_variables will default to true. Previously, strict defaulted to warning. With strict set to error, extra validation & checks will be performed and will fail as an error. This change could potentially be a breaking change."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_63452624_*|*_1_*:*_1_*:*_156559441_*|*_10007_*:*_1_*:*_11240013_*|*_3_*:*_1_*:*_952242233_*|*_10009_*:*_1_*:*_3608939_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_85630729"}], "description": "Puppet supports various strict language related settings. These were added in 2016 (puppet 4.x) and it's time to enable strict behavior by default.\n\n[strict|https://github.com/puppetlabs/puppet/blob/381a3e2b2e6858570fcc6e755bfae9eeff1226f1/lib/puppet/defaults.rb#L191]\n\n[strict_variables|https://github.com/puppetlabs/puppet/blob/381a3e2b2e6858570fcc6e755bfae9eeff1226f1/lib/puppet/defaults.rb#L2212]\n\nCurrently, strict defaults to warning and must default to error in order to enable strict mode by default.\n\nA good thing to verify - take a module like stdlib, test against puppet8 gem, change the setting for strict, and make sure the spec tests still pass. Note you can use the PUPPET_GEM_VERSION to pin to a local checkout of puppet rather than building a gem.", "epicLinkSummary": "Puppet 8", "estimate": "PT0S", "externalId": "22387", "fixedVersions": ["PUP 8.0.0"], "id": "22387", "issueType": "Task", "key": "PUP-11725", "labels": [], "originalEstimate": "PT0S", "parent": "57676", "parentSummary": "Puppet 8", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61bb63041baa2b0069ef30a1", "resolution": "Fixed", "resolutionDate": "2023-02-08T11:23:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Enable strict mode by setting strict default to error", "timeSpent": "PT0S", "updated": "2023-02-08T12:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "body": "From a workflow perspective, omitting the version ensures the *default* stream is installed rather than the highest versioned one.\u00a0 That is, to my mind, not fulfilling the spirit of the \"latest\" or the \"ensure\".", "created": "2023-01-24T11:00:00.000000"}, {"author": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "body": "Thanks for submitting this [~accountid:70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de] ", "created": "2023-01-31T14:39:00.000000"}], "components": [], "created": "2023-01-24T10:50:00.000000", "creator": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@29b9715a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lm0h:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "31/Jan/23"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_618587855_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 7.21.0*\n*Puppet Server Version: 7.12*\n*OS Name/Version: AlmaLinux 9*\n\nNVidia has a module stream named `latest` which I'd like to use.\u00a0 The documentation the `dnfmodule` provide indicates I should set the target stream under the `ensure` property.\u00a0 Which as you'd expect makes things a bit weird.\u00a0 Their repo contains a stream called `latest-dkms` which ends up getting targeted instead as the `ensure` is omitted.\n\n\u00a0\n\nDescribe steps to reproduce\u2026\n\nAdd yum repo : https://developer.download.nvidia.com/compute/cuda/repos/rhel$releasever/$basearch/\n\n```\n\npuppet apply -e \"\n\npackage {'nvidia-driver':\n\u00a0 ensure \u00a0 => 'latest',\n\u00a0 flavor \u00a0 => 'fm',\n\u00a0 provider => 'dnfmodule',\n}\"\n\ndnf module list\n\n```\n\n*Desired Behavior:*\n\nSome sort of way to target the stream named \"latest\"\n\n*Actual Behavior:*\n\nPlease take a moment and attach any relevant log output and/or manifests. This will help us immensely when troubleshooting the issue.\n\nExamples:\nRun puppet agent with --test --trace --debug\n\n```\n\nInfo: Using environment 'production'\nInfo: Applying configuration version '1674582424'\nDebug: Prefetching dnfmodule resources for package\nDebug: Executing: '/usr/bin/dnf --version'\nDebug: Executing: '/usr/bin/dnf module list -d 0 -e 1'\nDebug: Executing: '/usr/bin/dnf module list -d 0 -e 1'\nDebug: Executing: '/usr/bin/dnf module install -d 0 -e 1 -y nvidia-driver/fm'\nNotice: /Stage[main]/Main/Package[nvidia-driver]/ensure: created\nDebug: /Package[nvidia-driver]: The container Class[Main] will propagate my refresh event\nDebug: Class[Main]: The container Stage[main] will propagate my refresh event\nDebug: Finishing transaction 11940\nDebug: Storing state\nInfo: Creating state file /opt/puppetlabs/puppet/cache/state/state.yaml\nDebug: Pruned old state cache entries in 0.00 seconds\nDebug: Stored state in 0.00 seconds\nNotice: Applied catalog in 97.96 seconds\n\n```", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28778", "fixedVersions": [], "id": "28778", "issueType": "Bug", "key": "PUP-11724", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "resolution": "Duplicate", "resolutionDate": "2023-01-31T14:40:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Unable to target dnfmodule stream named `latest`", "timeSpent": "PT0S", "updated": "2023-01-31T14:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-01-23T14:56:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1b46a5a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lly1:"}], "description": "Puppet relies on the Concurrent::RubyThreadLocalVar class which was removed in 1.2.0, see https://github.com/ruby-concurrency/concurrent-ruby/issues/986#issuecomment-1400997040\n\nWe explicitly rely on the Ruby implementation when running on JRuby because of a bug, see PUP-9931 and https://github.com/puppetlabs/puppet/commit/9182bc3dd2576f409a6d01fb5c08d392670e90a2\n\nFor now we've pinned back to < 1.2 (PUP-11722) but we should look into not relying on a private class and remove our concurrent-ruby pin.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23570", "fixedVersions": [], "id": "23570", "issueType": "Bug", "key": "PUP-11723", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Revisit Concurrent::RubyThreadLocalVar", "timeSpent": "PT0S", "updated": "2023-01-25T10:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "[~accountid:63d40628f6e1b543161789a7] this currently breaks a lot if CI setups. Do you know if this will be shipped in Puppet 7.22 in the next couple of hours, or should we update Gemfiles to pin concurrent-ruby to 1.1.x?\n\nEdit: Will there also be a Puppet 6 release with the same? Otherwise we have to fix gemfiles anyways.", "created": "2023-01-24T08:14:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "We are going to ship 6.29.0 and 7.22.0 gem only releases", "created": "2023-01-24T10:30:00.000000"}], "components": [], "created": "2023-01-23T13:52:00.000000", "creator": "557058:8b915655-a6c3-4c09-9070-53484ff60ff3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6bc004b2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0llxt:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Updates puppet to require versions of concurrent-ruby gem prior to 1.2."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Jan/23"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3404894_*|*_10007_*:*_1_*:*_98409585_*|*_3_*:*_1_*:*_1118602_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2766"}], "description": "*Puppet Version: 7.x*\n*Puppet Server Version: N/A*\n*OS Name/Version: N/A*\n\nconcurrent-ruby 1.2.0 was just released and breaks running Puppet using gem/bundler.\n\nIt looks like puppet use a private class of this gem that got removed in:\n\nhttps://github.com/ruby-concurrency/concurrent-ruby/commit/30465396414e13290c3e1d8d26a0f2de2ebedc4c\n\n*Desired Behavior:*\n\nPuppet should work with concurrent-ruby 1.2.0\n\n*Actual Behavior:*\n\n{{romain@zappy ~/Projects/puppetlabs % git clone git@github.com:puppetlabs/puppet.git}}\n{{romain@zappy ~/Projects/puppetlabs % cd puppet}}\n{{romain@zappy ~/Projects/puppetlabs/puppet %\u00a0bundle install}}\n{{romain@zappy ~/Projects/puppetlabs/puppet %\u00a0bundle show concurrent-ruby}}\n{{/usr/home/romain/.vendor/ruby/3.0/gems/concurrent-ruby-1.2.0}}\n{{romain@zappy ~/Projects/puppetlabs/puppet % bundle exec bin/puppet}}\n{{bundler: failed to load command: bin/puppet (bin/puppet)}}\n{{/usr/home/romain/Projects/puppetlabs/puppet/lib/puppet/thread_local.rb:6:in `<top (required)>': uninitialized constant Concurrent::RubyThreadLocalVar (NameError)}}\n{{Did you mean? \u00a0Concurrent::RubyThreadPoolExecutor}}\n{{\u00a0 \u00a0 from /usr/home/romain/Projects/puppetlabs/puppet/lib/puppet/context.rb:1:in `require_relative'}}\n{{\u00a0 \u00a0 from /usr/home/romain/Projects/puppetlabs/puppet/lib/puppet/context.rb:1:in `<top (required)>'}}\n{{\u00a0 \u00a0 from /usr/home/romain/Projects/puppetlabs/puppet/lib/puppet.rb:45:in `require_relative'}}\n{{\u00a0 \u00a0 from /usr/home/romain/Projects/puppetlabs/puppet/lib/puppet.rb:45:in `<module:Puppet>'}}\n{{\u00a0 \u00a0 from /usr/home/romain/Projects/puppetlabs/puppet/lib/puppet.rb:42:in `<top (required)>'}}\n{{\u00a0 \u00a0 from /usr/home/romain/Projects/puppetlabs/puppet/lib/puppet/util/command_line.rb:12:in `require_relative'}}\n{{\u00a0 \u00a0 from /usr/home/romain/Projects/puppetlabs/puppet/lib/puppet/util/command_line.rb:12:in `<top (required)>'}}\n{{\u00a0 \u00a0 from bin/puppet:4:in `require'}}\n{{\u00a0 \u00a0 from bin/puppet:4:in `<top (required)>'}}\n{{\u00a0 \u00a0 from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/lib/bundler/cli/exec.rb:58:in `load'}}\n{{\u00a0 \u00a0 from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/lib/bundler/cli/exec.rb:58:in `kernel_load'}}\n{{\u00a0 \u00a0 from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/lib/bundler/cli/exec.rb:23:in `run'}}\n{{\u00a0 \u00a0 from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/lib/bundler/cli.rb:483:in `exec'}}\n{{\u00a0 \u00a0 from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'}}\n{{\u00a0 \u00a0 from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'}}\n{{\u00a0 \u00a0 from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'}}\n{{\u00a0 \u00a0 from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/lib/bundler/cli.rb:31:in `dispatch'}}\n{{\u00a0 \u00a0 from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'}}\n{{\u00a0 \u00a0 from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/lib/bundler/cli.rb:25:in `start'}}\n{{\u00a0 \u00a0 from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/exe/bundle:48:in `block in <top (required)>'}}\n{{\u00a0 \u00a0 from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/lib/bundler/friendly_errors.rb:103:in `with_friendly_errors'}}\n{{\u00a0 \u00a0 from /usr/home/romain/.vendor/ruby/3.0/gems/bundler-2.3.12/exe/bundle:36:in `<top (required)>'}}\n{{\u00a0 \u00a0 from /usr/local/bin/bundle:25:in `load'}}\n{{\u00a0 \u00a0 from /usr/local/bin/bundle:25:in `<main>'}}\n\n*Workaround:*\n\nAdd this line to the Gemfile to use the previous version of concurrent-ruby :\n\n{{gem 'concurrent-ruby', '< 1.2.0'}}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22385", "fixedVersions": ["PUP 6.29.0", "PUP 7.22.0", "PUP 7.23.0"], "id": "22385", "issueType": "Bug", "key": "PUP-11722", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8b915655-a6c3-4c09-9070-53484ff60ff3", "resolution": "Fixed", "resolutionDate": "2023-01-24T18:27:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "concurrent-ruby 1.2.0 breaks puppet", "timeSpent": "PT0S", "updated": "2023-02-10T10:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:89116718-adb8-45d4-bcd9-1483be79f43a", "body": "Nevermind, was a problem in my environment.", "created": "2023-01-23T07:41:00.000000"}], "components": ["Types and Providers"], "created": "2023-01-23T05:08:00.000000", "creator": "557058:89116718-adb8-45d4-bcd9-1483be79f43a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Windows package provider is able to install from EXE installer."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5fde63f0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0llc1:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_726005667_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 7.21*\n*Puppet Server Version: 4.0.1*\n*OS Name/Version: Windows Server 2016+*\n\nWhile trying to install from an \"exe\" installer, the package provider concatenates the \"source\" path with the given \"install_options\" and tries to execute the result as command. Example:\n{code:java}\n \u00a0package { 'Apache Tomcat 7.0 Tomcat7 (remove only)':\n\u00a0 \u00a0 alias \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 => 'Tomcat7',\n\u00a0 \u00a0 ensure \u00a0 \u00a0 \u00a0 \u00a0 \u00a0=> installed,\n\u00a0 \u00a0 source \u00a0 \u00a0 \u00a0 \u00a0 \u00a0=> 'C:\\PuppetStore\\Tomcat\\apache-tomcat-7.0.109.exe',\n\u00a0 \u00a0 install_options => ['/S'],\n\u00a0 }{code}\nresults in\n{code:java}\nDebug: Executing: 'C:\\PuppetStore\\Tomcat\\apache-tomcat-7.0.109.exe /S'\nError: Failed to install: \u00a0The system cannot find the file specified.\n{code}\nI think this should be\u00a0\n{code:java}\n'C:\\PuppetStore\\Tomcat\\apache-tomcat-7.0.109.exe' '/S'{code}\nWorkaround would be to use an \"exec\" resource.\n\n*Desired Behavior:*\n\nPackage should be installed.\n\n*Actual Behavior:*\n\nSee above.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23569", "fixedVersions": [], "id": "23569", "issueType": "Bug", "key": "PUP-11720", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Critical", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:89116718-adb8-45d4-bcd9-1483be79f43a", "resolution": "Declined", "resolutionDate": "2023-01-31T14:48:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Package provider \"windows\" concatenates \"source\" and \"install_options\" to one command", "timeSpent": "PT0S", "updated": "2023-01-31T14:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Hiera & Lookup"], "created": "2023-01-18T09:27:00.000000", "creator": "63d2dfc6f386bda5dcac1ef5", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@75c9c0fe"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lkqx:"}], "description": "*Puppet Version: 7.20*\n*Puppet Server Version:*\n*OS Name/Version:*\n\nThe function {color:#FF0000}ModuleDataProvider::validate_data_hash{color} is supposed to prune all hiera keys that are not prefixed with the configured module_name. It does not. Instead it returns the hash that it was called with unchanged. All pruning is done on a cloned version of the supplied hash that\u2019s discarded.\n\nhttps://github.com/puppetlabs/puppet/blob/main/lib/puppet/pops/lookup/module_data_provider.rb#L46\n\n*Desired Behavior:*\n # It should prune all hiera keys that are not prefixed with the configured module name.\n # It should include the name of any offending key(s) in the warning message that it prints. The warning message as currently implemented doesn't provide the developer with any meaningful actionable information.\n\n[https://github.com/puppetlabs/puppet/blob/main/lib/puppet/pops/lookup/module_data_provider.rb#L54] should be modified to be something like:\n{color:#FF0000}Puppet.warning(\"Module '#\\{module_name}': #\\{msg}, key=#\\{k}\"){color} to help identify the offending key(s).\n\n*Actual Behavior:*\n\nHiera keys not prefixed with the module name are not pruned from the supplied hash. No warning advising on the offending key(s) is printed.\n\n{*}Fix{*}:\n\nDelete this line and the pruned hash is returned:\nhttps://github.com/puppetlabs/puppet/blob/main/lib/puppet/pops/lookup/module_data_provider.rb#L57", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27747", "fixedVersions": [], "id": "27747", "issueType": "Bug", "key": "PUP-11719", "labels": ["needs-validation"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "63d2dfc6f386bda5dcac1ef5", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "ModuleDataProvider::validate_data_hash does not prune hash as advertised", "timeSpent": "PT0S", "updated": "2024-03-21T14:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-01-17T10:36:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2682a34a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4664"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3fk:i0bu3u9sz"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}], "description": "This is a follow-on to PUP-11649 and  PUP-11716. Ruby 2.7 will be EOL before Puppet 8 ships, so we should more aggressively prune the list of supported ruby versions.\n\nOnce  PUP-11716 is complete, we should be able to remove special cases in code and tests for older ruby versions like\n\n{noformat}\nGemfile:  gem 'vcr', RUBY_VERSION.to_f >= 3.2 ? '~> 6.1' : '~> 5.0', require: false\nGemfile:  gem 'webrick', '~> 1.7', require: false if RUBY_VERSION.to_f >= 3.0\nbenchmarks/catalog_memory/benchmarker.rb:RUBYVER_ARRAY = RUBY_VERSION.split(\".\").collect {|s| s.to_i }\nlib/puppet.rb:if !defined?(JRUBY_VERSION) && Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new(\"2.7.0\")\nlib/puppet.rb:  raise LoadError, \"Puppet #{Puppet.version} requires Ruby 2.7.0 or greater, found Ruby #{RUBY_VERSION.dup}.\"\nlib/puppet.rb:Puppet::OLDEST_RECOMMENDED_RUBY_VERSION = '2.7.0'\nlib/puppet.rb:  if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new(Puppet::OLDEST_RECOMMENDED_RUBY_VERSION)\nlib/puppet.rb:    Puppet.deprecation_warning(_(\"Support for ruby version %{version} is deprecated and will be removed in a future release. See https://puppet.com/docs/puppet/latest/system_requirements.html for a list of supported ruby versions.\") % { version: RUBY_VERSION })\nlib/puppet/application.rb:      'ruby_version'   => RUBY_VERSION,\nlib/puppet/defaults.rb:      :default => \"Puppet/#{Puppet.version} Ruby/#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL} (#{RUBY_PLATFORM})\",\nlib/puppet/util.rb:  if RUBY_VERSION >= \"2.6\"\nlib/puppet/util/monkey_patches.rb:if RUBY_VERSION.to_f < 3.0\nspec/unit/http/factory_spec.rb:    it \"sets the minimum version to TLS 1.0\", if: RUBY_VERSION.to_f >= 2.5 do\nspec/unit/network/http/connection_spec.rb:      puppet_ua = \"Puppet/#{Puppet.version} Ruby/#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL} (#{RUBY_PLATFORM})\"\nspec/unit/puppet_spec.rb:  context \"Puppet::OLDEST_RECOMMENDED_RUBY_VERSION\" do\nspec/unit/puppet_spec.rb:      expect(Puppet::OLDEST_RECOMMENDED_RUBY_VERSION).not_to be_nil\nspec/unit/puppet_spec.rb:      expect(Puppet::OLDEST_RECOMMENDED_RUBY_VERSION).to be_a_kind_of(String)\nspec/unit/puppet_spec.rb:      expect(SemanticPuppet::Version).to be_valid(Puppet::OLDEST_RECOMMENDED_RUBY_VERSION)\nspec/unit/reports/store_spec.rb:      if RUBY_VERSION < \"3.0\"\nspec/unit/util_spec.rb:      :if => Puppet::Util::Platform.windows? && RUBY_VERSION.to_f < 3 do\n{noformat}\n\nAlso double check lib/puppet/util/monkey_patches.rb to see if any code is no longer relevant, especially if MRI 3.1 requires openssl 1.1.1 or later", "epicLinkSummary": "Puppet 8", "estimate": "PT0S", "externalId": "21489", "fixedVersions": [], "id": "21489", "issueType": "Task", "key": "PUP-11718", "labels": [], "originalEstimate": "PT0S", "parent": "57676", "parentSummary": "Puppet 8", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Drop support for ruby < 3.2", "timeSpent": "PT0S", "updated": "2023-03-09T11:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "body": "The PR looks like it also protects [{{fact()}}|https://github.com/puppetlabs/puppetlabs-stdlib/blob/main/lib/puppet/functions/fact.rb] from breaking, but maybe worth a quick check.", "created": "2023-01-18T17:42:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Looks like it's ok:\n\n{noformat}\n\u276f bx puppet --version\n7.21.0\n\u276f bx puppet apply -e 'notice(fact(\"ruby.version\"))' --no-include_legacy_facts\nNotice: Scope(Class[main]): 2.7.6\nNotice: Compiled catalog for localhost in environment production in 0.01 seconds\nNotice: Applied catalog in 0.04 seconds\n{noformat}\n\nThe dig function is a little unique in that it requires a {{Collection}} parameter, so it triggers the issue. I'm not sure how many user function do that level of type checking, but I'm sure someone is.", "created": "2023-01-18T17:53:00.000000"}], "components": [], "created": "2023-01-16T22:36:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4c147fdb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11658"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3fk:i0bkl"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Catalog compilation no longer fails when using the \"dig\" function and excluding legacy facts."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Jan/23"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_84002081_*|*_1_*:*_1_*:*_107707_*|*_10007_*:*_1_*:*_62306763_*|*_3_*:*_1_*:*_2300403_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_149606892"}], "description": "If legacy facts are disabled (PUP-11662), then the {{$facts}} variable will refer to an instance of {{{}Facter::FactCollection{}}}, which subclasses {{{}Hash{}}}, rather than a {{Hash}} instance. See FACT-3179.\n\nWhen attempting to dig into facts, e.g. {{{}$facts.dig('..'){}}}, then the dig function will fail, because the [function expects a {{Collection}}|https://github.com/puppetlabs/puppet/blob/7f96b47f8419ad95509552f75690fad957fb97a9/lib/puppet/functions/dig.rb#L32] not a {{{}Runtime{}}}:\n{noformat}$ puppet apply -e '$facts.dig(\"ruby\")' --no-include_legacy_facts\nError: Evaluation Error: Error while evaluating a Method call, 'dig' parameter 'data' expects a value of type Undef or Collection, got Runtime (line: 1, column: 11) on node localhost\n{noformat}", "epicLinkSummary": "Puppet Maintenance CY23 Q1", "estimate": "PT0S", "externalId": "24614", "fixedVersions": ["PUP 7.22.0", "PUP 7.23.0"], "id": "24614", "issueType": "Task", "key": "PUP-11717", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": "21423", "parentSummary": "Puppet Maintenance CY23 Q1", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2023-01-20T09:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Can't \"dig\" into facts when legacy facts are excluded", "timeSpent": "PT0S", "updated": "2023-02-01T09:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-01-16T18:23:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@66a89afc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4664"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3fk:i0bu3u9syi"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}], "description": "In PUP-11649, we're dropping support for MRI Ruby < 2.7, however, we have to keep support for JRuby 9.2 (which implements 2.5.x language features) until we have puppetserver builds with JRuby 9.4.\n\nFrom [https://www.jruby.org/2023/03/08/jruby-9-4-2-0.html|https://www.jruby.org/2023/03/08/jruby-9-4-2-0.html]\n\n{quote}JRuby 9.4.x targets Ruby 3.1 compatibility.{quote}\n\nUpdate OLDEST_RECOMMENDED_RUBY_VERSION to 3.1.0\nRemove the !defined?(JRUBY_VERSION) in lib/puppet.rb\nUpdate gemspec and ext/project_data.yaml to require ruby >= 3.1.0\nUpdate rspec, mend, checks in github actions to use ruby-version 3.1\nUpdate branch protection rules", "epicLinkSummary": "Puppet 8", "estimate": "PT0S", "externalId": "22383", "fixedVersions": [], "id": "22383", "issueType": "Task", "key": "PUP-11716", "labels": [], "originalEstimate": "PT0S", "parent": "57676", "parentSummary": "Puppet 8", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Require JRuby 9.4 and MRI 3.1", "timeSpent": "PT0S", "updated": "2023-03-14T11:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "body": "[~accountid:70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de] we generally advise people to not {{deploy --all}} with r10k as the control repo often has several branches that would be very time consuming to deploy. At this time we don't have many people to work these issues, so unfortunately we will be closing this ticket for now.", "created": "2023-01-31T15:02:00.000000"}], "components": ["Types and Providers"], "created": "2023-01-13T14:20:00.000000", "creator": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2f66b09"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ljsx:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "31/Jan/23"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1557722591_*|*_6_*:*_1_*:*_0"}], "description": "When deploying multiple environments from `r10k` it is unclear which ones are updated and need the types regenerated.\u00a0 Because each environment must be specified one at a time, there is some trivial repetition in in rebuilding the types.\n\nIf `puppet generate types --all-environments` was available it would simplify the workflow greatly and result in an overall better user experience.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28776", "fixedVersions": [], "id": "28776", "issueType": "Improvement", "key": "PUP-11714", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "resolution": "Won't Do", "resolutionDate": "2023-01-31T15:02:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "puppet generate types --all-environments would be nice", "timeSpent": "PT0S", "updated": "2023-01-31T15:02:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Closer:\n\n{noformat}\n\u276f bx rake ci:test:setup SHA=0391a1e7936dfe11cba3bceb6c9abc66a34dacc3 HOSTS=redhat7-64ma SERVER_VERSION=7.9.4.SNAPSHOT.2023.01.18T0732\n\u276f bx beaker exec tests\n...\n              - Test Case Summary for suite 'tests' -\n       Total Suite Time: 5917.19 seconds\n      Average Test Time: 25.73 seconds\n              Attempted: 230\n                 Passed: 184\n                 Failed: 0\n                Errored: 2\n                Skipped: 43\n                Pending: 1\n                  Total: 230\n\n      - Specific Test Case Status -\n        \nFailed Tests Cases:\nErrored Tests Cases:\n  Test Case tests/agent/agent_fails_with_unknown_resource.rb reported: #<RuntimeError: PuppetAcceptance::DSL::Helpers.with_puppet_running_on failed (check backtrace for location) because: Host 'older-defendant.delivery.puppetlabs.net' exited with 2 running:\n puppet agent -t --environment tmp_hstjmk7p\nLast 10 lines of output were:\n        Info: Using environment 'tmp_hstjmk7p'\n        Info: Retrieving pluginfacts\n        Notice: /File[/opt/puppetlabs/puppet/cache/facts.d]/mode: mode changed '0755' to '0750'\n        Info: Retrieving plugin\n        Info: Retrieving locales\n        Info: Caching catalog for older-defendant.delivery.puppetlabs.net\n        Info: Applying configuration version '1674239756'\n        Notice: hello\n        Notice: /Stage[main]/Main/Node[default]/Foocreateresource[blah]/Notify[blah]/message: defined 'message' as 'hello'\n        Notice: Applied catalog in 0.05 seconds\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/beaker-4.38.1/lib/beaker/host.rb:396:in `exec'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/beaker-4.38.1/lib/beaker/dsl/helpers/host_helpers.rb:83:in `block in on'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/beaker-4.38.1/lib/beaker/shared/host_manager.rb:130:in `run_block_on'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/beaker-4.38.1/lib/beaker/dsl/patterns.rb:37:in `block_on'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/beaker-4.38.1/lib/beaker/dsl/helpers/host_helpers.rb:63:in `on'\ntests/agent/agent_fails_with_unknown_resource.rb:71:in `block (5 levels) in run_test'\ntests/agent/agent_fails_with_unknown_resource.rb:66:in `each'\ntests/agent/agent_fails_with_unknown_resource.rb:66:in `block (4 levels) in run_test'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/beaker-puppet-1.29.0/lib/beaker-puppet/helpers/puppet_helpers.rb:209:in `with_puppet_running_on'\ntests/agent/agent_fails_with_unknown_resource.rb:65:in `block (3 levels) in run_test'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/beaker-4.38.1/lib/beaker/dsl/structure.rb:43:in `block in step'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/beaker-4.38.1/lib/beaker/logger.rb:239:in `with_indent'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/beaker-4.38.1/lib/beaker/dsl/structure.rb:42:in `step'\ntests/agent/agent_fails_with_unknown_resource.rb:13:in `block (2 levels) in run_test'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/beaker-4.38.1/lib/beaker/dsl/structure.rb:136:in `block in test_name'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/beaker-4.38.1/lib/beaker/logger.rb:239:in `with_indent'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/beaker-4.38.1/lib/beaker/dsl/structure.rb:135:in `test_name'\ntests/agent/agent_fails_with_unknown_resource.rb:1:in `block in run_test'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/beaker-4.38.1/lib/beaker/test_case.rb:133:in `eval'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/beaker-4.38.1/lib/beaker/test_case.rb:133:in `block in run_test'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/2.7.0/benchmark.rb:308:in `realtime'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/beaker-4.38.1/lib/beaker/test_case.rb:130:in `run_test'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/beaker-4.38.1/lib/beaker/test_suite.rb:66:in `block in run'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/beaker-4.38.1/lib/beaker/test_suite.rb:63:in `each'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/beaker-4.38.1/lib/beaker/test_suite.rb:63:in `run'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/beaker-4.38.1/lib/beaker/test_suite.rb:115:in `run_and_raise_on_failure'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/beaker-4.38.1/lib/beaker/cli.rb:192:in `run_suite'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/beaker-4.38.1/lib/beaker/cli.rb:118:in `execute!'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/beaker-4.38.1/lib/beaker/subcommand.rb:199:in `exec'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/thor-1.2.1/lib/thor/base.rb:485:in `start'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/beaker-4.38.1/bin/beaker:7:in `<top (required)>'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/bin/beaker:23:in `load'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/bin/beaker:23:in `<top (required)>'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli/exec.rb:58:in `load'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli/exec.rb:58:in `kernel_load'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli/exec.rb:23:in `run'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli.rb:486:in `exec'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli.rb:31:in `dispatch'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli.rb:25:in `start'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/exe/bundle:48:in `block in <top (required)>'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/friendly_errors.rb:120:in `with_friendly_errors'\n/home/josh/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/exe/bundle:36:in `<top (required)>'\n/home/josh/.rbenv/versions/2.7.6/bin/bundle:23:in `load'\n/home/josh/.rbenv/versions/2.7.6/bin/bundle:23:in `<main>'\n>\n    Test line: tests/agent/agent_fails_with_unknown_resource.rb:65:in `block (3 levels) in run_test'\n  Test Case tests/pluginsync/4420_pluginfacts_should_be_resolvable_on_agent.rb reported: #<RuntimeError: PuppetAcceptance::DSL::Helpers.with_puppet_running_on failed (check backtrace for location) because: Host 'older-defendant.delivery.puppetlabs.net' exited with 1 running:\n puppet agent -t --pluginfactdest /tmp/facts.d.X1CAug\nLast 10 lines of output were:\n        Notice: Run of Puppet configuration client already in progress", "created": "2023-01-20T12:24:00.000000"}], "components": [], "created": "2023-01-13T12:01:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2eda821c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4664"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ll4k:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_8084649_*|*_1_*:*_1_*:*_104723_*|*_10007_*:*_1_*:*_5780396_*|*_3_*:*_2_*:*_428397603_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_176194035_*|*_10005_*:*_1_*:*_6771301"}], "description": "The following tests fail on RHEL7 due to legacy facts not being sent anymore:\n\n{noformat}\ntests/catalog_with_binary_data.rb\ntests/direct_puppet/supports_utf8.rb\ntests/reports/corrective_change_new_resource.rb\ntests/reports/corrective_change_via_puppet.rb\ntests/reports/corrective_change_outside_puppet.rb\ntests/parser_functions/hiera_in_templates.rb\ntests/resource/file/ticket_6448_file_with_utf8_source.rb\n{noformat}\n\nThese test fail due to the selinux issue (PA-4844)\n\n{noformat}\ntests/agent/agent_fails_with_unknown_resource.rb\ntests/direct_puppet/cached_catalog_remediate_local_drift.rb\n{noformat}\n\nThese tests fail due to the ruby-shadow issue (PA-4843)\n\n{noformat}\ntests/resource/user/should_create_with_expiry_absent.rb\ntests/resource/user/should_purge.rb\ntests/resource/user/should_create_modify_with_password.rb\ntests/resource/user/should_manage_purge_ssh_keys.rb\ntests/resource/user/should_modify_when_not_managing_home.rb\ntests/ticket_6857_password-disclosure-when-changing-a-users-password.rb\n{noformat}\n\nTest tests fail for reasons still TBD:\n\n{noformat}\ntests/lookup/merge_strategies.rb\ntests/lookup/hiera3_custom_backend.rb\ntests/lookup/v3_config_and_data.rb\ntests/lookup/config3_interpolation.rb\ntests/i18n/translation_fallback.rb\ntests/reports/submission.rb\ntests/ticket_13948_lib_dir_hook_should_be_called_on_initialization.rb\ntests/ticket_6857_password-disclosure-when-changing-a-users-password.rb\n{noformat}", "epicLinkSummary": "Puppet 8", "estimate": "PT0S", "externalId": "26765", "fixedVersions": ["PUP 8.0.0"], "id": "26765", "issueType": "Task", "key": "PUP-11713", "labels": [], "originalEstimate": "PT0S", "parent": "57676", "parentSummary": "Puppet 8", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2023-01-20T17:43:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update acceptance tests for Ruby 3.2", "timeSpent": "PT0S", "updated": "2023-01-20T17:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "By default the \"age\" parameter will compare the \"atime\" (last accessed time) of the file. You probably want to use \"type => mtime\" to remove files that haven't been modified in more than 1 week.\n\nIf some other process reads the agentdebug*txt files, then the atime will be updated and the files may never be tidied.\n\nWe were able to reproduce the problem where files aren't being tidied and adding the \"type => mtime\" parameter resolved the issue, so I'm going to close this. Please reopen if we're missing something along with steps to reproduce.\u00a0", "created": "2023-02-22T15:28:00.000000"}], "components": ["Types and Providers"], "created": "2023-01-12T02:28:00.000000", "creator": "6220db614160640069c7133a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7d0beb73"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lgu9:"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "50471"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Feb/23"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3589266639_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:*\u00a0 6.26.0\n\n{*}{{*}}{*}Puppet Server Version:{*}\u00a0 2019.8.10\n\n{*}{{*}}{*}OS Name/Version:{*} RHEL 7\n\nThe documentation for the\u00a0{{age}}\u00a0parameter for the\u00a0{{tidy}}\u00a0type states:\n{quote}Tidy files whose age is\u00a0*equal to or greater*\u00a0than the specified time. You can choose seconds, minutes, hours, days, or weeks by specifying the first letter of any of those words (for example, \u20181w\u2019 represents one week).\n\nDocs:\u00a0[https://puppet.com/docs/puppet/7.7/types/tidy.html#tidy-attribute-age]\n\n{*}Specifying 0 will remove all files{*}.\n{quote}\n*Desired Behavior:*\n\u00a0\nSetting\u00a0*age=1w* removes all files more than 1 week old\n*Actual Behavior:*\n\u00a0\nIt's not removing any files, details of the testing below\n\u00a0\n{code:java}[root@pepm reports]# pwd\n/tmp/comply/assessors/4.19.0/Assessor-CLI/reports\n\n[root@pepm reports]# ls -lrt\ntotal 3904\n-rw-r--r-- 1 root root 995383 Dec \u00a01 07:23 agentdebugoutput.txt\n-rw-r--r-- 1 root root 995383 Dec \u00a01 07:23 agentdebugoutput4.txt\n-rw-r--r-- 1 root root 995383 Dec \u00a01 07:23 agentdebugoutput3.txt\n-rw-r--r-- 1 root root 995383 Dec \u00a01 07:23 agentdebugoutput2.txt  {code}\n\u00a0\n{code:java}[root@pepm reports]# cat ~/code/newtidy.pp\nclass basic_tidy {\n\u00a0 \u00a0 \u00a0 \u00a0 tidy { 'delete-assessors':\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 path \u00a0 \u00a0=> '/tmp/comply/assessors',\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 age \u00a0 \u00a0 => '1w',\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 recurse => true,\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 matches => [ 'agentdebugoutput*.txt' ],\n\u00a0 \u00a0 \u00a0 \u00a0 }\n}include basic_tidy {code}\n\u00a0\n{code:java}[root@pepm reports]# puppet apply ~/code/newtidy.pp\nNotice: Compiled catalog for pepm.puppetdebug.vlan in environment production in 0.14 seconds\nNotice: Applied catalog in 0.30 seconds {code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20402", "fixedVersions": [], "id": "20402", "issueType": "Bug", "key": "PUP-11712", "labels": ["jira_escalated", "needs-validation"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6220db614160640069c7133a", "resolution": "Incomplete", "resolutionDate": "2023-02-22T15:29:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Resource type TIDY is not honouring the parameter value from age", "timeSpent": "PT0S", "updated": "2023-02-22T15:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "body": "Hi [~accountid:70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de],\n\nYou could do this by running `puppet generate types --environmentpath /etc/puppetlabs/code/environments --environment test`\n\nPlease let us know if that doesn't work as expected.", "created": "2023-01-10T14:05:00.000000"}, {"author": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "body": "Can you add those flags to `\u2013help` as they are both missing....", "created": "2023-01-10T14:17:00.000000"}], "components": ["Type System"], "created": "2023-01-10T13:19:00.000000", "creator": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@ebdd79b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lfkp:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Jan/23"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2782383_*|*_5_*:*_1_*:*_0"}], "description": "When running `puppet generate types --environment /etc/puppetlabs/code/environments/test` I get an error:\n\n\u00a0\n\n{{Could not find a directory environment named '/etc/puppetlabs/code/environments/test'}}\n\n{{}}\n\nIt would be helpful if I could use full paths.{{{}{}}}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24613", "fixedVersions": [], "id": "24613", "issueType": "Improvement", "key": "PUP-11700", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "resolution": "Done", "resolutionDate": "2023-01-10T14:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "puppet generate types --environment doesn't accept full path", "timeSpent": "PT0S", "updated": "2023-01-10T14:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Making note of incompatibilities:\n\n1. {{EC#public_key=}} was removed as keys are now immutable. From the docs, \"Feature removed without replacement.*\u00a0Keys are now immutable once created - all components must be specified at once.\"\n\n2. Previously, the public key didn't have to be set on the {{OpenSSL::X509::CertificateRequest}} before signing.\n", "created": "2023-01-10T00:45:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed https://github.com/puppetlabs/puppet/actions/runs/3907182153", "created": "2023-01-12T17:58:00.000000"}], "components": [], "created": "2023-01-09T16:57:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@56fd7047"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4664"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3fk:i00nc"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1454760_*|*_1_*:*_1_*:*_76329561_*|*_10007_*:*_1_*:*_58222583_*|*_3_*:*_1_*:*_415449_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_126405937"}], "description": "On Ubuntu 22.04:\n\n{noformat}\n# apt-get install autoconf bison patch build-essential rustc libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libgmp-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev uuid-dev\n# git clone https://github.com/rbenv/ruby-build\n# cd ruby-build\n# /ruby-build 3.2.0 /usr/local\n# /usr/local/bin/ruby --version\nruby 3.2.0 (2022-12-25 revision a528908271) [x86_64-linux]\n# /usr/local/bin/gem install --no-document bundler\n\n# cd ~\n# git clone https://github.com/puppetlabs/puppet\n# cd puppet\n# export FACTER_LOCATION=https://github.com/puppetlabs/facter\n# /usr/local/bin/bundle install\n# /usr/local/bin/bundle exec rspec spec\n...\nrspec ./spec/unit/application/ssl_spec.rb:112 # Puppet::Application::Ssl when submitting a CSR generates an EC private key\nrspec ./spec/unit/file_system_spec.rb:816 # Puppet::FileSystem symlink unlink should raise Errno::EACCESS when trying to delete a file whose parent directory does not allow execute/traverse\nrspec ./spec/unit/file_system_spec.rb:968 # Puppet::FileSystem #replace_file when creating on posix raises EACCES if we do not have permission\nrspec ./spec/unit/ssl/certificate_request_spec.rb:314 # Puppet::SSL::CertificateRequest when generating should use SHA1 to sign the csr when SHA256 isn't available\nrspec ./spec/unit/ssl/certificate_request_spec.rb:323 # Puppet::SSL::CertificateRequest when generating should use SHA512 to sign the csr when SHA256 and SHA1 aren't available\nrspec ./spec/unit/ssl/certificate_request_spec.rb:334 # Puppet::SSL::CertificateRequest when generating should use SHA384 to sign the csr when SHA256/SHA1/SHA512 aren't available\nrspec ./spec/unit/ssl/certificate_request_spec.rb:346 # Puppet::SSL::CertificateRequest when generating should use SHA224 to sign the csr when SHA256/SHA1/SHA512/SHA384 aren't available\nrspec ./spec/unit/ssl/certificate_request_spec.rb:196 # Puppet::SSL::CertificateRequest when generating with custom CSR attributes raises an error if an attribute cannot be created\nrspec ./spec/unit/ssl/certificate_request_spec.rb:270 # Puppet::SSL::CertificateRequest when generating with extension requests raises an error if the OID could not be created\nrspec ./spec/unit/ssl/ssl_provider_spec.rb:459 # Puppet::SSL::SSLProvider when creating an ssl context with client certs raises if root CA's isCA basic constraint is false\nrspec ./spec/unit/ssl/ssl_provider_spec.rb:469 # Puppet::SSL::SSLProvider when creating an ssl context with client certs raises if intermediate CA's isCA basic constraint is false\nrspec ./spec/unit/x509/cert_provider_spec.rb:279 # Puppet::X509::CertProvider when loading private keys using RSA raises without a password\nrspec ./spec/unit/x509/cert_provider_spec.rb:314 # Puppet::X509::CertProvider when loading private keys using EC raises without a password\nrspec ./spec/unit/x509/pem_store_spec.rb:66 # Puppet::X509::PemStore loading raises EACCES if the file is unreadable\nrspec ./spec/unit/x509/pem_store_spec.rb:121 # Puppet::X509::PemStore saving raises EACCES if the file is unwritable\nrspec ./spec/unit/x509/pem_store_spec.rb:152 # Puppet::X509::PemStore deleting raises EACCES if the file is undeletable\n{noformat}", "epicLinkSummary": "Puppet 8", "estimate": "PT0S", "externalId": "25707", "fixedVersions": ["PUP 8.0.0"], "id": "25707", "issueType": "Bug", "key": "PUP-11699", "labels": [], "originalEstimate": "PT0S", "parent": "57676", "parentSummary": "Puppet 8", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2023-01-12T17:58:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "RSpec test failures when using Ruby 3.2 & OpenSSL 3", "timeSpent": "PT0S", "updated": "2023-01-12T17:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "My PR passed the GH action, but then the action failed with:\n\n{noformat}\n  1) Puppet::Util::Windows::Registry#values when reading values should return REG_MULTI_SZ values\n     Failure/Error: expect(written).to eq(pair[:value])\n       expected: [\"string1\", \"string2\"]\n            got: [\"string1\", \"string2\", \"\u0100\"]\n       (compared using ==)\n     # ./spec/integration/util/windows/registry_spec.rb:202:in `block (6 levels) in <top (required)>'\n     # ./spec/integration/util/windows/registry_spec.rb:193:in `block (5 levels) in <top (required)>'\n     # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n     # util/rspec_runner:44:in `run'\n     # util/rspec_runner:59:in `<main>'\nFinished in 2 minutes 20.2 seconds (files took 51.18 seconds to load)\n{noformat}\n\nRekicking to see if it's a transient", "created": "2023-01-13T13:23:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed in https://github.com/puppetlabs/puppet/actions/runs/3913312014/jobs/6691960769", "created": "2023-01-13T14:28:00.000000"}], "components": [], "created": "2023-01-09T14:53:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@54a7fda5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4664"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ldyc:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_9833471_*|*_1_*:*_1_*:*_7510732_*|*_10007_*:*_1_*:*_62281324_*|*_3_*:*_1_*:*_112988_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_204534704_*|*_10005_*:*_2_*:*_59860443"}], "description": "This ticket is blocked on PUP-11699, to ensure rspec tests pass when using Ruby 3.2 and OpenSSL 3.0 on Ubuntu.\n\nFor this ticket, add ruby 3.2.0 to the rspec GH action, similar to what was done in https://github.com/puppetlabs/facter/commit/335d8757bf4bad08d1194a595108382b1a39bd91\n\nNote the setup-ruby action will automatically install OpenSSL3 when using Ruby 3.2, see https://github.com/ruby/setup-ruby/blob/319066216501fbd5e2d568f14b7d68c19fb67a5d/windows.js#L107-L111\n\nThere are likely some Windows-specific rspec failures when running Ruby 3.2 and OpenSSL, which will need to be fixed.\n\n{noformat}\nC:\\Users\\Administrator\\puppet>git rev-parse HEAD\n178ff2e2e0508edd90b577b0d79cbe55f172da1c\n\nC:\\Users\\Administrator\\puppet>bundle exec rspec spec\n...\n 1) apply http report processor rejects an HTTPS report server whose root cert is not the puppet CA\n     Failure/Error:\n       expect {\n         apply.command_line.args = ['-e', 'notify { \"hi\": }']\n         apply.run\n       }.to exit_with(0)\n        .and output(/Applied catalog/).to_stdout\n        .and output(/Report processor failed: certificate verify failed \\[self signed certificate in certificate chain for CN=Unknown CA\\]/).to_stderr\n\n       expected block to output /Report processor failed: certificate verify failed \\[self signed certificate in certificate chain for CN=Unknown CA\\]/ to stderr, but output \"\\e[1;31mError: Report processor failed: certificate verify failed [self-signed certificate in certificate chain for CN=Unknown CA]\\e[0m\\n\"\n     # ./spec/integration/application/apply_spec.rb:627:in `block (4 levels) in <top (required)>'\n     # ./spec/lib/puppet_spec/https.rb:81:in `block in start_server'\n     # ./spec/lib/puppet_spec/https.rb:41:in `pipe'\n     # ./spec/lib/puppet_spec/https.rb:41:in `start_server'\n     # ./spec/integration/application/apply_spec.rb:622:in `block (3 levels) in <top (required)>'\n     # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n\n  2) Puppet::HTTP::Client when verifying an HTTPS server raises if the server's CA is unknown\n     Failure/Error:\n       expect {\n         client.get(URI(\"https://127.0.0.1:#{port}\"), options: {ssl_context: alt_context})\n       }.to raise_error(Puppet::SSL::CertVerifyError,\n                        %r{certificate verify failed.* .self signed certificate in certificate chain for CN=Test CA.})\n\n       expected Puppet::SSL::CertVerifyError with message matching /certificate verify failed.* .self signed certificate in certificate chain for CN=Test CA./, got #<Puppet::SSL::CertVerifyError: certificate verify failed [self-signed certificate in certificate chain for CN=Test CA]> with backtrace:\n         # ./lib/puppet/ssl/verifier.rb:65:in `handle_connection_error'\n         # ./lib/puppet/http/pool.rb:66:in `rescue in start'\n         # ./lib/puppet/http/pool.rb:62:in `start'\n         # ./lib/puppet/http/pool.rb:107:in `borrow'\n         # ./lib/puppet/http/pool.rb:22:in `with_connection'\n         # ./lib/puppet/http/client.rb:149:in `connect'\n         # ./lib/puppet/http/client.rb:366:in `execute_streaming'\n         # ./lib/puppet/http/client.rb:203:in `get'\n         # ./spec/integration/http/client_spec.rb:54:in `block (5 levels) in <top (required)>'\n         # ./spec/integration/http/client_spec.rb:53:in `block (4 levels) in <top (required)>'\n         # ./spec/lib/puppet_spec/https.rb:81:in `block in start_server'\n         # ./spec/lib/puppet_spec/https.rb:41:in `pipe'\n         # ./spec/lib/puppet_spec/https.rb:41:in `start_server'\n         # ./spec/integration/http/client_spec.rb:52:in `block (3 levels) in <top (required)>'\n         # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n     # ./spec/integration/http/client_spec.rb:53:in `block (4 levels) in <top (required)>'\n     # ./spec/lib/puppet_spec/https.rb:81:in `block in start_server'\n     # ./spec/lib/puppet_spec/https.rb:41:in `pipe'\n     # ./spec/lib/puppet_spec/https.rb:41:in `start_server'\n     # ./spec/integration/http/client_spec.rb:52:in `block (3 levels) in <top (required)>'\n     # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n\n  3) Puppet::HTTP::Client with a system trust store raises if the server's CA is not in the context or system store\n     Failure/Error:\n       expect {\n         client.get(URI(\"https://127.0.0.1:#{port}\"), options: {ssl_context: system_context})\n       }.to raise_error(Puppet::SSL::CertVerifyError,\n                        %r{certificate verify failed.* .self signed certificate in certificate chain for CN=Test CA.})\n\n       expected Puppet::SSL::CertVerifyError with message matching /certificate verify failed.* .self signed certificate in certificate chain for CN=Test CA./, got #<Puppet::SSL::CertVerifyError: certificate verify failed [self-signed certificate in certificate chain for CN=Test CA]> with backtrace:\n         # ./lib/puppet/ssl/verifier.rb:65:in `handle_connection_error'\n         # ./lib/puppet/http/pool.rb:66:in `rescue in start'\n         # ./lib/puppet/http/pool.rb:62:in `start'\n         # ./lib/puppet/http/pool.rb:107:in `borrow'\n         # ./lib/puppet/http/pool.rb:22:in `with_connection'\n         # ./lib/puppet/http/client.rb:149:in `connect'\n         # ./lib/puppet/http/client.rb:366:in `execute_streaming'\n         # ./lib/puppet/http/client.rb:203:in `get'\n         # ./spec/integration/http/client_spec.rb:171:in `block (5 levels) in <top (required)>'\n         # ./spec/integration/http/client_spec.rb:170:in `block (4 levels) in <top (required)>'\n         # ./spec/lib/puppet_spec/https.rb:81:in `block in start_server'\n         # ./spec/lib/puppet_spec/https.rb:41:in `pipe'\n         # ./spec/lib/puppet_spec/https.rb:41:in `start_server'\n         # ./spec/integration/http/client_spec.rb:169:in `block (3 levels) in <top (required)>'\n         # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n     # ./spec/integration/http/client_spec.rb:170:in `block (4 levels) in <top (required)>'\n     # ./spec/lib/puppet_spec/https.rb:81:in `block in start_server'\n     # ./spec/lib/puppet_spec/https.rb:41:in `pipe'\n     # ./spec/lib/puppet_spec/https.rb:41:in `start_server'\n     # ./spec/integration/http/client_spec.rb:169:in `block (3 levels) in <top (required)>'\n     # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n\n  4) Puppet::Network::HttpPool when calling deprecated HttpPool methods when using persistent HTTPS connections raises if the server's CA is unknown\n     Failure/Error:\n       expect {\n         http.get('/')\n       }.to raise_error(Puppet::Error,\n                        %r{certificate verify failed.* .self signed certificate in certificate chain for CN=Test CA.})\n\n       expected Puppet::Error with message matching /certificate verify failed.* .self signed certificate in certificate chain for CN=Test CA./, got #<Puppet::SSL::CertVerifyError: certificate verify failed [self-signed certificate in certificate chain for CN=Test CA]> with backtrace:\n         # ./lib/puppet/ssl/verifier.rb:65:in `handle_connection_error'\n         # ./lib/puppet/http/pool.rb:66:in `rescue in start'\n         # ./lib/puppet/http/pool.rb:62:in `start'\n         # ./lib/puppet/http/pool.rb:107:in `borrow'\n         # ./lib/puppet/http/pool.rb:22:in `with_connection'\n         # ./lib/puppet/http/client.rb:149:in `connect'\n         # ./lib/puppet/http/client.rb:366:in `execute_streaming'\n         # ./lib/puppet/http/client.rb:203:in `get'\n         # ./lib/puppet/network/http/connection.rb:102:in `block in get'\n         # ./lib/puppet/network/http/connection.rb:274:in `with_error_handling'\n         # ./lib/puppet/network/http/connection.rb:101:in `get'\n         # ./spec/integration/network/http_pool_spec.rb:78:in `block (6 levels) in <top (required)>'\n         # ./spec/integration/network/http_pool_spec.rb:77:in `block (5 levels) in <top (required)>'\n         # ./spec/lib/puppet_spec/https.rb:81:in `block in start_server'\n         # ./spec/lib/puppet_spec/https.rb:41:in `pipe'\n         # ./spec/lib/puppet_spec/https.rb:41:in `start_server'\n         # ./spec/integration/network/http_pool_spec.rb:75:in `block (4 levels) in <top (required)>'\n         # ./spec/integration/network/http_pool_spec.rb:97:in `block (4 levels) in <top (required)>'\n         # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n     Shared Example Group: \"HTTPS client\" called from ./spec/integration/network/http_pool_spec.rb:103\n     # ./spec/integration/network/http_pool_spec.rb:77:in `block (5 levels) in <top (required)>'\n     # ./spec/lib/puppet_spec/https.rb:81:in `block in start_server'\n     # ./spec/lib/puppet_spec/https.rb:41:in `pipe'\n     # ./spec/lib/puppet_spec/https.rb:41:in `start_server'\n     # ./spec/integration/network/http_pool_spec.rb:75:in `block (4 levels) in <top (required)>'\n     # ./spec/integration/network/http_pool_spec.rb:97:in `block (4 levels) in <top (required)>'\n     # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n\n  5) Puppet::Network::HttpPool when calling HttpPool.connection method raises if the server's CA is unknown\n     Failure/Error:\n       expect {\n         http.get('/')\n       }.to raise_error(Puppet::Error,\n                        %r{certificate verify failed.* .self signed certificate in certificate chain for CN=Test CA.})\n\n       expected Puppet::Error with message matching /certificate verify failed.* .self signed certificate in certificate chain for CN=Test CA./, got #<Puppet::SSL::CertVerifyError: certificate verify failed [self-signed certificate in certificate chain for CN=Test CA]> with backtrace:\n         # ./lib/puppet/ssl/verifier.rb:65:in `handle_connection_error'\n         # ./lib/puppet/http/pool.rb:66:in `rescue in start'\n         # ./lib/puppet/http/pool.rb:62:in `start'\n         # ./lib/puppet/http/pool.rb:107:in `borrow'\n         # ./lib/puppet/http/pool.rb:22:in `with_connection'\n         # ./lib/puppet/http/client.rb:149:in `connect'\n         # ./lib/puppet/http/client.rb:366:in `execute_streaming'\n         # ./lib/puppet/http/client.rb:203:in `get'\n         # ./lib/puppet/network/http/connection.rb:102:in `block in get'\n         # ./lib/puppet/network/http/connection.rb:274:in `with_error_handling'\n         # ./lib/puppet/network/http/connection.rb:101:in `get'\n         # ./spec/integration/network/http_pool_spec.rb:220:in `block (5 levels) in <top (required)>'\n         # ./spec/integration/network/http_pool_spec.rb:219:in `block (4 levels) in <top (required)>'\n         # ./spec/lib/puppet_spec/https.rb:81:in `block in start_server'\n         # ./spec/lib/puppet_spec/https.rb:41:in `pipe'\n         # ./spec/lib/puppet_spec/https.rb:41:in `start_server'\n         # ./spec/integration/network/http_pool_spec.rb:215:in `block (3 levels) in <top (required)>'\n         # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n     # ./spec/integration/network/http_pool_spec.rb:219:in `block (4 levels) in <top (required)>'\n     # ./spec/lib/puppet_spec/https.rb:81:in `block in start_server'\n     # ./spec/lib/puppet_spec/https.rb:41:in `pipe'\n     # ./spec/lib/puppet_spec/https.rb:41:in `start_server'\n     # ./spec/integration/network/http_pool_spec.rb:215:in `block (3 levels) in <top (required)>'\n     # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n\n  6) Puppet::Application::Ssl when submitting a CSR generates an EC private key\n     Failure/Error: raise Puppet::Error.new(_(\"Failed to submit certificate request: %{message}\") % { message: e.message }, e)\n\n     Puppet::Error:\n       Failed to submit certificate request: pkeys are immutable on OpenSSL 3.0\n     # ./lib/puppet/application/ssl.rb:187:in `rescue in submit_request'\n     # ./lib/puppet/application/ssl.rb:162:in `submit_request'\n     # ./lib/puppet/application/ssl.rb:127:in `main'\n     # ./lib/puppet/application.rb:437:in `run_command'\n     # ./spec/unit/application/ssl_spec.rb:40:in `block in expects_command_to_pass'\n     # ./spec/unit/application/ssl_spec.rb:39:in `expects_command_to_pass'\n     # ./spec/unit/application/ssl_spec.rb:119:in `block (3 levels) in <top (required)>'\n     # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n     # ------------------\n     # --- Caused by: ---\n     # OpenSSL::PKey::PKeyError:\n     #   pkeys are immutable on OpenSSL 3.0\n     #   ./lib/puppet/ssl/certificate_request.rb:73:in `public_key='\n\n  7) Puppet::Type::Package::ProviderGem installing myresource when installing on windows removes puppet/bin from PATH\n     Failure/Error: execute(cmd, {:failonfail => true, :combine => true, :custom_environment => custom_environment})\n\n       #<Puppet::Type::Package::ProviderGem (class)> received :execute with unexpected arguments\n         expected: (anything, hash_including(:custom_environment=>\"hash_including(:PATH=>\\\"C:\\\\\\\\Program Files\\\\\\\\Puppet Labs\\\\\\\\Puppet\\\\\\\\bin;C:\\\\\\\\Ruby26-x64\\\\\\\\bin;C:\\\\\\\\Windows\\\\\\\\system32\\\\\\\\bin\\\")\"))\n              got: ([\"/provider/gem\", [\"install\", \"--no-rdoc\", \"--no-ri\", \"myresource\"]], {:combine=>true, :custom_environment=>{\"HOME\"=>nil, :PATH=>\"C:/Ruby32-x64/lib/ruby/gems/3.2.0/bin;C:\\...ocolatey\\\\bin;C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Microsoft\\\\WindowsApps\"}, :failonfail=>true})\n       Diff:\n       @@ -1,3 +1,8 @@\n       -[\"anything\",\n       - \"hash_including(:custom_environment=>\\\"hash_including(:PATH=>\\\\\\\"C:\\\\\\\\\\\\\\\\Program Files\\\\\\\\\\\\\\\\Puppet Labs\\\\\\\\\\\\\\\\Puppet\\\\\\\\\\\\\\\\bin;C:\\\\\\\\\\\\\\\\Ruby26-x64\\\\\\\\\\\\\\\\bin;C:\\\\\\\\\\\\\\\\Windows\\\\\\\\\\\\\\\\system32\\\\\\\\\\\\\\\\bin\\\\\\\")\\\")\"]\n       +[[\"/provider/gem\", [\"install\", \"--no-rdoc\", \"--no-ri\", \"myresource\"]],\n       + {:combine=>true,\n       +  :custom_environment=>\n       +   {\"HOME\"=>nil,\n       +    :PATH=>\n       +     \"C:/Ruby32-x64/lib/ruby/gems/3.2.0/bin;C:\\\\Ruby32-x64\\\\bin;C:\\\\Ruby32-x64\\\\msys64\\\\ucrt64\\\\bin;C:\\\\Ruby32-x64\\\\msys64\\\\usr\\\\bin;C:\\\\Windows\\\\system32;C:\\\\Windows;C:\\\\Windows\\\\System32\\\\Wbem;C:\\\\Windows\\\\System32\\\\WindowsPowerShell\\\\v1.0\\\\;C:\\\\Windows\\\\System32\\\\OpenSSH\\\\;C:\\\\Packer\\\\SysInternals;C:\\\\Program Files\\\\Git\\\\cmd;C:\\\\Program Files\\\\PowerShell\\\\7\\\\;C:\\\\ProgramData\\\\chocolatey\\\\bin;C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Microsoft\\\\WindowsApps\"},\n       +  :failonfail=>true}]\n\n     # ./lib/puppet/provider/package/gem.rb:82:in `execute_gem_command'\n     # ./lib/puppet/provider/package/gem.rb:251:in `install'\n     # ./spec/unit/provider/package/gem_spec.rb:67:in `block (5 levels) in <top (required)>'\n     # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n\n  8) Puppet::SSL::CertificateRequest when generating should use SHA1 to sign the csr when SHA256 isn't available\n     Failure/Error: content.sign(key, @digest.new)\n\n     OpenSSL::X509::RequestError:\n       internal error\n     # ./lib/puppet/ssl/certificate_signer.rb:37:in `sign'\n     # ./lib/puppet/ssl/certificate_signer.rb:37:in `sign'\n     # ./spec/unit/ssl/certificate_request_spec.rb:319:in `block (3 levels) in <top (required)>'\n     # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n\n  9) Puppet::SSL::CertificateRequest when generating should use SHA512 to sign the csr when SHA256 and SHA1 aren't available\n     Failure/Error: content.sign(key, @digest.new)\n\n     OpenSSL::X509::RequestError:\n       internal error\n     # ./lib/puppet/ssl/certificate_signer.rb:37:in `sign'\n     # ./lib/puppet/ssl/certificate_signer.rb:37:in `sign'\n     # ./spec/unit/ssl/certificate_request_spec.rb:330:in `block (3 levels) in <top (required)>'\n     # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n\n  10) Puppet::SSL::CertificateRequest when generating should use SHA384 to sign the csr when SHA256/SHA1/SHA512 aren't available\n      Failure/Error: content.sign(key, @digest.new)\n\n      OpenSSL::X509::RequestError:\n        internal error\n      # ./lib/puppet/ssl/certificate_signer.rb:37:in `sign'\n      # ./lib/puppet/ssl/certificate_signer.rb:37:in `sign'\n      # ./spec/unit/ssl/certificate_request_spec.rb:342:in `block (3 levels) in <top (required)>'\n      # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n\n  11) Puppet::SSL::CertificateRequest when generating should use SHA224 to sign the csr when SHA256/SHA1/SHA512/SHA384 aren't available\n      Failure/Error: content.sign(key, @digest.new)\n\n      OpenSSL::X509::RequestError:\n        internal error\n      # ./lib/puppet/ssl/certificate_signer.rb:37:in `sign'\n      # ./lib/puppet/ssl/certificate_signer.rb:37:in `sign'\n      # ./spec/unit/ssl/certificate_request_spec.rb:354:in `block (3 levels) in <top (required)>'\n      # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n\n  12) Puppet::SSL::CertificateRequest when generating with custom CSR attributes raises an error if an attribute cannot be created\n      Failure/Error:\n        expect do\n          request.generate(key, :csr_attributes => csr_attributes)\n        end.to raise_error Puppet::Error, /Cannot create CSR with attribute thats\\.no\\.moon: first num too large/\n\n        expected Puppet::Error with message matching /Cannot create CSR with attribute thats\\.no\\.moon: first num too large/, got #<Puppet::Error: Cannot create CSR with attribute thats.no.moon: unknown object name> with backtrace:\n          # ./lib/puppet/ssl/certificate_request.rb:224:in `oid='\n          # ./lib/puppet/ssl/certificate_request.rb:224:in `initialize'\n          # ./lib/puppet/ssl/certificate_request.rb:224:in `new'\n          # ./lib/puppet/ssl/certificate_request.rb:224:in `block in add_csr_attributes'\n          # ./lib/puppet/ssl/certificate_request.rb:215:in `each'\n          # ./lib/puppet/ssl/certificate_request.rb:215:in `add_csr_attributes'\n          # ./lib/puppet/ssl/certificate_request.rb:80:in `generate'\n          # ./spec/unit/ssl/certificate_request_spec.rb:200:in `block (5 levels) in <top (required)>'\n          # ./spec/unit/ssl/certificate_request_spec.rb:199:in `block (4 levels) in <top (required)>'\n          # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n      # ./spec/unit/ssl/certificate_request_spec.rb:199:in `block (4 levels) in <top (required)>'\n      # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n\n  13) Puppet::SSL::CertificateRequest when generating with extension requests raises an error if the OID could not be created\n      Failure/Error:\n        expect do\n          request.generate(key, :extension_requests => exts)\n        end.to raise_error Puppet::Error, /Cannot create CSR with extension request thats\\.no\\.moon.*: first num too large/\n\n        expected Puppet::Error with message matching /Cannot create CSR with extension request thats\\.no\\.moon.*: first num too large/, got #<Puppet::Error: Cannot create CSR with extension request thats.no.moon: OBJ_txt2obj: unknown object name> with backtrace:\n          # ./lib/puppet/ssl/certificate_request.rb:247:in `oid='\n          # ./lib/puppet/ssl/certificate_request.rb:247:in `initialize'\n          # ./lib/puppet/ssl/certificate_request.rb:247:in `new'\n          # ./lib/puppet/ssl/certificate_request.rb:247:in `block in extension_request_attribute'\n          # ./lib/puppet/ssl/certificate_request.rb:241:in `each_pair'\n          # ./lib/puppet/ssl/certificate_request.rb:241:in `extension_request_attribute'\n          # ./lib/puppet/ssl/certificate_request.rb:83:in `generate'\n          # ./spec/unit/ssl/certificate_request_spec.rb:273:in `block (5 levels) in <top (required)>'\n          # ./spec/unit/ssl/certificate_request_spec.rb:272:in `block (4 levels) in <top (required)>'\n          # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n      # ./spec/unit/ssl/certificate_request_spec.rb:272:in `block (4 levels) in <top (required)>'\n      # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n\n  14) Puppet::SSL::SSLProvider when creating an ssl context with client certs raises if root CA's isCA basic constraint is false\n      Failure/Error:\n        expect {\n          subject.create_context(**config.merge(cacerts: certs, crls: [], revocation: false))\n        }.to raise_error(Puppet::SSL::CertVerifyError,\n                         \"Certificate 'CN=Test CA' failed verification (24): invalid CA certificate\")\n\n        expected Puppet::SSL::CertVerifyError with \"Certificate 'CN=Test CA' failed verification (24): invalid CA certificate\", got #<Puppet::SSL::CertVerifyError: Certificate 'CN=Test CA' failed verification (79): invalid CA certificate> with backtrace:\n          # ./lib/puppet/ssl/ssl_provider.rb:348:in `raise_cert_verify_error'\n          # ./lib/puppet/ssl/ssl_provider.rb:311:in `verify_cert_with_store'\n          # ./lib/puppet/ssl/ssl_provider.rb:280:in `resolve_client_chain'\n          # ./lib/puppet/ssl/ssl_provider.rb:153:in `create_context'\n          # ./spec/unit/ssl/ssl_provider_spec.rb:463:in `block (4 levels) in <top (required)>'\n          # ./spec/unit/ssl/ssl_provider_spec.rb:462:in `block (3 levels) in <top (required)>'\n          # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n      # ./spec/unit/ssl/ssl_provider_spec.rb:462:in `block (3 levels) in <top (required)>'\n      # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n\n  15) Puppet::SSL::SSLProvider when creating an ssl context with client certs raises if intermediate CA's isCA basic constraint is false\n      Failure/Error:\n        expect {\n          subject.create_context(**config.merge(cacerts: certs, crls: [], revocation: false))\n        }.to raise_error(Puppet::SSL::CertVerifyError,\n                         \"Certificate 'CN=Test CA Subauthority' failed verification (24): invalid CA certificate\")\n\n        expected Puppet::SSL::CertVerifyError with \"Certificate 'CN=Test CA Subauthority' failed verification (24): invalid CA certificate\", got #<Puppet::SSL::CertVerifyError: Certificate 'CN=Test CA Subauthority' failed verification (79): invalid CA certificate> with backtrace:\n          # ./lib/puppet/ssl/ssl_provider.rb:348:in `raise_cert_verify_error'\n          # ./lib/puppet/ssl/ssl_provider.rb:311:in `verify_cert_with_store'\n          # ./lib/puppet/ssl/ssl_provider.rb:280:in `resolve_client_chain'\n          # ./lib/puppet/ssl/ssl_provider.rb:153:in `create_context'\n          # ./spec/unit/ssl/ssl_provider_spec.rb:473:in `block (4 levels) in <top (required)>'\n          # ./spec/unit/ssl/ssl_provider_spec.rb:472:in `block (3 levels) in <top (required)>'\n          # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n      # ./spec/unit/ssl/ssl_provider_spec.rb:472:in `block (3 levels) in <top (required)>'\n      # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n\n  16) Puppet::X509::CertProvider when loading private keys using RSA raises without a password\n      Failure/Error:\n        expect {\n          provider.load_private_key('encrypted-key')\n        }.to raise_error(OpenSSL::PKey::PKeyError, /Could not parse PKey: no start line/)\n\n        expected OpenSSL::PKey::PKeyError with message matching /Could not parse PKey: no start line/, got #<OpenSSL::PKey::PKeyError: Could not parse PKey: bad decrypt> with backtrace:\n          # ./lib/puppet/x509/cert_provider.rb:211:in `read'\n          # ./lib/puppet/x509/cert_provider.rb:211:in `load_private_key_from_pem'\n          # ./lib/puppet/x509/cert_provider.rb:192:in `load_private_key'\n          # ./spec/unit/x509/cert_provider_spec.rb:282:in `block (6 levels) in <top (required)>'\n          # ./spec/unit/x509/cert_provider_spec.rb:281:in `block (5 levels) in <top (required)>'\n          # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n      # ./spec/unit/x509/cert_provider_spec.rb:281:in `block (5 levels) in <top (required)>'\n      # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n\n  17) Puppet::X509::CertProvider when loading private keys using EC raises without a password\n      Failure/Error:\n        expect {\n          provider.load_private_key('encrypted-ec-key')\n        }.to raise_error(OpenSSL::PKey::PKeyError, /(unknown|invalid) curve name|Could not parse PKey: no start line/)\n\n        expected OpenSSL::PKey::PKeyError with message matching /(unknown|invalid) curve name|Could not parse PKey: no start line/, got #<OpenSSL::PKey::PKeyError: Could not parse PKey: bad decrypt> with backtrace:\n          # ./lib/puppet/x509/cert_provider.rb:211:in `read'\n          # ./lib/puppet/x509/cert_provider.rb:211:in `load_private_key_from_pem'\n          # ./lib/puppet/x509/cert_provider.rb:192:in `load_private_key'\n          # ./spec/unit/x509/cert_provider_spec.rb:317:in `block (6 levels) in <top (required)>'\n          # ./spec/unit/x509/cert_provider_spec.rb:316:in `block (5 levels) in <top (required)>'\n          # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n      # ./spec/unit/x509/cert_provider_spec.rb:316:in `block (5 levels) in <top (required)>'\n      # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n\nFinished in 39 minutes 8 seconds (files took 1 minute 18.98 seconds to load)\n25119 examples, 17 failures, 66 pending\n\nFailed examples:\n\nrspec ./spec/integration/application/apply_spec.rb:621 # apply http report processor rejects an HTTPS report server whose root cert is not the puppet CA\nrspec ./spec/integration/http/client_spec.rb:48 # Puppet::HTTP::Client when verifying an HTTPS server raises if the server's CA is unknown\nrspec ./spec/integration/http/client_spec.rb:166 # Puppet::HTTP::Client with a system trust store raises if the server's CA is not in the context or system store\nrspec ./spec/integration/network/http_pool_spec.rb:66 # Puppet::Network::HttpPool when calling deprecated HttpPool methods when using persistent HTTPS connections raises if the server's CA is unknown\nrspec ./spec/integration/network/http_pool_spec.rb:214 # Puppet::Network::HttpPool when calling HttpPool.connection method raises if the server's CA is unknown\nrspec ./spec/unit/application/ssl_spec.rb:112 # Puppet::Application::Ssl when submitting a CSR generates an EC private key\nrspec ./spec/unit/provider/package/gem_spec.rb:60 # Puppet::Type::Package::ProviderGem installing myresource when installing on windows removes puppet/bin from PATH\nrspec ./spec/unit/ssl/certificate_request_spec.rb:314 # Puppet::SSL::CertificateRequest when generating should use SHA1 to sign the csr when SHA256 isn't available\nrspec ./spec/unit/ssl/certificate_request_spec.rb:323 # Puppet::SSL::CertificateRequest when generating should use SHA512 to sign the csr when SHA256 and SHA1 aren't available\nrspec ./spec/unit/ssl/certificate_request_spec.rb:334 # Puppet::SSL::CertificateRequest when generating should use SHA384 to sign the csr when SHA256/SHA1/SHA512 aren't available\nrspec ./spec/unit/ssl/certificate_request_spec.rb:346 # Puppet::SSL::CertificateRequest when generating should use SHA224 to sign the csr when SHA256/SHA1/SHA512/SHA384 aren't available\nrspec ./spec/unit/ssl/certificate_request_spec.rb:196 # Puppet::SSL::CertificateRequest when generating with custom CSR attributes raises an error if an attribute cannot be created\nrspec ./spec/unit/ssl/certificate_request_spec.rb:270 # Puppet::SSL::CertificateRequest when generating with extension requests raises an error if the OID could not be created\nrspec ./spec/unit/ssl/ssl_provider_spec.rb:459 # Puppet::SSL::SSLProvider when creating an ssl context with client certs raises if root CA's isCA basic constraint is false\nrspec ./spec/unit/ssl/ssl_provider_spec.rb:469 # Puppet::SSL::SSLProvider when creating an ssl context with client certs raises if intermediate CA's isCA basic constraint is false\nrspec ./spec/unit/x509/cert_provider_spec.rb:279 # Puppet::X509::CertProvider when loading private keys using RSA raises without a password\nrspec ./spec/unit/x509/cert_provider_spec.rb:314 # Puppet::X509::CertProvider when loading private keys using EC raises without a password\n{noformat}", "epicLinkSummary": "Puppet 8", "estimate": "PT0S", "externalId": "23566", "fixedVersions": ["PUP 8.0.0"], "id": "23566", "issueType": "Bug", "key": "PUP-11698", "labels": [], "originalEstimate": "PT0S", "parent": "57676", "parentSummary": "Puppet 8", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2023-01-13T14:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Test against Ruby 3.2 & OpenSSL 3 on Windows", "timeSpent": "PT0S", "updated": "2023-01-13T14:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "619528076d002b006b1c1e8d", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Currently it's only possible to use these interpolation functions: https://www.puppet.com/docs/puppet/7/hiera_merging.html#interpolation_functions We've had requests to allow arbitrary puppet functions such as this and PUP-11546. [~accountid:70121:81a73de1-7f52-49cd-b0b0-46c1b147202a] has said it's possible to do this using his https://github.com/hlindberg/tahu module. I'm going to move this to the PUP project, since this JIRA project is for Hiera 3", "created": "2023-01-26T09:41:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Also https://github.com/voxpupuli/hiera-eyaml/issues/336", "created": "2023-01-26T09:42:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "This was something I really wanted to address but did not have a good solution for at the time. The main issue was that the hiera specified/implemented interpolation syntax/logic blocks innovation in this area - we were not able to find syntax that would be 100% backwards compatible. I always thought it was a shame that hiera interpolation is different in syntax and features compared to puppet string interpolation. I wrote the puppet language hiera backend in my tahu module as a proof of concept of what it would take to support this if done in the most powerful way - i.e. data is puppet language. I had ideas of incorporating that implementation into the existing hiera json/yaml backends by having backend options to toggle the interpolation behavior, either for an entry in hiera.yaml, or as a lookup_option per key. That would enable people to opt in where they need this feature. I.e. that flag would control how the content of a hiera %{} part would be interpreted, as current hiera interpolation or as if it was a ${ } part in a puppet language string.\n\n\u00a0\n\nJust my 2c...", "created": "2023-02-11T14:36:00.000000"}], "components": [], "created": "2023-01-09T08:58:00.000000", "creator": "557058:55399b77-3824-47d7-b99d-a0113bcca913", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@23d16e98"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11659"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lds9:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Jan/23"}], "description": "In combination with stdlib::manage I want to be able to use Puppet functions from hiera data.\n\n\u00a0\n\ne.g.\n\n\u00a0\n{code:java}\nstdlib::manage::create_resources:\n\u00a0 file:\n\u00a0\u00a0\u00a0 '/etc/motd':\n\u00a0\u00a0\u00a0 ensure: file\n\u00a0\u00a0\u00a0 content: %{epp('profile/motd.epp')}\n{code}\n\u00a0\n\nActual result:\n{noformat}\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Unable to parse (/etc/puppetlabs/code/environments/production/data/common.yaml): found character '%' that cannot start any token. (Do not use % for indentation) while scanning for the next token at line 72 column 16{noformat}\nDesired result: The content is rendered from the template.", "epicLinkSummary": "Puppet Maintenance CY23 Q2", "estimate": "PT0S", "externalId": "22381", "fixedVersions": [], "id": "22381", "issueType": "Improvement", "key": "PUP-11726", "labels": [], "originalEstimate": "PT0S", "parent": "24608", "parentSummary": "Puppet Maintenance CY23 Q2", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55399b77-3824-47d7-b99d-a0113bcca913", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Allow Puppet function calls from hiera data", "timeSpent": "PT0S", "updated": "2023-02-14T14:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "body": "Hi [~accountid:62ccea54e546e8eab8ee5c44],\n\nCould you run again with --debug so we can better diagnose this issue?", "created": "2023-01-10T14:12:00.000000"}, {"author": "62ccea54e546e8eab8ee5c44", "body": "{noformat}\nInfo: Applying configuration version '1673515834'\nDebug: /Stage[pre]/before: before to Stage[main]\nDebug: Prefetching dnf resources for package\nDebug: Executing: '/usr/bin/rpm --version'\nDebug: Executing '/usr/bin/rpm -qa --nosignature --nodigest --qf '%{NAME} %|EPOCH?{%{EPOCH}}:{0}| %{VERSION} %{RELEASE} %{ARCH}\\n' | sort'\nDebug: Executing: '/usr/bin/rpm -q nc --nosignature --nodigest --qf %{NAME} %|EPOCH?{%{EPOCH}}:{0}| %{VERSION} %{RELEASE} %{ARCH}\\n'\nDebug: Executing: '/usr/bin/rpm -q nc --nosignature --nodigest --qf %{NAME} %|EPOCH?{%{EPOCH}}:{0}| %{VERSION} %{RELEASE} %{ARCH}\\n --whatprovides'\nError: /Package[nc]: Could not evaluate: no implicit conversion of Array into Hash\nDebug: Class[Role::Workstation]: Resource is being skipped, unscheduling all events\n{noformat}", "created": "2023-01-12T02:34:00.000000"}, {"author": "5a1beb0b007eb21a79e5d6de", "body": "Thanks for the output [~accountid:62ccea54e546e8eab8ee5c44] . Would you also be able to add {{--trace}} to that as well?\n\nThank you!", "created": "2023-02-07T14:38:00.000000"}, {"author": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "body": "[~accountid:62ccea54e546e8eab8ee5c44] just an additional request to add the {{--trace}} for debugging purposes. Thanks!", "created": "2023-02-28T14:48:00.000000"}], "components": [], "created": "2023-01-09T03:08:00.000000", "creator": "62ccea54e546e8eab8ee5c44", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6965d786"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ldqx:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Jan/23"}], "description": "*Puppet Agent Version:* 7.21.0\n*Puppet Server Version:* 7.9.2\n*OS Name/Version:* RHEL 8.7\n\n*Desired Behavior:*\nError message states that there is no such package.\n\n*Actual Behavior:*\n{code}\npackage {'nc':}\n{code}\nresults when applying in\n{code}\nError: /Stage[main]/Role::Workstation/Package[nc]: Could not evaluate: no implicit conversion of Array into Hash\n{code}\nwhich looks like an error in the code, but\n{code}\n# dnf info nc\nLast metadata expiration check: 2:37:27 ago on Mo 09 Jan 2023 08:22:22 CET.\nError: No matching Packages to list\n#\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29891", "fixedVersions": [], "id": "29891", "issueType": "Improvement", "key": "PUP-11697", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "62ccea54e546e8eab8ee5c44", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "rpm package installation: confusing error message when there is no such package", "timeSpent": "PT0S", "updated": "2023-02-28T14:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "body": "Hi [~accountid:557058:e5c2c9fc-de9a-4d21-ad10-bea9c1774c07],\n\nDoes this work as expected if you run without --noop? --noop isn't a perfect simulation and these sorts of errors are hard to avoid in situations like this.", "created": "2023-01-10T14:19:00.000000"}], "components": ["Language"], "created": "2023-01-04T22:05:00.000000", "creator": "557058:e5c2c9fc-de9a-4d21-ad10-bea9c1774c07", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5b4d5974"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master Config", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Monolithic"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lcz5:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Jan/23"}], "description": "*Puppet Version: 6.28.0*\n*Puppet Server Version: 2019.8.12*\n*OS Name/Version: CentOS 7*\n\nWe have a module that installs the Postgresql server package, and then two Exec commands that run initdb and create a database.\n\nWhen running a clean install on a new server, testing using --noop, the Exec commands error because the psql command is not available. Even though the Puppet code explicitly requires the Postgresql package to be installed first.\n\n\u00a0\n\n*Desired Behavior:*\n\nPuppet should evaluate Requires criteria are met before evaluating Unless or Onlyif parameters\n\n*Actual Behavior:*\n\nPuppet evaluates Unless before Requires resulting in run errors for missing installed commands \n\n\u00a0\n{code:java}\n\u00a0 # Install the package first\n\u00a0 package { $private_module::postgresql_server:\n\u00a0 \u00a0 ensure \u00a0=> installed,\n\u00a0 \u00a0 require => Yumrepo[$private_module::postgresql_repo],\n\u00a0 }\u00a0 \n\n# Breaking the command line options into smaller sections to avoid extremely long lines\n\u00a0 $_version = $private_module::postgresql_version\u00a0 \n\n  exec { 'postgresql-initdb':\n\u00a0 \u00a0 command => \"/usr/pgsql-${_version}/bin/postgresql-${_version}-setup initdb\",\n\u00a0 \u00a0 creates => \"/var/lib/pgsql/${_version}/data/postgresql.conf\",\n\u00a0 \u00a0 user \u00a0 \u00a0=> 'root',\n\u00a0 \u00a0 require => [\n\u00a0 \u00a0 \u00a0 Package[$private_module::postgresql_server],\n\u00a0 \u00a0 \u00a0 Package[$private_module::software_package],\n\u00a0 \u00a0 ],\n\u00a0 }\u00a0 \n\n  exec { 'create-application-db':\n\u00a0 \u00a0 command => \"/var/lib/pgsql/${private_module::postgresql_version}/create-application-db.sh\",\n\u00a0 \u00a0 unless \u00a0=> \"/usr/bin/psql -d ${private_module::db_name}\",\n\u00a0 \u00a0 user \u00a0 \u00a0=> 'postgres',\n\u00a0 \u00a0 require => [\n\u00a0 \u00a0 \u00a0 Exec['postgresql-initdb'],\n\u00a0 \u00a0 \u00a0 File[\"/var/lib/pgsql/${private_module::postgresql_version}/create-application-db.sh\"],\n\u00a0 \u00a0 \u00a0 Package[$private_module::postgresql_server],\n\u00a0 \u00a0 \u00a0 Service[$private_module::postgresql_service],\n\u00a0 \u00a0 ],\n\u00a0 }\n{code}\n{code:java}\nNotice: /Stage[main]/Private_module::Postgresql_server/Package[postgresql14-server]/ensure: current_value 'purged', should be 'present' (noop) (corrective)\nNotice: /Stage[main]/Private_module::Postgresql_server/Exec[postgresql-initdb]/returns: current_value 'notrun', should be ['0'] (noop) (corrective)\nNotice: Class[Private_module::Postgresql_server]: Would have triggered 'refresh' from 5 events\nNotice: /Stage[main]/Private_module::Application_database/File[/var/lib/pgsql/14/create-application-db.sh]/ensure: current_value 'absent', should be 'file' (noop) (corrective)\nError: /Stage[main]/Private_module::Application_database/Exec[create-application-db]: Could not evaluate: Could not find command '/usr/bin/psql'\nNotice: /Stage[main]/Private_module::Application_database/Exec[import-application-sql]: Dependency Exec[create-application-db] has failures: true {code}\nThe difference between the two Exec commands, which rely on the same package, is the second one generates the Error when it tries to run the Unless command.\n\n\u00a0\n\nPuppet should be making use of the Requires values to ensure the Unless and Onlyif commands will succeed.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22379", "fixedVersions": [], "id": "22379", "issueType": "Bug", "key": "PUP-11696", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:e5c2c9fc-de9a-4d21-ad10-bea9c1774c07", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Unless parameter of Exec evaluated before Requires", "timeSpent": "PT0S", "updated": "2023-02-07T14:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "body": "Hi [~accountid:5c40e8688aa0b11661429843],\n\nIt seems like there's an issue with that particular .net core sdk that doesn't accurately report how the package was installed. The code to check whether or not a package is a valid MSI is [here|https://github.com/puppetlabs/puppet/blob/da5aa1607b9e527682ab49fb56a631a15cad4620/lib/puppet/provider/package/windows/msi_package.rb#L40-L46], so you may be able to clear that registry key.\n\nUnfortunately since this is an issue with a specific package there's nothing we can do to resolve it.", "created": "2023-01-10T14:27:00.000000"}, {"author": "5c40e8688aa0b11661429843", "body": "Hi [~accountid:557058:31c596d1-7e27-4c91-bc18-1254edb3caab],\n\nThis is not a issue with that particular .net core sdk. Uninstall from the Add/Remove control panel works correctly and uninstalls things using the cached exe, not using the msiexec. The package resource should be doing the same. Sorry for forgetting to specify this information in the issue.", "created": "2023-01-11T07:53:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:5c40e8688aa0b11661429843] Puppet uses the {{WindowsInstaller}} registry value to determine if something was installed via msiexec or something else. For whatever reason that particular package is setting the value incorrectly. I don't know how Add/Remove Programs \"knows better\", but given this only happens with the one .net sdk and that version of the sdk is EOL, we don't have plans on changing puppet, so I'm going to close this ticket. If you can provide additional details about how Add/Remove Programs is determining that the package is not an MSI, then please reopen this ticket with those details.", "created": "2023-01-11T17:56:00.000000"}, {"author": "5c40e8688aa0b11661429843", "body": "The dotnet-sdk-2.1.802-win-x86.exe downloadable from [https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/sdk-2.1.802-windows-x86-installer] creates two entries in the Installer registry:\n - HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{92a4ca67-9d75-4067-8522-e684fd033096}:\n\n{noformat}Windows Registry Editor Version 5.00\n\n[HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{92a4ca67-9d75-4067-8522-e684fd033096}]\n\"BundleAddonCode\"=hex(7):\n\"BundleCachePath\"=\"C:\\\\ProgramData\\\\Package Cache\\\\{92a4ca67-9d75-4067-8522-e684fd033096}\\\\dotnet-sdk-2.1.802-win-x86.exe\"\n\"BundleDetectCode\"=hex(7):\n\"BundlePatchCode\"=hex(7):\n\"BundleProviderKey\"=\"{92a4ca67-9d75-4067-8522-e684fd033096}\"\n\"BundleTag\"=\"\"\n\"BundleUpgradeCode\"=hex(7):7b,00,37,00,39,00,32,00,38,00,43,00,42,00,43,00,38,\\\n  00,2d,00,35,00,37,00,44,00,43,00,2d,00,37,00,30,00,31,00,32,00,2d,00,44,00,\\\n  37,00,46,00,37,00,2d,00,38,00,30,00,45,00,45,00,33,00,32,00,35,00,38,00,42,\\\n  00,30,00,43,00,41,00,7d,00,00,00,00,00\n\"BundleVersion\"=\"2.1.802.0\"\n\"DisplayIcon\"=\"C:\\\\ProgramData\\\\Package Cache\\\\{92a4ca67-9d75-4067-8522-e684fd033096}\\\\dotnet-sdk-2.1.802-win-x86.exe,0\"\n\"DisplayName\"=\"Microsoft .NET Core SDK 2.1.802 (x86)\"\n\"DisplayVersion\"=\"2.1.802\"\n\"EngineVersion\"=\"3.10.4.4718\"\n\"EstimatedSize\"=dword:000736af\n\"Installed\"=dword:00000001\n\"ModifyPath\"=\"\\\"C:\\\\ProgramData\\\\Package Cache\\\\{92a4ca67-9d75-4067-8522-e684fd033096}\\\\dotnet-sdk-2.1.802-win-x86.exe\\\" /modify\"\n\"NoElevateOnModify\"=dword:00000001\n\"Publisher\"=\"Microsoft Corporation\"\n\"QuietUninstallString\"=\"\\\"C:\\\\ProgramData\\\\Package Cache\\\\{92a4ca67-9d75-4067-8522-e684fd033096}\\\\dotnet-sdk-2.1.802-win-x86.exe\\\" /uninstall /quiet\"\n\"Resume\"=dword:00000003\n\"UninstallString\"=\"\\\"C:\\\\ProgramData\\\\Package Cache\\\\{92a4ca67-9d75-4067-8522-e684fd033096}\\\\dotnet-sdk-2.1.802-win-x86.exe\\\"  /uninstall\"\n\"URLInfoAbout\"=https://dotnet.github.io/\n\n\"BundleUpgradeCode\" is REG_MULTI_SZ with value `{7928CBC8-57DC-7012-D7F7-80EE3258B0CA}`.\n{noformat}\n- HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{F56405A6-5942-4EC9-A446-54167AA57752}:\n\n{noformat}Windows Registry Editor Version 5.00\n\n[HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{F56405A6-5942-4EC9-A446-54167AA57752}]\n\"AuthorizedCDFPrefix\"=\"\"\n\"Comments\"=\"\"\n\"Contact\"=\"\"\n\"DisplayName\"=\"Microsoft .NET Core SDK 2.1.802 (x86)\"\n\"DisplayVersion\"=\"8.216.42515\"\n\"EstimatedSize\"=dword:00033e7c\n\"HelpLink\"=\"\"\n\"HelpTelephone\"=\"\"\n\"InstallDate\"=\"20230113\"\n\"InstallLocation\"=\"\"\n\"InstallSource\"=\"C:\\\\ProgramData\\\\Package Cache\\\\{F56405A6-5942-4EC9-A446-54167AA57752}v8.216.42515\\\\\"\n\"Language\"=dword:00000409\n\"ModifyPath\"=hex(2):4d,00,73,00,69,00,45,00,78,00,65,00,63,00,2e,00,65,00,78,\\\n  00,65,00,20,00,2f,00,49,00,7b,00,46,00,35,00,36,00,34,00,30,00,35,00,41,00,\\\n  36,00,2d,00,35,00,39,00,34,00,32,00,2d,00,34,00,45,00,43,00,39,00,2d,00,41,\\\n  00,34,00,34,00,36,00,2d,00,35,00,34,00,31,00,36,00,37,00,41,00,41,00,35,00,\\\n  37,00,37,00,35,00,32,00,7d,00,00,00\n\"Publisher\"=\"Microsoft Corporation\"\n\"Readme\"=\"\"\n\"Size\"=\"\"\n\"SystemComponent\"=dword:00000001\n\"UninstallString\"=hex(2):4d,00,73,00,69,00,45,00,78,00,65,00,63,00,2e,00,65,00,\\\n  78,00,65,00,20,00,2f,00,49,00,7b,00,46,00,35,00,36,00,34,00,30,00,35,00,41,\\\n  00,36,00,2d,00,35,00,39,00,34,00,32,00,2d,00,34,00,45,00,43,00,39,00,2d,00,\\\n  41,00,34,00,34,00,36,00,2d,00,35,00,34,00,31,00,36,00,37,00,41,00,41,00,35,\\\n  00,37,00,37,00,35,00,32,00,7d,00,00,00\n\"URLInfoAbout\"=\"\"\n\"URLUpdateInfo\"=\"\"\n\"Version\"=dword:08d8a613\n\"VersionMajor\"=dword:00000008\n\"VersionMinor\"=dword:000000d8\n\"WindowsInstaller\"=dword:00000001\n\n\"ModifyPath\" is REG_EXPAND_SZ with value `MsiExec.exe /I{F56405A6-5942-4EC9-A446-54167AA57752}`.\n\"UninstallString\" is REG_EXPAND_SZ with value `MsiExec.exe /I{F56405A6-5942-4EC9-A446-54167AA57752}`.\n{noformat}\nThe Apps & Features control panel uses the entry [HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{92a4ca67-9d75-4067-8522-e684fd033096}] to display and uninstall. But the package resource seems to be using the entry [HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{F56405A6-5942-4EC9-A446-54167AA57752}] to uninstall.", "created": "2023-01-13T13:45:00.000000"}, {"author": "5c40e8688aa0b11661429843", "body": "A non-MSI installer like an executable, can use internally MSI installer to install things. When there is a choice between an MSI installer registry (SystemComponent=1) and a non-MSI installer registry to uninstall, it seems that the choice should be given to the non-MSI installer registry, so that it has a chance to run the MSI uninstallers before uninstalling itself.\n\nIn the above case, uninstalling using the MSI registry does not remove the entry from the Apps & Features control panel. It only removes pieces of the components. In fact the interactive MSI uninstall command `msiexec /uninstall \"\\{F56405A6-5942-4EC9-A446-54167AA57752}\"` gives this warning: {{If you continue with this uninstall, 1 or more products may stop working properly. Do you want to continue with this uninstall anyway?.}} This probably refers to the non-MSI install.\n\nKeeping the code that doesn't choose non-MSI over MSI uninstall could result in similar problem with other components.", "created": "2023-01-13T13:58:00.000000"}, {"author": "5a1beb0b007eb21a79e5d6de", "body": "Thank you for filing this ticket [~accountid:5c40e8688aa0b11661429843] .\n\nWe believe that this behavior represents an edge case with an older package, is not widespread behavior, and could cause other issues if we address this in Puppet.\n\nHowever, if you find that this behavior is present in more packages, please re-open this ticket and let us know.\n\nThank you.", "created": "2023-02-07T14:45:00.000000"}], "components": ["Windows"], "created": "2023-01-04T15:55:00.000000", "creator": "5c40e8688aa0b11661429843", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@785c7487"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lcy9:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Jan/23"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_3_*:*_2711403248_*|*_5_*:*_1_*:*_62776571_*|*_6_*:*_2_*:*_159231743"}], "description": "*Puppet Version:* 7.20.0\n{*}Puppet Server Version:{*} ** 7.20.0\n*OS Name/Version:* Windows 10\n\nUsing the package resource, version 2.1.802 of Microsoft .NET SDK x86 cannot be uninstalled like the x64 architecture or other versions (eg: 2.1.403, 5.0.102, 5.0.401).\n\nInstallers for Microsoft .NET SDK can be downloaded using a url like this [https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/sdk-${version}-windows-x86-installer|https://dotnet.microsoft.com/en-us/download/dotnet] and can be installed/uninstalled using something like this:\n{code:puppet}\npackage { \"Microsoft .NET ${optional_core}SDK ${version} (x86)\":\n  ensure \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0=> $ensure,\n  source \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0=> \"${download_folder}/dotnet-sdk-${version}-win-x86.exe\",\n  install_options \u00a0 => ['/install', '/passive', '/norestart'],\n  uninstall_options => ['/uninstall', '/passive', '/norestart'],\n}\npackage { \"Microsoft .NET ${optional_core}SDK ${version} (x64)\":\n  ensure \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0=> $ensure,\n  source \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0=> \"${download_folder}/dotnet-sdk-${version}-win-x86.exe\",\n  install_options \u00a0 => ['/install', '/passive', '/norestart'],\n  uninstall_options => ['/uninstall', '/passive', '/norestart'],\n}{code}\nexcept for version 2.1.802 that MUST be installed/uninstalled using something like this:\n{code:puppet}\nif $ensure == absent {\n    exec { '\"C:\\\\ProgramData\\\\Package Cache\\\\{92a4ca67-9d75-4067-8522-e684fd033096}\\\\dotnet-sdk-2.1.802-win-x86.exe\" /uninstall /passive /norestart':\n    onlyif => 'C:\\\\Windows\\\\System32\\\\reg.exe query HKLM\\\\SOFTWARE\\\\WOW6432Node\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Uninstall\\\\{92a4ca67-9d75-4067-8522-e684fd033096}',\n  }\n} else {\n  package { 'Microsoft .NET Core SDK 2.1.802 (x86)':\n    ensure \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0=> present,\n    source \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0=> \"${download_folder}/dotnet-sdk-2.1.802-win-x86.exe\",\n    install_options \u00a0 => ['/install', '/passive', '/norestart'],\n  }\n}\npackage { 'Microsoft .NET Core SDK 2.1.802 (x64)':\n  ensure \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0=> $ensure,\n  source \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0=> \"${download_folder}/dotnet-sdk-2.1.802-win-x64.exe\",\n  install_options \u00a0 => ['/install', '/passive', '/norestart'],\n  uninstall_options => ['/uninstall', '/passive', '/norestart'],\n}{code}\nThe cause seems to be that the package resource uninstalls Microsoft .NET SDK version 2.1.802 x86 using the msi provider:\n{noformat}\nmsiexec.exe /qn /norestart /x {F56405A6-5942-4EC9-A446-54167AA57752} $uninstall_options{noformat}\nwhen it could use the exe provider:\n{noformat}\n\"C:\\ProgramData\\Package Cache\\{92a4ca67-9d75-4067-8522-e684fd033096}\\dotnet-sdk-2.1.802-win-x86.exe\" \u00a0/uninstall $uninstall_options{noformat}\nI am wondering if the root cause could be [this|https://github.com/puppetlabs/puppet/blob/main/lib/puppet/provider/package/windows/package.rb#L28] where the MSI provider may be used before the EXE provider. It seems that in this case, the Microsoft .NET SDK EXE installer uses internally an MSI installer which results in both EXE and MSI Uninstall entries in the registry. It seems that uninstalling should be looking for the entry created by the EXE before looking for the entry created by the MSI.\n\n*Desired Behavior:*\n\nInstalling/uninstalling Microsoft .NET SDK version 2.1.802 should work using something like this:\n{code:puppet}\npackage { 'Microsoft .NET Core SDK 2.1.802 (x86)':\n  ensure \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0=> $ensure,\n  source \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0=> \"${download_folder}/dotnet-sdk-2.1.802-win-x86.exe\",\n  install_options \u00a0 => ['/install', '/passive', '/norestart'],\n  uninstall_options => ['/uninstall', '/passive', '/norestart'],\n}\npackage { 'Microsoft .NET Core SDK 2.1.802 (x64)':\n  ensure \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0=> $ensure,\n  source \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0=> \"${download_folder}/dotnet-sdk-2.1.802-win-x64.exe\",\n  install_options \u00a0 => ['/install', '/passive', '/norestart'],\n  uninstall_options => ['/uninstall', '/passive', '/norestart'],\n}{code}\n\n*Actual Behavior:*\n\nThe Microsoft .NET SDK version Version 2.1.802 must be installed/uninstalled with something like this:\n{code:puppet}\nif $ensure == absent {\n    exec { '\"C:\\\\ProgramData\\\\Package Cache\\\\{92a4ca67-9d75-4067-8522-e684fd033096}\\\\dotnet-sdk-2.1.802-win-x86.exe\" /uninstall /passive /norestart':\n    onlyif => 'C:\\\\Windows\\\\System32\\\\reg.exe query HKLM\\\\SOFTWARE\\\\WOW6432Node\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Uninstall\\\\{92a4ca67-9d75-4067-8522-e684fd033096}',\n  }\n} else {\n  package { 'Microsoft .NET Core SDK 2.1.802 (x86)':\n    ensure \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0=> present,\n    source \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0=> \"${download_folder}/dotnet-sdk-2.1.802-win-x86.exe\",\n    install_options \u00a0 => ['/install', '/passive', '/norestart'],\n  }\n}\npackage { 'Microsoft .NET Core SDK 2.1.802 (x64)':\n  ensure \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0=> $ensure,\n  source \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0=> \"${download_folder}/dotnet-sdk-2.1.802-win-x64.exe\",\n  install_options \u00a0 => ['/install', '/passive', '/norestart'],\n  uninstall_options => ['/uninstall', '/passive', '/norestart'],\n} {code}\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28771", "fixedVersions": [], "id": "28771", "issueType": "Bug", "key": "PUP-11695", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5c40e8688aa0b11661429843", "resolution": "Won't Do", "resolutionDate": "2023-02-07T14:45:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Windows package uninstall uses msi provider when exe provider available", "timeSpent": "PT0S", "updated": "2023-02-07T14:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de] you can set http connect and read timeouts for the agent (globally), see the configuration reference. Alternatively, you may want to use the puppet/archive module and pass curl options to retry, etc. But we don't have plans on adding http timeouts to the file type so I'm going to close this.", "created": "2023-01-03T14:25:00.000000"}], "components": ["Types and Providers"], "created": "2022-12-22T09:46:00.000000", "creator": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@9b550e8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lao1:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Jan/23"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1053580717_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 7.20*\n*Puppet Server Version: 7.20*\n*OS Name/Version: AlmaLinux 9*\n\nWhen fetching a resource over https, it is possible to reach a 60 second timeout canceling the fetch.\u00a0 This can be an intermittent problem if an overloaded webserver is hit by multiple clients at time or the link is temporarily congested.\n\n*Desired Behavior:*\n\nA way increase the timeout\n\n*Actual Behavior:*\n  file { \"${esp_dir}/${efi_rescue_dir}/images/${stage2_name}\":    ensure => 'file',    source => 'https://linux-mirrors.fnal.gov/linux/almalinux/9/BaseOS/x86_64/kickstart/images/install.img',\n  }\n\u00a0\n\nExamples:\nRun puppet agent with --test --trace --debug\n\n\u00a0\n{code:java}\nError: Request to https://linux-mirrors.fnal.gov/linux/almalinux/9/BaseOS/x86_64/kickstart/images/install.img interrupted after 61.723 seconds\nError: /Stage[main]/Efi_rescue/File[/boot/efi/rescue/images/install.img]/ensure: change from 'absent' to 'file' failed: Request to https://linux-mirrors.fnal.gov/linux/almalinux/9/BaseOS/x86_64/kickstart/images/install.img interrupted after 61.723 seconds{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24612", "fixedVersions": [], "id": "24612", "issueType": "Bug", "key": "PUP-11694", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "resolution": "Won't Do", "resolutionDate": "2023-01-03T14:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "file resource timeout fetching over https", "timeSpent": "PT0S", "updated": "2023-01-03T14:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I think this is variation of PUP-4429, though in this case it's underscore vs dash.", "created": "2022-12-15T16:38:00.000000"}], "components": [], "created": "2022-12-15T06:26:00.000000", "creator": "63d2e1780d930a766df1296b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3503719e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11660"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0l8jl:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Dec/22"}], "description": "*Puppet Version:* 7.21.0\n*Puppet Server Version:* N/A\n*OS Name/Version:* Ubuntu 22.04.1 Jammy\n\n{{puppet apply}} (and presumably {{agent}}) accepts a {{\\--show-diff}} parameter without failing, but it doesn\u2019t do anything. (The correct name for the parameter is {{\\--show_diff}}; note the underscore.)\n\nThis is mostly a problem because {{\\--show-diff}} is a natural guess based on the configuration reference. I\u2019m not sure it\u2019s actual name is documented outside of the help for the {{\\--test}} option.\n\n*Desired Behavior:* either fail with \u201cinvalid option\u201d or succeed as if {{\\--show_diff}} was specified.\n*Actual Behavior:* ignores the option\n{code}\u276f rm -f /tmp/foo ; touch /tmp/foo\n\u276f puppet apply --show_diff -e 'file { \"/tmp/foo\": content => \"${facts[system_uptime][seconds]}\\n\" }'\nNotice: Compiled catalog for vm3.oxidized.org in environment production in 0.01 seconds\nNotice: /Stage[main]/Main/File[/tmp/foo]/content: \n--- /tmp/foo\t2022-12-15 05:22:48.650776253 -0800\n+++ /tmp/puppet-file20221215-13413-13tokve\t2022-12-15 05:22:52.354791664 -0800\n@@ -0,0 +1 @@\n+77133\n\nNotice: /Stage[main]/Main/File[/tmp/foo]/content: content changed '{sha256}e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' to '{sha256}9bd523e3860777cd1c2d38207b95a7bc0bd8ed1d47afc839da1378ce71ad28f3'\nNotice: Applied catalog in 0.02 seconds\n\u276f sleep 1 ; puppet apply --show-diff -e 'file { \"/tmp/foo\": content => \"${facts[system_uptime][seconds]}\\n\" }'\nNotice: Compiled catalog for vm3.oxidized.org in environment production in 0.01 seconds\nNotice: /Stage[main]/Main/File[/tmp/foo]/content: content changed '{sha256}9bd523e3860777cd1c2d38207b95a7bc0bd8ed1d47afc839da1378ce71ad28f3' to '{sha256}3b9cd754c5b3f7219943c3ebdf2b51b972980cfc0d478e645784ae2b78699314'\nNotice: Applied catalog in 0.01 seconds\n\u276f puppet apply --invalid\nError: Could not parse application options: invalid option: --invalid\n{code}", "epicLinkSummary": "Puppet Maintenance CY23 Q3", "estimate": "PT0S", "externalId": "21488", "fixedVersions": [], "id": "21488", "issueType": "Bug", "key": "PUP-11693", "labels": [], "originalEstimate": "PT0S", "parent": "25704", "parentSummary": "Puppet Maintenance CY23 Q3", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "63d2e1780d930a766df1296b", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "puppet apply --show-diff does nothing", "timeSpent": "PT0S", "updated": "2023-01-03T14:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "body": "Hey [~accountid:63d2e1780d930a766df1296b],\n\nWhile this is understandably annoying, it seems like it's annoying behavior that is coming from apt and that puppet is working the same way apt does. We worry diverging from the behavior of apt could lead to more issues down the line so we're going to close this.", "created": "2023-01-03T14:42:00.000000"}], "components": [], "created": "2022-12-14T22:30:00.000000", "creator": "63d2e1780d930a766df1296b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4a43e1be"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0l8ih:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Jan/23"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1699915338_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:* 7.21.0\n*Puppet Server Version:* N/A\n*OS Name/Version:* Ubuntu 22.04.1 Jammy\n\nApparently {{apt-get install}} interprets the package name as a regular expression if it can\u2019t find the exact package name. This causes Puppet to incorrectly register a success when installing a package name that doesn\u2019t exist, but matches a different package.\n\n*Desired Behavior:* resource fails\n*Actual Behavior:* resource succeeds as a change on every run\n\n{code}\n\u276f docker run -it ubuntu:22.04\nroot@10d181367a3d:/# apt-get update -qq && apt-get install -y curl >/dev/null\ndebconf: delaying package configuration, since apt-utils is not installed\nroot@10d181367a3d:/# curl -OsS https://apt.puppet.com/puppet7-release-jammy.deb\nroot@10d181367a3d:/# dpkg -i puppet7-release-jammy.deb >/dev/null\nroot@10d181367a3d:/# apt-get update -qq && apt-get install -y puppet-agent >/dev/null\ndebconf: delaying package configuration, since apt-utils is not installed\nroot@10d181367a3d:/# dpkg -l | grep python3.9\nroot@10d181367a3d:/# /opt/puppetlabs/bin/puppet apply --debug -e 'package { \"python3.9\": ensure => present }'\n. . . stripped for readability . . .\nInfo: Applying configuration version '1671081429'\nDebug: Prefetching apt resources for package\nDebug: Executing '/usr/bin/dpkg-query -W --showformat '${Status} ${Package} ${Version}\\n''\nDebug: Executing: '/usr/bin/apt-mark showmanual'\nDebug: Executing: '/usr/bin/dpkg-query -W --showformat '${Status} ${Package} ${Version}\\n' python3.9'\nDebug: Executing: '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install python3.9'\nNotice: /Stage[main]/Main/Package[python3.9]/ensure: created\nDebug: Executing: '/usr/bin/apt-mark manual python3.9'\nDebug: /Package[python3.9]: The container Class[Main] will propagate my refresh event\n. . .\nroot@10d181367a3d:/# echo $?\n0\nroot@10d181367a3d:/# dpkg -l | grep python3.9\nroot@10d181367a3d:/# /opt/puppetlabs/bin/puppet apply -e 'package { \"python3.9\": ensure => present }'\nNotice: Compiled catalog for 10d181367a3d in environment production in 0.23 seconds\nNotice: /Stage[main]/Main/Package[python3.9]/ensure: created\nNotice: Applied catalog in 2.83 seconds\n{code}\n\nAs you can see, installing the invalid package appears to work on each run.\n\nTrying to install it manually shows the problem:\n\n{code}\nroot@10d181367a3d:/# apt-get install -y python3.9\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nNote, selecting 'python3.9-llfuse' for regex 'python3.9'\nNote, selecting 'python3-llfuse' instead of 'python3.9-llfuse'\npython3-llfuse is already the newest version (1.3.8+dfsg-2build1).\n0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.\n{code}\n\n[apt-get.8|https://manpages.ubuntu.com/manpages/xenial/en/man8/apt-get.8.html] explains:\n\n{quote}\nIf no package matches the given expression and the expression contains one of '.', '?' or '\\*' then it is assumed to be a POSIX regular expression, and it is applied to all package names in the database. Any matches are then installed (or removed). Note that matching is done by substring so 'lo.\\*' matches 'how-lo' and 'lowest'. If this is undesired, anchor the regular expression with a '^' or '$' character, or create a more specific regular expression.\n{quote}\n\nI didn\u2019t see an option to disable this behavior when I scanned the man page, which is\u2026 frustrating.\n\nPresumably Puppet could work around this by querying to see if the exact package existed in the Apt cache first.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25706", "fixedVersions": [], "id": "25706", "issueType": "Bug", "key": "PUP-11692", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "63d2e1780d930a766df1296b", "resolution": "Won't Fix", "resolutionDate": "2023-01-03T14:42:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Apt package installs sometimes fail silently", "timeSpent": "PT0S", "updated": "2023-01-03T14:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "[~accountid:63d40628f6e1b543161789a7] , [~accountid:557058:613151bd-b161-4bc3-9e32-335fdcef4d89] , [~accountid:5b64ddd7d1e8dc2d916c6289] this is the work for option #2 in the linked PE escalation.\n\nI think we can ship this in the next agent release and then give folks encountering this (and not using CD4PE) a path forward. We can then release a toggle in the next PE release for easier usage. Once CD4PE can use this we can default to having it on. I think Nick was working with Product to prioritize and get the work distributed to the correct teams, and Austin was coordinating from a technical side (and had already talked to CD4PE). Are those assumptions correct?", "created": "2022-12-14T15:22:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Some notes:\n* We should start by looking into the parser/locator approach and fallback to the post processing/serialization if that doesn't work out.\n* We need to coordinate the control of this behavior with consumers like CD4PE and may need to add a separate setting to manage whether or not versioned_dirs are reported or the symlink dir is reported.", "created": "2023-01-16T16:36:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "We released 7.22.0 puppet gem so bumping to 7.23.0", "created": "2023-01-24T18:27:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Promoted to Puppet Agent in https://github.com/puppetlabs/puppet-agent/commit/88f65cc025cda2b76ae0fd270799e2de862efcfe", "created": "2023-02-24T10:12:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Added Release notes.", "created": "2023-03-10T10:12:00.000000"}], "components": [], "created": "2022-12-14T14:01:00.000000", "creator": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@38a64ffd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11658"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ku60:zi"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "When the \"versioned_environment_dirs\" setting is enabled Puppet would previously report the full directory path to the environment *after* resolving symlinks as the source for resources in a catalog.\n\nPuppet will now report the path to the resource *before* resolving symlinks in the \"environmentpath\". Users may revert to the previous behavior by setting the new configuration option \"report_configured_environmentpath\" to false."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Jan/23"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_235244725_*|*_1_*:*_1_*:*_2335318697_*|*_10007_*:*_1_*:*_514821551_*|*_3_*:*_1_*:*_616003191_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1129554837_*|*_10005_*:*_1_*:*_1376138152"}], "description": "In PUP-10255 we added the ability to readlink symlinks within the environmentpath. This causes resources to report the full non-symlinked path as their location in the catalog and report. Now, when using versioned dirs, whenever a new code deployment happens that full path changes (because it contains the environment version in the path). This causes a lot of unnecessary churn in catalogs and reports because even unchanged resources look like they come from a different path.\n\nWe should enable the ability for a resource to report itself as coming from the symlinked path rather than the full path after readlinking. This ability should be behind a configuration flag and default to off.\n\n\u00a0\n\nNB.\n\nThis maybe be possible by editing how the source locator in the parser reports what file a resource it created came from. Though, if resources take that file information and try to access the disk themselves (eg, in a {{create_resources}} like step) then we may not be able to do so.\n\nAnother route may be to post process the catalog and adjust the every resource to use the original symlinked env path.", "epicLinkSummary": "Puppet Maintenance CY23 Q1", "estimate": "PT0S", "externalId": "22377", "fixedVersions": ["PUP 7.24.0"], "id": "22377", "issueType": "Improvement", "key": "PUP-11691", "labels": ["23Q1"], "originalEstimate": "PT0S", "parent": "21423", "parentSummary": "Puppet Maintenance CY23 Q1", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2023-02-24T10:13:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Provide setting to report non-versioned path to resource when using versioned dirs", "timeSpent": "PT0S", "updated": "2023-03-10T10:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Adding a \"scope\" parameter to the service type is not too difficult, but the tricky part is making sure the \"scope\" is part of the namevar (so that a user and global service with the same name don't conflict).", "created": "2023-01-03T14:50:00.000000"}], "components": [], "created": "2022-12-14T08:01:00.000000", "creator": "62ccea54e546e8eab8ee5c44", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3663f84"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11660"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0l821:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Jan/23"}], "description": "I am using system-wide installed systemd user services to run some maintenance stuff in the user session.\n\nCurrently I am not able to manage this with the Puppet service resource type (or I did not find any related documentation or discussion)\n\nReferences:\n* [systemctl parameter|https://www.freedesktop.org/software/systemd/man/systemctl.html#--global]\n* [Ansible parameter|https://docs.ansible.com/ansible/latest/collections/ansible/builtin/systemd_module.html#parameter-scope]", "epicLinkSummary": "Puppet Maintenance CY23 Q3", "estimate": "PT0S", "externalId": "20398", "fixedVersions": [], "id": "20398", "issueType": "Improvement", "key": "PUP-11690", "labels": [], "originalEstimate": "PT0S", "parent": "25704", "parentSummary": "Puppet Maintenance CY23 Q3", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "62ccea54e546e8eab8ee5c44", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "service resource type: support systemd user services (and timers) in global scope", "timeSpent": "PT0S", "updated": "2023-01-03T14:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61bb63041baa2b0069ef30a1", "attachments": [], "comments": [{"author": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "body": "I could be mistaken, but I think this means that spec-puppet has had strict_variables on for at least seven years. https://github.com/rodjek/rspec-puppet/blame/master/lib/rspec-puppet/adapters.rb#L153", "created": "2022-12-13T14:12:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Unfortunately, no. The adapter code just maps rspec config settings to puppet like: [https://github.com/puppetlabs/rspec-puppet/blob/587617c7314e9ea26cb77eed66c08a756fd4f18a/lib/rspec-puppet/adapters.rb#L27-L32]\n\nThe default for {{strict_varibles}} is defined in [https://github.com/puppetlabs/rspec-puppet/blob/587617c7314e9ea26cb77eed66c08a756fd4f18a/lib/rspec-puppet.rb#L52] And I don't see one for {{strict}} so I assume it inherits the behavior from whatever puppet version is being used.\n\n\u00a0\n\n\u00a0", "created": "2023-01-06T21:23:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Ah these are defined in the pdk-templates, see [https://github.com/puppetlabs/pdk-templates/commit/192de183ec39420a7f018b1b2c3e6426aa26114a] (in 2020) and [https://github.com/puppetlabs/pdk-templates/commit/7b2647cfb75c94564084330a7c1e54dc296796d1] (in 2018)", "created": "2023-01-06T21:39:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I think changing the default for strict_variables is fine, but changing the default for strict to error affects several things like coercing strings/numbers, parsing module metadata, serializing pcore data, ... We should chat about that and likely split \"strict\" into a separate ticket.", "created": "2023-01-20T17:49:00.000000"}, {"author": "61bb63041baa2b0069ef30a1", "body": "Changing the {{strict_variables}} default to true causes 14 failed tests and changing to default for {{strict}} from {{warning}} to {{error}} causes {*}~60 more failed tests{*}. Fixing 70 failed tests\u00a0seems like a lot for just 1 ticket. Due to this, I think it may be best to split up the work and just change the default for {{strict_variables}} for this ticket and make another ticket/s for changing the default for {{{}strict{}}}.\u00a0\n\nHere is the ticket to change {{strict}} default: https://puppet.atlassian.net/browse/PUP-11725 I wasn't sure if it would be best to break it down more but at least there's a ticket as a placeholder for the work", "created": "2023-01-24T17:52:00.000000"}], "components": [], "created": "2022-12-12T09:25:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2928cb67"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4664"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3fk:i00019e"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The strict_variables setting was introduced in Puppet 4.x. For Puppet 8, strict mode will be on by default which means strict_variables will be on & set to true by default and strict will default to error. Previously, strict_variables defaulted to false. With strict_variables on, an evaluation error will be raised when referencing unknown variables but not when referencing variables explicitly set to undef. This change could potentially be a breaking change."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Dec/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_90667034_*|*_1_*:*_1_*:*_103242499_*|*_10007_*:*_1_*:*_9342256_*|*_3_*:*_1_*:*_1377542726_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1976585337_*|*_10005_*:*_1_*:*_523082339"}], "description": "Puppet supports various strict language related settings. These were added in 2016 (puppet 4.x) and it's time to enable strict behavior by default.\n\n[strict|https://github.com/puppetlabs/puppet/blob/381a3e2b2e6858570fcc6e755bfae9eeff1226f1/lib/puppet/defaults.rb#L191]\n\n[strict_variables|https://github.com/puppetlabs/puppet/blob/381a3e2b2e6858570fcc6e755bfae9eeff1226f1/lib/puppet/defaults.rb#L2212]\n\nCurrently, strict_variables defaults to false and must default to true in order to enable strict mode by default.\n\nA good thing to verify - take a module like stdlib, test against puppet8 gem, change the setting for strict variables, and make sure the spec tests still pass. Note you can use the PUPPET_GEM_VERSION to pin to a local checkout of puppet rather than building a gem.", "epicLinkSummary": "Puppet 8", "estimate": "PT0S", "externalId": "22375", "fixedVersions": ["PUP 8.0.0"], "id": "22375", "issueType": "Improvement", "key": "PUP-11689", "labels": [], "originalEstimate": "PT0S", "parent": "57676", "parentSummary": "Puppet 8", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2023-01-28T14:53:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Enable strict mode by default by setting strict_variables default to true", "timeSpent": "PT0S", "updated": "2023-02-08T12:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "body": "Ok, talking to the dev team we should be able to pass `install_options` to the `pkg list` command.", "created": "2023-01-10T14:31:00.000000"}], "components": [], "created": "2022-12-08T14:21:00.000000", "creator": "6220dbd415521d00726b0564", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@306640bf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11659"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0l6jt:"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "50465"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Dec/22"}], "description": "Request for a new feature to allow either install_options to affect `pkg list` or alternatively add a new parameter allowing `install_options` to be specified for the pkg provider -\u00a0[https://github.com/puppetlabs/puppet/blob/d1463bbc0c17d4eada055bf9da94f05b86d10040/lib/puppet/provider/package/pkg.rb#L155]\n\nThe impact without this feature is that a user cannot specify options such as `--no-refresh` when upgrading Puppet agent.\u00a0\n\nReproduction steps\u00a0\n\nRestrict a Solaris node's access to pkg.oracle.com. Then, attempt to upgrade Puppet agent with the puppetlabs-puppet_agent module which results in an error:\n\nNotice: /Stage[main]/Puppet_agent::Osfamily::Solaris/Exec[puppet_agent ensure pkg publishers are available]: Triggered 'refresh' from 1 event\nError: Execution of '/usr/bin/pkg list -Hvfa puppet-agent@7.20.0' returned 1: pkg: 1/2 catalogs successfully updated:\n\n1/1 repositories for publisher 'solaris' could not be refreshed.\n\nUnable to contact valid package repository: [http://pkg.oracle.com/solaris/release/]\nEncountered the following error(s):\n\u00a0 Framework error: code: E_COULDNT_CONNECT (7) reason: Failed to connect to pkg.oracle.com port 80: Connection refused\nURL: 'http://pkg.oracle.com/solaris/release' (happened 4 times)\nError: /Stage[main]/Puppet_agent::Install::Solaris/Package[puppet-agent]/ensure: change from '6.28.0-1:20220718T152950Z' to '7.20.0' failed: Execution of '/usr/bin/pkg list -Hvfa puppet-agent@7.20.0' returned 1: pkg: 1/2 catalogs successfully updated:\n\n1/1 repositories for publisher 'solaris' could not be refreshed.\n\nUnable to contact valid package repository: [http://pkg.oracle.com/solaris/release/]\nEncountered the following error(s):\n\u00a0 Framework error: code: E_COULDNT_CONNECT (7) reason: Failed to connect to pkg.oracle.com port 80: Connection refused\nURL: 'http://pkg.oracle.com/solaris/release' (happened 4 times)\nNotice: /Stage[main]/Puppet_agent::Install::Solaris/Puppet_agent_end_run[7.20.0]: Dependency Package[puppet-agent] has failures: true\nWarning: /Stage[main]/Puppet_agent::Install::Solaris/Puppet_agent_end_run[7.20.0]: Skipping because of failed dependencies\nInfo: Class[Puppet_agent]: Unscheduling all events on Class[Puppet_agent]\nInfo: Stage[main]: Unscheduling all events on Stage\n[main]\n\nFurthermore, setting --no-refresh within puppet_agent::install_options does not propagate to the `pkg list`", "epicLinkSummary": "Puppet Maintenance CY23 Q2", "estimate": "PT0S", "externalId": "24611", "fixedVersions": [], "id": "24611", "issueType": "Improvement", "key": "PUP-11688", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": "24608", "parentSummary": "Puppet Maintenance CY23 Q2", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6220dbd415521d00726b0564", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Allow options to be passed to the pkg provider", "timeSpent": "PT0S", "updated": "2023-02-13T06:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "body": "I stepped on this issue on puppet 7.20 as well, not a problem on puppet 6\n\n", "created": "2023-01-27T14:20:00.000000"}, {"author": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "body": "FYI, puppet/systemd v4 exposes this flaw to all nodes\n", "created": "2023-01-30T08:26:00.000000"}], "components": [], "created": "2022-12-05T08:18:00.000000", "creator": "623a4a827910a200718ac35d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1b8b2432"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11658"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0l255:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Jan/23"}], "description": "The \"Total number of facts exceeds\" warning generated from https://github.com/puppetlabs/puppet/blob/main/lib/puppet/configurer.rb#L190 seems to incorrectly count the total number of facts.\n\nA fact which returns a Hash containing hashes (Hash[String, Hash]) will result in each hash entry being counted.  A fact which returns an Array of Hashes, say (Array[Hash[String, Scalar]), will result in each element in the array being counted.\n\nHowever, an array consisting of scalar entries (Array[Scalar]) will only count as one fact entry.\n\nThis behavior seems inconsistent, a bit confusing and nowhere have I found clear documentation on exactly what should count toward the maximum fact count nor the optimal data structure to use if we just can't avoid returning a very large number of structured elements (e.g. is it an Array[Hash], a Hash[String, Hash], something else? or maybe there is no significant difference?)\n\nIf the fact check is either overcounting (Hashes in Arrays) or undercounting (Scalars in Arrays) then it should be corrected. If the current behavior is correct then it would be great to get some documentation on what is \"good\" and what is \"bad\" for very large facts.\n\nThanks!\n", "epicLinkSummary": "Puppet Maintenance CY23 Q1", "estimate": "PT0S", "externalId": "27744", "fixedVersions": [], "id": "27744", "issueType": "Bug", "key": "PUP-11685", "labels": [], "originalEstimate": "PT0S", "parent": "21423", "parentSummary": "Puppet Maintenance CY23 Q1", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4a827910a200718ac35d", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Total number of fact warning not counting array elements", "timeSpent": "PT0S", "updated": "2023-01-30T08:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a1beb0b007eb21a79e5d6de", "attachments": [], "comments": [{"author": "557058:55399b77-3824-47d7-b99d-a0113bcca913", "body": "If `exclude_unchanged_resources` are set to true: Will we still see that a resource is managed by Puppet?\n\nI really love that I can check PE console (or any other reporting frontend) and see if a resource ia managed.", "created": "2022-12-12T09:06:00.000000"}, {"author": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "body": "[~accountid:70121:83c43a91-1367-4d35-b806-0b6bf79902a8] the reports seen in the PE Console will still show that info", "created": "2023-01-12T17:48:00.000000"}], "components": [], "created": "2022-12-01T20:50:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2d6c0119"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4664"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lc8c:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Unchanged resources are no longer included in the report by default. See the exclude_unchanged_resources setting for more details."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Dec/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_169187779_*|*_1_*:*_1_*:*_408333666_*|*_10007_*:*_1_*:*_176649559_*|*_3_*:*_1_*:*_6193114_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2939002641"}], "description": "The \"exclude_unchanged_resources\" setting was added in 7.21.0 and the default should be changed to \"true\" in Puppet 8.\n\nWhen this change is made, the report should not contain resources that didn't change. For example:\n\n{code:puppet}\nfile { '/tmp/unchanged':\n  ensure => file\n}\n{code}\n\nThe first time the agent runs, it should include a resource status for that resource. The second time it runs, it should be excluded since no changes were necessary.", "epicLinkSummary": "Puppet 8", "estimate": "PT0S", "externalId": "25705", "fixedVersions": ["PUP 8.0.0"], "id": "25705", "issueType": "Improvement", "key": "PUP-11684", "labels": [], "originalEstimate": "PT0S", "parent": "57676", "parentSummary": "Puppet 8", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2023-01-13T16:26:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Change default value of \"exclude_unchanged_resources\"", "timeSpent": "PT0S", "updated": "2023-01-13T16:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:89116718-adb8-45d4-bcd9-1483be79f43a] the problem is that the prefetch command for the pip3 provider executes before all of the virtual environments are created. So you will want to create all of the environments first before managing pip3 packages like:\n{code:puppet}\n  # setup all of the virtual environments\n  $venvs.each |$venv| {\n\u00a0 \u00a0 $venv_path = \"${venv_base_path}/${venv['name']}/bin\"\n\u00a0 \u00a0 $pip = \"${venv_path}/pip3\"\n\n\u00a0 \u00a0 exec { \"setup_venv_${venv['name']}\":\n\u00a0 \u00a0 \u00a0 command => \"python3 -m venv --upgrade ${venv_base_path}/${venv['name']}\",\n\u00a0 \u00a0 \u00a0 path \u00a0 \u00a0=> $facts['path'],\n\u00a0 \u00a0 \u00a0 unless \u00a0=> \"test -L ${venv_path}/python3\",\n\u00a0 \u00a0 }\n\u00a0 }\n  # manage packages within each environment\n\u00a0 $venvs.each |$venv| {\n\u00a0 \u00a0 $venv_path = \"${venv_base_path}/${venv['name']}/bin\"\n\u00a0 \u00a0 $pip = \"${venv_path}/pip3\"\n\n\u00a0 \u00a0 $venv['modules'].each |$module| {\n\u00a0 \u00a0 \u00a0 notice(\"module ${module['name']}\")\n\n\u00a0 \u00a0 \u00a0 $mod_ver = if $module['version'] {\n\u00a0 \u00a0 \u00a0 \u00a0 $module['version']\n\u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 \u00a0 else {\n\u00a0 \u00a0 \u00a0 \u00a0 latest\n\u00a0 \u00a0 \u00a0 }\n\n\u00a0 \u00a0 \u00a0 package { \"mod_${venv['name']}_${module['name']}\":\n\u00a0 \u00a0 \u00a0 \u00a0 name \u00a0 \u00a0 => $module['name'],\n\u00a0 \u00a0 \u00a0 \u00a0 ensure \u00a0 => $mod_ver,\n\u00a0 \u00a0 \u00a0 \u00a0 provider => 'pip3',\n\u00a0 \u00a0 \u00a0 \u00a0 command \u00a0=> $pip,\n\u00a0 \u00a0 \u00a0 \u00a0 require \u00a0=> Exec[\"setup_venv_${venv['name']}\"],\n\u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 }\n\u00a0 }\n{code}\nAlso I think you want to specify the {{command}} as {{$pip = \"${venv_path}/pip3\"}} so that you don't mix the \"pip\" command with the \"pip3\" provider.\n\nI can't install cffi on my system, but if I change the hiera data to \"celery\", then the manifest applies successfully:\n{code:yaml}---\npython::venvs:\n  - name: foo\n    modules:\n      - name: celery\n  - name: bar\n    modules:\n      - name: celery\n  - name: baz\n    modules:\n      - name: celery\n        version: 4.4.7\n{code}\n{noformat}Debug: /Stage[main]/Python/Package[python3-pip]/require: require to Package[python3]\nDebug: /Stage[main]/Python/Package[python3-venv]/require: require to Package[python3]\nDebug: /Stage[main]/Python/Package[mod_foo_celery]/require: require to Exec[setup_venv_foo]\nDebug: /Stage[main]/Python/Package[mod_bar_celery]/require: require to Exec[setup_venv_bar]\nDebug: /Stage[main]/Python/Package[mod_baz_celery]/require: require to Exec[setup_venv_baz]\nDebug: Prefetching apt resources for package\nDebug: Executing '/usr/bin/dpkg-query -W --showformat '${Status} ${Package} ${Version}\\n''\nDebug: Executing: '/usr/bin/apt-mark showmanual'\nDebug: Executing: '/usr/bin/apt-cache policy python3'\nDebug: Executing: '/usr/bin/apt-cache policy python3-pip'\nDebug: Executing: '/usr/bin/apt-cache policy python3-venv'\nNotice: /Stage[main]/Python/File[venv_base]/ensure: created\nDebug: /Stage[main]/Python/File[venv_base]: The container Class[Python] will propagate my refresh event\nDebug: Exec[setup_venv_foo](provider=posix): Executing check 'test -L /opt/venvs/foo/bin/python3'\nDebug: Executing: 'test -L /opt/venvs/foo/bin/python3'\nDebug: Exec[setup_venv_foo](provider=posix): Executing 'python3 -m venv --upgrade /opt/venvs/foo'\nDebug: Executing: 'python3 -m venv --upgrade /opt/venvs/foo'\nNotice: /Stage[main]/Python/Exec[setup_venv_foo]/returns: executed successfully\nDebug: /Stage[main]/Python/Exec[setup_venv_foo]: The container Class[Python] will propagate my refresh event\nDebug: Exec[setup_venv_bar](provider=posix): Executing check 'test -L /opt/venvs/bar/bin/python3'\nDebug: Executing: 'test -L /opt/venvs/bar/bin/python3'\nDebug: Exec[setup_venv_bar](provider=posix): Executing 'python3 -m venv --upgrade /opt/venvs/bar'\nDebug: Executing: 'python3 -m venv --upgrade /opt/venvs/bar'\nNotice: /Stage[main]/Python/Exec[setup_venv_bar]/returns: executed successfully\nDebug: /Stage[main]/Python/Exec[setup_venv_bar]: The container Class[Python] will propagate my refresh event\nDebug: Exec[setup_venv_baz](provider=posix): Executing check 'test -L /opt/venvs/baz/bin/python3'\nDebug: Executing: 'test -L /opt/venvs/baz/bin/python3'\nDebug: Exec[setup_venv_baz](provider=posix): Executing 'python3 -m venv --upgrade /opt/venvs/baz'\nDebug: Executing: 'python3 -m venv --upgrade /opt/venvs/baz'\nNotice: /Stage[main]/Python/Exec[setup_venv_baz]/returns: executed successfully\nDebug: /Stage[main]/Python/Exec[setup_venv_baz]: The container Class[Python] will propagate my refresh event\nDebug: Prefetching pip3 resources for package\nDebug: Executing '/opt/venvs/foo/bin/pip3 --version'\nDebug: Executing '/opt/venvs/foo/bin/pip3 freeze --all'\nDebug: Executing '/opt/venvs/bar/bin/pip3 --version'\nDebug: Executing '/opt/venvs/bar/bin/pip3 freeze --all'\nDebug: Executing '/opt/venvs/baz/bin/pip3 --version'\nDebug: Executing '/opt/venvs/baz/bin/pip3 freeze --all'\nDebug: Executing '/opt/venvs/foo/bin/pip3 --version'\nDebug: Executing '/opt/venvs/foo/bin/pip3 freeze --all'\nDebug: Executing: '/opt/venvs/foo/bin/pip3 install -q --upgrade celery'\nNotice: /Stage[main]/Python/Package[mod_foo_celery]/ensure: created\nDebug: /Package[mod_foo_celery]: The container Class[Python] will propagate my refresh event\nDebug: Executing '/opt/venvs/bar/bin/pip3 --version'\nDebug: Executing '/opt/venvs/bar/bin/pip3 freeze --all'\nDebug: Executing: '/opt/venvs/bar/bin/pip3 install -q --upgrade celery'\nNotice: /Stage[main]/Python/Package[mod_bar_celery]/ensure: created\nDebug: /Package[mod_bar_celery]: The container Class[Python] will propagate my refresh event\nDebug: Executing '/opt/venvs/baz/bin/pip3 --version'\nDebug: Executing '/opt/venvs/baz/bin/pip3 freeze --all'\nDebug: Executing: '/opt/venvs/baz/bin/pip3 install -q celery==4.4.7'\nNotice: /Stage[main]/Python/Package[mod_baz_celery]/ensure: created\nDebug: /Package[mod_baz_celery]: The container Class[Python] will propagate my refresh event\n{noformat}\n\u00a0", "created": "2023-01-11T16:14:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I don't think there's anything puppet could do differently about this, so I'm going to close.", "created": "2023-01-11T16:17:00.000000"}, {"author": "557058:89116718-adb8-45d4-bcd9-1483be79f43a", "body": "[~accountid:63d40628f6e1b543161789a7] , thanks a lot, that helped me get things working.\n\nFor the record: I finally ended up with a defined type \"python::venv\" which sets up a single virtual environment together with its modules. The \"exec\" for creating the venv, as well as the \"package\" resources for each module, are now created as tagged virtual resources, which are finally realized using\n{code:puppet}Exec <| tag == 'PythonVenvSetup' |> -> Package <| tag == 'PythonVenvModule' |>{code}\nThis allows me to create as much virtual environments as I want, even in a loop, in just one single agent run.\n{code:puppet}\ndefine python::venv (\n\u00a0 $venv \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 = $title,\n\u00a0 $modules \u00a0 \u00a0 \u00a0 \u00a0= [],\n) {\n\u00a0 ...\n\n\u00a0 @exec { \"setup_venv_${venv}\":\n\u00a0 \u00a0 command \u00a0 => \"${python_exe} -m venv --upgrade ${venv_base_path}/${venv}\",\n\u00a0 \u00a0 path \u00a0 \u00a0 \u00a0=> $facts['path'],\n\u00a0 \u00a0 provider \u00a0=> $exec_provider,\n\u00a0 \u00a0 unless \u00a0 \u00a0=> $unless_cmd,\n\u00a0 \u00a0 require \u00a0 => $venv_req,\n\u00a0 \u00a0 logoutput => true,\n\u00a0 \u00a0 tag \u00a0 \u00a0 \u00a0 => ['PythonVenvSetup'],\n\u00a0 }\n\n\u00a0 $modules.each |$module| {\n\u00a0 \u00a0 ...\n\n\u00a0 \u00a0 @package { \"mod_${venv}_${module['name']}\":\n\u00a0 \u00a0 \u00a0 name \u00a0 \u00a0 => $module['name'],\n\u00a0 \u00a0 \u00a0 ensure \u00a0 => $mod_ver,\n\u00a0 \u00a0 \u00a0 provider => pip3,\n\u00a0 \u00a0 \u00a0 command \u00a0=> $pip,\n\u00a0 \u00a0 \u00a0 require \u00a0=> $mod_deps,\n\u00a0 \u00a0 \u00a0 tag \u00a0 \u00a0 \u00a0=> ['PythonVenvModule'],\n\u00a0 \u00a0 }\n\u00a0 }\n\n  # Collect the virtual resources to ensure that all virtual environments\n\u00a0 # are created before any module is installed.\n\u00a0 Exec <| tag == 'PythonVenvSetup' |> -> Package <| tag == 'PythonVenvModule' |>\n}\n{code}\n\u00a0", "created": "2023-01-12T07:08:00.000000"}], "components": [], "created": "2022-11-25T07:59:00.000000", "creator": "557058:89116718-adb8-45d4-bcd9-1483be79f43a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Package provider pip3 doesn't error out on first run if targeting a pip executable from a just created virtual environment."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@74f33f57"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0kzix:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Dec/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4090666092_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:* 7.20.0\n*Puppet Server Version:* latest\n*OS Name/Version:* Debian 11\n\nGiven the following Puppet class:\u00a0\n{code:puppet}# Install Python, and optionally configure different virtual\n# environments with a set of given modules\n\n# Parameters:\n# \u00a0 - venvs: A list of virtual environments to be installed,\n# \u00a0 \u00a0 \u00a0 together with a set of modules. It should have the following\n# \u00a0 \u00a0 \u00a0 content:\n# python::venvs:\n# \u00a0 - name: foo\n# \u00a0 \u00a0 modules:\n# \u00a0 \u00a0 \u00a0 - name: bar\n# \u00a0 \u00a0 \u00a0 \u00a0 version: 1.2.3\n# \u00a0 \u00a0 \u00a0 - name: baz\n# \u00a0 \u00a0 \u00a0 \u00a0 version: latest\n# \u00a0 - name: no_modules\n# \u00a0 \u00a0 modules: []\n# \u00a0 ...\n#\n# NOTE: Module version defaults to latest if not specified\n\nclass python (\n\u00a0 venvs = [],\n) {\n\u00a0 $venv_base_path = '/opt/venvs'\n\n\u00a0 package { 'python3':\n\u00a0 \u00a0 ensure \u00a0=> latest,\n\u00a0 }\n\n\u00a0 ['python3-pip', 'python3-venv'].each |$pkg| {\n\u00a0 \u00a0 package { $pkg:\n\u00a0 \u00a0 \u00a0 ensure \u00a0=> latest,\n\u00a0 \u00a0 \u00a0 require => Package['python3'],\n\u00a0 \u00a0 }\n\u00a0 }\n\n\u00a0 file { 'venv_base':\n\u00a0 \u00a0 path \u00a0 \u00a0=> $venv_base_path,\n\u00a0 \u00a0 ensure \u00a0=> directory,\n\u00a0 }\n\n\u00a0 $venvs.each |$venv| {\n\u00a0 \u00a0 $venv_path = \"${venv_base_path}/${venv['name']}/bin\"\n\u00a0 \u00a0 $pip = \"${venv_path}/pip\"\n\n\u00a0 \u00a0 exec { \"setup_venv_${venv['name']}\":\n\u00a0 \u00a0 \u00a0 command => \"python3 -m venv --upgrade ${venv_base_path}/${venv['name']}\",\n\u00a0 \u00a0 \u00a0 path \u00a0 \u00a0=> $facts['path'],\n\u00a0 \u00a0 \u00a0 unless \u00a0=> \"test -L ${venv_path}/python3\",\n\u00a0 \u00a0 }\n\n\u00a0 \u00a0 $venv['modules'].each |$module| {\n\u00a0 \u00a0 \u00a0 $mod_ver = if $module['version'] {\n\u00a0 \u00a0 \u00a0 \u00a0 $module['version']\n\u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 \u00a0 else {\n\u00a0 \u00a0 \u00a0 \u00a0 latest\n\u00a0 \u00a0 \u00a0 }\n\n\u00a0 \u00a0 \u00a0 package { \"mod_${venv['name']}_${module['name']}\":\n\u00a0 \u00a0 \u00a0 \u00a0 name \u00a0 \u00a0 => $module['name'],\n\u00a0 \u00a0 \u00a0 \u00a0 ensure \u00a0 => $mod_ver,\n\u00a0 \u00a0 \u00a0 \u00a0 provider => 'pip3',\n\u00a0 \u00a0 \u00a0 \u00a0 command \u00a0=> $pip,\n\u00a0 \u00a0 \u00a0 \u00a0 require \u00a0=> Exec[\"setup_venv_${venv['name']}\"],\n\u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 }\n\u00a0 }\n}\n{code}\nand the following input data:\u00a0\n{code:yaml}python::venvs:\n\u00a0\u00a0- name: foo\n\u00a0\u00a0\u00a0\u00a0modules:\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0- name: cffi\n\u00a0\u00a0- name: bar\n\u00a0\u00a0\u00a0\u00a0modules:\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0- name: celery\n\u00a0\u00a0- name: baz\n\u00a0\u00a0\u00a0\u00a0modules:\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0- name: celery\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0version: 4.4.7\n{code}\n\u00a0the pip3 package provider fails on first run.\n\n*Desired Behavior:*\n\nFirst run of the class should succeed w/o error.\n\n*Actual Behavior:*\n\nThe class needs two runs to succeed because the first one errors out with\u00a0\n{code:java}Error: Could not prefetch package provider 'pip3': Provider pip3 package command '/opt/venvs/bar/bin/pip' does not exist on this host\n{code}\nThe second run finally succeeds because this time '/opt/venvs/bar/bin/pip' exists.", "environment": "Linux", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26760", "fixedVersions": [], "id": "26760", "issueType": "Bug", "key": "PUP-11681", "labels": ["needs-validation"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:89116718-adb8-45d4-bcd9-1483be79f43a", "resolution": "Incomplete", "resolutionDate": "2023-01-11T16:17:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Package provider \"pip3\" fails to target pip from virtual env on first run", "timeSpent": "PT0S", "updated": "2023-01-17T21:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-11-18T11:10:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4fc1078b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11669"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0kvip:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5246_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1724249635"}], "description": "(Initial planned release date: 2022-12-06)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2022-12-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "estimate": "PT0S", "externalId": "22442", "fixedVersions": [], "id": "22442", "issueType": "Task", "key": "PUP-11679", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20396", "parentSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-12-08T10:07:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 7.21.0)", "timeSpent": "PT0S", "updated": "2022-12-08T10:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-11-18T11:10:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6cf2c930"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11669"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0kvih:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5820_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2063053347"}], "description": "(Initial planned release date: 2022-12-06)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.descriptions\n", "duedate": "2022-12-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "estimate": "PT0S", "externalId": "21486", "fixedVersions": [], "id": "21486", "issueType": "Task", "key": "PUP-11678", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20396", "parentSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-12-12T08:14:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 7.21.0)", "timeSpent": "PT0S", "updated": "2022-12-12T08:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-11-18T11:10:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1fa07c25"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11669"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0kvi9:"}], "description": "(Initial planned release date: 2022-12-06)\n\nSchedule a retrospective for this release. This should happen as soon as possible after the release, so that details are fresh in our heads.\nEnsure all current release leads are invited and that the Trello board is shared with them.\n* [~accountid:557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629]\n* Former user\n* [~accountid:61bb63041baa2b0069ef30a1]\n* [~accountid:5ade3a9f91bc312e6a4a30f3]\n* [~accountid:623c166301f8660070b700f4]\n", "duedate": "2022-12-06T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "estimate": "PT0S", "externalId": "20397", "fixedVersions": [], "id": "20397", "issueType": "Task", "key": "PUP-11677", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20396", "parentSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Schedule a retrospective (Puppet Platform 7.21.0)", "timeSpent": "PT0S", "updated": "2022-11-18T11:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-11-18T11:10:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2db02218"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11669"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0kvi1:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7074_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2063037410"}], "description": "(Initial planned release date: 2022-12-06)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 7.21.0 is now available\"\n", "duedate": "2022-12-06T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "estimate": "PT0S", "externalId": "29889", "fixedVersions": [], "id": "29889", "issueType": "Task", "key": "PUP-11676", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20396", "parentSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-12-12T08:14:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Send release announcement (Puppet Platform 7.21.0)", "timeSpent": "PT0S", "updated": "2022-12-12T08:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-11-18T11:10:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6a0a8d8d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11669"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0kvhl:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_8335_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2063014415"}], "description": "(Initial planned release date: 2022-12-06)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2022-12-06T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "estimate": "PT0S", "externalId": "27743", "fixedVersions": [], "id": "27743", "issueType": "Task", "key": "PUP-11675", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20396", "parentSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-12-12T08:13:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 7.21.0)", "timeSpent": "PT0S", "updated": "2022-12-12T08:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-11-18T11:10:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@104b6dfd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11669"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0kvhd:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_9063_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1724225836"}], "description": "(Initial planned release date: 2022-12-06)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2022-12-05T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "estimate": "PT0S", "externalId": "26759", "fixedVersions": [], "id": "26759", "issueType": "Task", "key": "PUP-11674", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20396", "parentSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-12-08T10:07:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 7.21.0)", "timeSpent": "PT0S", "updated": "2022-12-08T10:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-11-18T11:09:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@c96791e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11669"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0kvgx:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_10348_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1724214003"}], "description": "(Initial planned release date: 2022-12-06)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping Former user for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2022-12-05T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "estimate": "PT0S", "externalId": "24610", "fixedVersions": [], "id": "24610", "issueType": "Task", "key": "PUP-11673", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20396", "parentSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-12-08T10:07:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare release announcement (Puppet Platform 7.21.0)", "timeSpent": "PT0S", "updated": "2022-12-08T10:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-11-18T11:09:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3bdfcce3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11669"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0kvgp:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_10911_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1724200225"}], "description": "(Initial planned release date: 2022-12-06)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2022-12-03T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "estimate": "PT0S", "externalId": "23564", "fixedVersions": [], "id": "23564", "issueType": "Task", "key": "PUP-11672", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20396", "parentSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-12-08T10:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 7.21.0)", "timeSpent": "PT0S", "updated": "2022-12-08T10:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-11-18T11:09:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@76766ffd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11669"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0kvgh:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_11502_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1724186486"}], "description": "(Initial planned release date: 2022-12-06)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2022-12-01T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "estimate": "PT0S", "externalId": "22441", "fixedVersions": [], "id": "22441", "issueType": "Task", "key": "PUP-11671", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20396", "parentSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-12-08T10:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 7.21.0)", "timeSpent": "PT0S", "updated": "2022-12-08T10:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-11-18T11:09:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@196aec44"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11669"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0kvg9:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_12117_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1724174982"}], "description": "(Initial planned release date: 2022-12-06)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 7.21.0 and puppet-agent 7.21.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2022-12-01T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "estimate": "PT0S", "externalId": "21425", "fixedVersions": [], "id": "21425", "issueType": "Task", "key": "PUP-11670", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20396", "parentSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-12-08T10:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 7.21.0)", "timeSpent": "PT0S", "updated": "2022-12-08T10:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-11-18T11:09:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Skeletor"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6ff7e173"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-13"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 7.21.0 Release - 2022-12-06"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_green"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0gyuz:k"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Dec/22"}], "description": "Puppet Platform 7.21.0 Release - 2022-12-06", "duedate": "2022-12-06T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20396", "fixedVersions": [], "id": "20396", "issueType": "Epic", "key": "PUP-11669", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet Platform 7.21.0 Release - 2022-12-06", "timeSpent": "PT0S", "updated": "2022-12-12T09:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "There was a similar, but different issue with task metadata loading in PUP-11629.", "created": "2022-12-01T12:09:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Added a release note, however I don't see this endpoint publicly documented so we probably don't need much in the way of docs for it. (Maybe just this mention in the release notes, no pages updated)", "created": "2022-12-05T17:40:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This caused a failure in Puppet Server CI that should be taken care of by https://github.com/puppetlabs/puppetserver/pull/2674", "created": "2022-12-07T14:14:00.000000"}], "components": [], "created": "2022-11-10T16:50:00.000000", "creator": "5ade3a9f91bc312e6a4a30f3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7ee57123"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3v7:a066j8r8492i00001i"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Invalid JSON in a task metadata file will cause the task to be skipped in the GET `/tasks` endpoint rather than causing the whole response to return 500."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Dec/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_507344360_*|*_1_*:*_1_*:*_587873451_*|*_10007_*:*_1_*:*_30512436_*|*_3_*:*_1_*:*_87288376_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1121981128"}], "description": "If a module is deployed that contains a task with bad JSON metadata no tasks can be listed for the entire environment.\u00a0\n\n\u00a0\n\nWhen a task has un-readable JSON we should just ignore the metatdata for that task and ensure that other tasks in the environment can still be listed.\u00a0\n\n\u00a0\n\nThis may have been introduced with [https://github.com/puppetlabs/puppetserver/pull/2641]\n\n\u00a0\n\nWhen we fail to load metadata the task should not be included in the list.\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24609", "fixedVersions": ["PUP 7.21.0"], "id": "24609", "issueType": "Bug", "key": "PUP-11683", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5ade3a9f91bc312e6a4a30f3", "resolution": "Fixed", "resolutionDate": "2022-12-07T17:26:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Tasks are unable to be listed when a single task in an environment has malformed metadata", "timeSpent": "PT0S", "updated": "2022-12-07T17:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "6243b1e6f6a26900695c26e4", "body": "https://github.com/puppetlabs/puppet/pull/8943", "created": "2022-10-29T02:22:00.000000"}], "components": [], "created": "2022-10-29T02:16:00.000000", "creator": "6243b1e6f6a26900695c26e4", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5c1a6011"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0knnd:"}], "description": "In PUP-10298 the yum (and by inheritance the dnf) provider got support for version ranges, but this was not documented and thus is not listed as such on [https://puppet.com/docs/puppet/7/types/package.html#package-provider-features]\n\n\u00a0\n\nIn PUP-10297 the same was implemented for apt, and also not documented.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29886", "fixedVersions": [], "id": "29886", "issueType": "Improvement", "key": "PUP-11667", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6243b1e6f6a26900695c26e4", "status": "Ready for Merge", "statusCategory": "In Progress", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "document version range support for yum/dnf and apt providers", "timeSpent": "PT0S", "updated": "2022-11-09T11:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623a4a827910a200718ac35d", "body": "I put up a PR for this: https://github.com/puppetlabs/puppet/pull/8941\nThanks!", "created": "2022-10-28T07:33:00.000000"}], "components": ["Types and Providers"], "created": "2022-10-28T07:32:00.000000", "creator": "623a4a827910a200718ac35d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7cc29902"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0knjd:"}], "description": "The resources resource type works as is in both host and device mode, but right now it can't be used to manage device resources because it hasn't been marked as \"apply_to_all\".  Marking it as \"apply_to_all\" enables it to be used to purge device resources without troubles.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21424", "fixedVersions": [], "id": "21424", "issueType": "Improvement", "key": "PUP-11666", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4a827910a200718ac35d", "status": "Ready for Merge", "statusCategory": "In Progress", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Resources type should be marked as \"apply_to_all\"", "timeSpent": "PT0S", "updated": "2022-11-09T11:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2022-10-27T15:11:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@333d9854"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4773"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0knep:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}], "description": "See https://confluence.puppetlabs.com/display/AGENT/How+to+add+a+platform+for+puppet-agent#Howtoaddaplatformforpuppetagent-update_public_facing_docs\n", "epicLinkSummary": "Add macOS 13 (ARM) FOSS support", "estimate": "PT0S", "externalId": "28770", "fixedVersions": [], "id": "28770", "issueType": "Task", "key": "PUP-11665", "labels": ["os"], "originalEstimate": "PT0S", "parent": "58158", "parentSummary": "Add macOS 13 (ARM) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "16. Update Public-facing Puppet docs to include macOS 13 (ARM)", "timeSpent": "PT0S", "updated": "2022-10-27T15:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "body": "[~accountid:623a4a827910a200718ac35d] this doesn't fix the issue, but I've got a simple module that makes {{versioncmp()}} easier to use. A PR to add {{Semver}} support would be rad.\n\nhttps://github.com/binford2k/binford2k-version", "created": "2022-10-25T15:02:00.000000"}], "components": ["Functions"], "created": "2022-10-25T12:39:00.000000", "creator": "623a4a827910a200718ac35d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3c286d28"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4664"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3fk:i0bu3u9szi"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Oct/22"}], "description": "The Puppet max/min functions do not handle Semver types correctly. The \"Any\" data type function signature matches, they are converted to strings, compare as strings, and are often incorrect. Based on the spec tests for max/min it looks to be explicitly called out behavior, which I assume it means that it can't change until a new major Puppet version: https://github.com/puppetlabs/puppet/blob/main/spec/unit/functions/max_spec.rb#L77\n\nIt would be great if min/max would support all the applicable data types in their native/correct fashion. At least Semver, Timestamp, and Timespan should all be added and the deprecated Any behavior removed.\n\nCurrent behavior:\n\n{noformat}\n$ bundle exec puppet apply -e 'notice(max(Semver.new(\"2.0.0\"), Semver.new(\"10.0.0\")))'\nWarning: The max() function's auto conversion of Any to String is deprecated - change to convert input before calling, or use lambda\n   (file & line not available)\nNotice: Scope(Class[main]): 2.0.0\n{noformat}\n\nDesired behavior:\n\n{noformat}\n$ bundle exec puppet apply -e 'notice(max(Semver.new(\"2.0.0\"), Semver.new(\"10.0.0\")))'\nNotice: Scope(Class[main]): 10.0.0\n{noformat}\n\nSimilarly for the {{min}} function and when comparing {{Timestamp}} and {{Timespan}}", "epicLinkSummary": "Puppet 8", "estimate": "PT0S", "externalId": "27742", "fixedVersions": [], "id": "27742", "issueType": "Improvement", "key": "PUP-11663", "labels": [], "originalEstimate": "PT0S", "parent": "57676", "parentSummary": "Puppet 8", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4a827910a200718ac35d", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "max/min core functions are incorrect for Semver types", "timeSpent": "PT0S", "updated": "2023-03-09T11:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2022-10-20T17:07:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "By default there should be no change in how the agent collects or sends facts (legacy, core, external or custom)\n\nIf legacy facts are disabled, via include_legacy_facts=false or --no-include_legacy_facts, then the agent should not send legacy facts. However, types and providers that confine or set defaultsfor based on legacy facts should still work. Also custom and external facts should continue to be sent."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7157f06"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11619"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3fk:i1"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Adds a puppet setting \"include_legacy_facts\" to control whether legacy facts are sent to puppetserver when requesting a catalog. By default, puppet continues to send legacy facts, but it can be disabled provided all puppet manifests, hiera.yaml and hiera configuration layers have been modified to no longer use legacy facts."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_696479878_*|*_1_*:*_1_*:*_422612839_*|*_10007_*:*_2_*:*_307414033_*|*_3_*:*_1_*:*_343853017_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_33455856"}], "description": "Puppet agents send core facts to puppetserver in two forms (legacy and structured). In a default agent install, legacy facts account for 25% of the overall fact data when serialized on the wire. The actual savings depends on the number of processors, block devices and network interfaces, because facter adds multiple legacy facts per instance:\n\n{noformat}\nblockdevice_sda_model => ...\nblockdevice_sda_size => 1024209543168\nblockdevice_sda_vendor => ...\n...\nprocessor0 => 11th Gen ...\nprocessor1 => 11th Gen ...\n...\nprocessorN => 11th Gen ...\n...\nipaddress6_lo => ::1\nipaddress_lo => 127.0.0.1\nmtu_lo => 65536\nnetmask6_lo => ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff\nnetmask_lo => 255.0.0.0\nnetwork6_lo => ::1\nnetwork_lo => 127.0.0.0\nscope6_lo => host\n{noformat}\n\n\nAnd legacy facts cause problems for puppetserver when using ERB templates because of the way top-scope variables are bound to instance variables in the scope. See PUP-9577\n\nMost of the puppet ecosystem has moved to structured facts, for example, there is a puppet-lint plugin to find and correct legacy fact usage in puppet modules: https://github.com/mmckinst/puppet-lint-legacy_facts-check\n\nWhile it's possible to block legacy facts (using facter's block list), doing so breaks puppet's builtin providers, as they rely on legacy facts for confining and defaulting providers, see PUP-11430\n\nThis ticket is to allow the agent to exclude legacy facts that it sends to puppetserver. The default behavior should remain the same in 7.x and in 8.0 we can exclude legacy facts by default (see PUP-11430).", "epicLinkSummary": "Puppet Maintenance CY22 Q4", "estimate": "PT0S", "externalId": "22440", "fixedVersions": ["PUP 7.21.0"], "id": "22440", "issueType": "Improvement", "key": "PUP-11662", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": "26723", "parentSummary": "Puppet Maintenance CY22 Q4", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2022-11-10T13:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Allow legacy facts to be excluded", "timeSpent": "PT0S", "updated": "2023-01-19T11:40:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [{"author": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "body": "The implementation change of PUP-11654 makes the first two concerns about {{corrective_change}} and {{noop_pending}} not applicable", "created": "2022-12-01T15:28:00.000000"}], "components": [], "created": "2022-10-20T11:48:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@42344c93"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ki7l:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Dec/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_442061368_*|*_3_*:*_1_*:*_1299553588_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1974868023"}], "description": "In PUP-11654, we're adding a setting to not send unchanged resource statuses. However, some fields in the report are derived from resource statuses and events. For example, the [{{corrective_change}}|https://github.com/puppetlabs/puppet/blob/eb498be4bf7b4dbb326dbd479d01101f0b226abb/lib/puppet/transaction/report.rb#L434-L436] and [{{noop_pending}}|https://github.com/puppetlabs/puppet/blob/eb498be4bf7b4dbb326dbd479d01101f0b226abb/lib/puppet/transaction/report.rb#L220] instance variables are computed in the {{finalize_report}} method. If a report is deserialized using {{Report.from_data_report}} and then re-serialized using {{{}Report#to_data_hash{}}}, it's important that the original {{corrective_change}} and {{noop_pending}} data be preserved. I believe it will work that way, but it's something to check.\n\nAnother complication is the puppetdb report processor determines if a report to be \"noop\" [based on events|https://github.com/puppetlabs/puppetdb/blob/7b7ecbc975e2470a76f3c8a0b4dfb386dd24d54a/puppet/lib/puppet/reports/puppetdb.rb#L46].\u00a0So we may need to include unchanged events that were explicitly marked as \"noop\".", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26756", "fixedVersions": [], "id": "26756", "issueType": "Task", "key": "PUP-11661", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Won't Do", "resolutionDate": "2022-12-02T11:09:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Preserve noop-ness when unchanged resources are omitted", "timeSpent": "PT0S", "updated": "2022-12-02T11:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2022-10-20T11:46:00.000000", "creator": "619528076d002b006b1c1e8d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Phoenix"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2293198f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-7"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Maintenance CY23 Q3"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "purple"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ki7d:i"}, {"fieldName": "productboard URL", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:url", "value": "https://puppet.productboard.com/feature-board/planning/features/14798700"}], "description": "Community bugs and fixes\nPE escalations, but not necessarily the support\\-escalations workflow\nDozens of PRs per quarter\nDavid to formalize this into an epic we can track/close with a bit more visibility\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25704", "fixedVersions": [], "id": "25704", "issueType": "Epic", "key": "PUP-11660", "labels": ["23Q3"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61bb5fb0c681240069b5af9e", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Maintenance CY23 Q3", "timeSpent": "PT0S", "updated": "2023-01-31T03:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2022-10-20T11:46:00.000000", "creator": "619528076d002b006b1c1e8d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Phoenix"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@46d879f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-7"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Maintenance CY23 Q2"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "purple"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0gywr:"}, {"fieldName": "productboard URL", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:url", "value": "https://puppet.productboard.com/feature-board/planning/features/14798700"}], "description": "Community bugs and fixes\nPE escalations, but not necessarily the support\\-escalations workflow\nDozens of PRs per quarter\nDavid to formalize this into an epic we can track/close with a bit more visibility\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24608", "fixedVersions": [], "id": "24608", "issueType": "Epic", "key": "PUP-11659", "labels": ["23Q2"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61bb5fb0c681240069b5af9e", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Maintenance CY23 Q2", "timeSpent": "PT0S", "updated": "2023-03-13T11:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2022-10-20T11:13:00.000000", "creator": "619528076d002b006b1c1e8d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Phoenix"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3d960a2c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-7"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Maintenance CY23 Q1"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "purple"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0gyvu:1"}, {"fieldName": "productboard URL", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:url", "value": "https://puppet.productboard.com/feature-board/planning/features/14798700"}], "description": "Community bugs and fixes\nPE escalations, but not necessarily the support\\-escalations workflow\nDozens of PRs per quarter\nDavid to formalize this into an epic we can track/close with a bit more visibility\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21423", "fixedVersions": ["PUP 7.24.0"], "id": "21423", "issueType": "Epic", "key": "PUP-11658", "labels": ["23Q1"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61bb5fb0c681240069b5af9e", "status": "Developing", "statusCategory": "In Progress", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet Maintenance CY23 Q1", "timeSpent": "PT0S", "updated": "2023-03-02T14:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6195282ef241500072505c94", "attachments": [], "comments": [{"author": "6195282ef241500072505c94", "body": "Hey Diego,\n\nUnfortunately the security scorecard PR isn't something we're interested in integrating right now. Our application security program covers all of the tenants but sometimes in a way that it can't be reflected on the OSS repo. Thank you for reaching out and we'll let you know if we decide otherwise in the future!\n\n-The Puppet Sec Team", "created": "2022-10-24T06:16:00.000000"}], "components": [], "created": "2022-10-17T14:53:00.000000", "creator": "63d2e00fed33fd0707b94e2c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "{quote}Enumeration of requirements to consider the security ticket done.\n{quote}"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@47c34dec"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0kfip:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Oct/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_573766501_*|*_6_*:*_1_*:*_0"}], "description": "Hello! Given the current scenario of increasing attacks on supply chain projects, Google (in partnership with the [Open Source Security Foundation](https://openssf.org/)) has hired me to work around important open-source projects to help increase security, in any aspect or concern that might be relevant.\n\nI'm talking to you because `puppetlabs/puppet` has reached a significant importance and impact, so I would like to make myself available to help with any security concern or discussion you might have.\n\nI see that you are already concerned about security, so in case you don't have any pendencies that I could help with, I could create a PR to add the GitHub Action of [Scorecards](https://securityscorecards.dev/) to your project. This would help you to easily track possible vulnerabilities and security pendencies over your code.\n\nLet me know if you have any further questions.\n\nOBS: sorry if I did not fill the Jira ticket appropriately, I was not really sure how to do it considering this atypical \"Issue\".\n\nThanks for the attention =)", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22438", "fixedVersions": [], "id": "22438", "issueType": "Improvement", "key": "PUP-11657", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "63d2e00fed33fd0707b94e2c", "resolution": "Declined", "resolutionDate": "2022-10-24T06:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "General improvements on security", "timeSpent": "PT0S", "updated": "2022-10-24T06:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2022-10-14T15:37:00.000000", "creator": "61bb63041baa2b0069ef30a1", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "It should be possible to run {{bundle exec rspec ./spec/unit/provider/service/systemd_spec.rb}} without failures on all platforms"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4baa7bf8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11658"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0kb29:"}], "description": "The failure is caused by the ./spec/unit/provider/service/systemd_spec.rb test in puppet (specifically line 334). \n\nThe failure seems to be related to the platform the tests are run on, they show up on Mac machines but not on Ubuntu machines. It does not seem to be related to the Ruby version since the failure popped up on both Ruby 2.7.3 and 3.1.2.\n\n*Output from systemd_spec.rb test (for both Ruby 3.1.2 & 2.7.3) on macOS 12.6:*\n{code:java}\n\u276f bundle exec rspec ./spec/unit/provider/service/systemd_spec.rb:334\nFailures:\n\n  1) Puppet::Type::Service::Provider::Systemd #enabled? should consider nonexistent services to be disabled\n     Failure/Error:\n       expect(provider).to receive(:execute).with([\"/usr/sbin/invoke-rc.d\", \"--quiet\", \"--query\", \"doesnotexist\", \"start\"], :failonfail => false)\n                             .and_return(Puppet::Util::Execution::ProcessOutput.new(\"\", 1))\n\n       (Service[doesnotexist](provider=systemd)).execute([\"/usr/sbin/invoke-rc.d\", \"--quiet\", \"--query\", \"doesnotexist\", \"start\"], {:failonfail=>false})\n           expected: 1 time with arguments: ([\"/usr/sbin/invoke-rc.d\", \"--quiet\", \"--query\", \"doesnotexist\", \"start\"], {:failonfail=>false})\n           received: 0 times\n     # ./spec/unit/provider/service/systemd_spec.rb:338:in `block (3 levels) in <top (required)>'\n     # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n     # ./.bundle/ruby/3.1.0/gems/webmock-3.18.1/lib/webmock/rspec.rb:37:in `block (2 levels) in <top (required)>'\n\nFinished in 1.55 seconds (files took 1.87 seconds to load)\n1 example, 1 failure\n\nFailed examples:\n\nrspec ./spec/unit/provider/service/systemd_spec.rb:334 # Puppet::Type::Service::Provider::Systemd #enabled? should consider nonexistent services to be disabled\n{code}\n\n", "epicLinkSummary": "Puppet Maintenance CY23 Q1", "estimate": "PT0S", "externalId": "24607", "fixedVersions": [], "id": "24607", "issueType": "Task", "key": "PUP-11656", "labels": [], "originalEstimate": "PT0S", "parent": "21423", "parentSummary": "Puppet Maintenance CY23 Q1", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61bb63041baa2b0069ef30a1", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Investigate systemd rspec test failure and update tests", "timeSpent": "PT0S", "updated": "2022-10-20T11:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2022-10-14T08:06:00.000000", "creator": "623c100c4a57610068e74585", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7f948c5d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0k8w1:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Dec/22"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26753", "fixedVersions": [], "id": "26753", "issueType": "Task", "key": "PUP-11655", "labels": ["needs-validation"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c100c4a57610068e74585", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Move more platform specific code from defaults into RunMode", "timeSpent": "PT0S", "updated": "2022-12-13T14:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [{"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "[~accountid:605bbb3d2f7d9000709ed091] [~accountid:619528076d002b006b1c1e8d]  [~accountid:63d40628f6e1b543161789a7] FYI.", "created": "2022-10-13T16:08:00.000000"}], "components": [], "created": "2022-10-13T16:05:00.000000", "creator": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@663b9fa7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3fk:i0i"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "With the new setting exclude_unchanged_resources, puppet can optionally omit data about unchanges resources from from the report. This can decrease the size of reports significantly."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_601253558_*|*_1_*:*_1_*:*_425677651_*|*_10007_*:*_1_*:*_191237079_*|*_3_*:*_1_*:*_510229963_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_683962364"}], "description": "In order to reduce potentially unnecessary network traffic and data that may be unused, Puppet should optionally allow the unchanged resource statuses and their events to not be serialized when the reports are generated:\n\n[https://github.com/puppetlabs/puppet/blob/948a4bec67def5244595a6f69976a9a2479f1df1/lib/puppet/transaction/report.rb#L326]\n\n*Details*\n\nThe report contains an array of resource statuses {{Puppet::Resource::Status}}\nThe status contains the result of managing a single resource {{Puppet::Type::<name>}}\nThere may be 0 or more events {{Puppet::Transaction::Event}} per resource status.\nEach event captures the current and desired values for each property, e.g. if puppet changes the {{owner}} property for the {{file}} type, then the event will contain the old and new values.\n\nHere's an example entry from the report in YAML:\n{code:yaml}  File[/tmp/file]:\n    title: \"/tmp/file\"\n    file: \"/etc/puppetlabs/code/environments/production/manifests/site.pp\"\n    line: 2\n    resource: File[/tmp/file]\n    resource_type: File\n    provider_used: posix\n    containment_path:\n    - Stage[main]\n    - Main\n    - File[/tmp/file]\n    evaluation_time: 0.002537417\n    tags:\n    - file\n    - class\n    time: '2022-10-18T22:49:58.301897873+00:00'\n    failed: false\n    failed_to_restart: false\n    changed: true\n    out_of_sync: true\n    skipped: false\n    change_count: 2\n    out_of_sync_count: 2\n    events:\n    - audited: false\n      property: owner\n      previous_value: 52\n      desired_value: 0\n      historical_value: \n      message: owner changed 'puppet' to 'root'\n      name: owner_changed\n      status: success\n      time: '2022-10-18T22:49:58.302133825+00:00'\n      redacted: \n      corrective_change: false\n    - audited: false\n      property: group\n      previous_value: 52\n      desired_value: 0\n      historical_value: \n      message: group changed 'puppet' to 'root'\n      name: group_changed\n      status: success\n      time: '2022-10-18T22:49:58.303239684+00:00'\n      redacted: \n      corrective_change: false\n    corrective_change: false\n{code}\nWhen the same file is \"insync\", then the report contains:\n{code:yaml}  File[/tmp/file]:\n    title: \"/tmp/file\"\n    file: \"/etc/puppetlabs/code/environments/production/manifests/site.pp\"\n    line: 2\n    resource: File[/tmp/file]\n    resource_type: File\n    provider_used: posix\n    containment_path:\n    - Stage[main]\n    - Main\n    - File[/tmp/file]\n    evaluation_time: 0.000237233\n    tags:\n    - file\n    - class\n    time: '2022-10-18T22:57:32.999773271+00:00'\n    failed: false\n    failed_to_restart: false\n    changed: false\n    out_of_sync: false\n    skipped: false\n    change_count: 0\n    out_of_sync_count: 0\n    events: []\n    corrective_change: false\n{code}\nI believe the {{Puppet::Resource::Status#out_of_sync?}} method can be used to filter which statuses to include/exclude. If it returns {{{}false{}}}, then no changes were necessary.\n\nFor this ticket:\n\n1. Create a boolean puppet setting to exclude unchanged resources statuses and their events. For 7.x, it should default to the current behavior of including all statuses.\n2. Update the {{Report#to_data_hash}} method to exclude the status object based on \"out_of_sync?\"\n\nThis should satisfy the happy path. A follow up ticket has been created to handle noop-ness in PUP-11661", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26752", "fixedVersions": ["PUP 7.21.0"], "id": "26752", "issueType": "New Feature", "key": "PUP-11654", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "resolution": "Fixed", "resolutionDate": "2022-11-10T13:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Allow for omission of unchanged resources from the report", "timeSpent": "PT0S", "updated": "2022-12-07T14:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:79f2fdd6-baee-43c4-91af-c7e647173c95", "attachments": [], "comments": [{"author": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "body": "We need a puppet-agent branch so we have somewhere to land 8.x changes.\n\nThis is a good time to go in and clean up monkeypatches or ruby version checks.", "created": "2022-10-11T14:11:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Check these call sites too:\u00a0\n{noformat}$ git grep RUBY_VERSION\nGemfile:  gem 'webrick', '~> 1.7', require: false if RUBY_VERSION.to_f >= 3.0\nbenchmarks/catalog_memory/benchmarker.rb:RUBYVER_ARRAY = RUBY_VERSION.split(\".\").collect {|s| s.to_i }\nlib/puppet.rb:if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new(\"2.5.0\")\nlib/puppet.rb:  raise LoadError, \"Puppet #{Puppet.version} requires Ruby 2.5.0 or greater, found Ruby #{RUBY_VERSION.dup}.\"\nlib/puppet.rb:Puppet::OLDEST_RECOMMENDED_RUBY_VERSION = '2.5.0'\nlib/puppet.rb:  if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new(Puppet::OLDEST_RECOMMENDED_RUBY_VERSION)\nlib/puppet.rb:    Puppet.deprecation_warning(_(\"Support for ruby version %{version} is deprecated and will be removed in a future release. See https://puppet.com/docs/puppet/latest/system_requirements.html for a list of supported ruby versions.\") % { version: RUBY_VERSION })\nlib/puppet/application.rb:      'ruby_version'   => RUBY_VERSION,\nlib/puppet/defaults.rb:      :default => \"Puppet/#{Puppet.version} Ruby/#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL} (#{RUBY_PLATFORM})\",\nlib/puppet/util.rb:  if RUBY_VERSION >= \"2.6\"\nlib/puppet/util/monkey_patches.rb:if RUBY_VERSION.to_f < 3.0\nspec/unit/http/factory_spec.rb:    it \"sets the minimum version to TLS 1.0\", if: RUBY_VERSION.to_f >= 2.5 do\nspec/unit/network/http/connection_spec.rb:      puppet_ua = \"Puppet/#{Puppet.version} Ruby/#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL} (#{RUBY_PLATFORM})\"\nspec/unit/puppet_spec.rb:  context \"Puppet::OLDEST_RECOMMENDED_RUBY_VERSION\" do\nspec/unit/puppet_spec.rb:      expect(Puppet::OLDEST_RECOMMENDED_RUBY_VERSION).not_to be_nil\nspec/unit/puppet_spec.rb:      expect(Puppet::OLDEST_RECOMMENDED_RUBY_VERSION).to be_a_kind_of(String)\nspec/unit/puppet_spec.rb:      expect(SemanticPuppet::Version).to be_valid(Puppet::OLDEST_RECOMMENDED_RUBY_VERSION)\nspec/unit/reports/store_spec.rb:      if RUBY_VERSION < \"3.0\"\nspec/unit/util_spec.rb:      :if => Puppet::Util::Platform.windows? && RUBY_VERSION.to_f < 3 do\n{noformat}\n\u00a0", "created": "2022-10-11T14:32:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "Hi!\nI've a question. Why drop support for only Ruby 2.6 and older, and not even newer rubies? My understanding is that Puppet Agent packages will ship Ruby 3.2, so this could be used in the gemspec and for rubocop linting as well?", "created": "2022-12-12T09:09:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Hi [~accountid:557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68] yes, good question. I'd be ok requiring at least 3.1 or 3.2 in puppet8. Unfortunately, the process is a little complicated due to JRuby and not breaking other projects that use puppet as a library like bolt, module CI, etc. I'll file a separate ticket to bump the minimum after we have puppet/ruby 3.2 and puppetserver/jruby 9.4 builds in CI, but before we release Puppet 8.", "created": "2023-01-17T10:32:00.000000"}], "components": [], "created": "2022-10-07T10:13:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2fa6663e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4664"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3fk:i00019c"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Oct/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_10628695_*|*_1_*:*_1_*:*_359912189_*|*_10007_*:*_1_*:*_72630423_*|*_3_*:*_1_*:*_1760355694_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_6641646935"}], "description": "Update the gemspec to require ruby 2.7 or greater\nUpdate ext/project_data.yaml to require ruby 2.7 or greater\nUpdate the github actions to remove older ruby versions\nUpdate branch protection rules", "epicLinkSummary": "Puppet 8", "estimate": "PT0S", "externalId": "27770", "fixedVersions": ["PUP 8.0.0"], "id": "27770", "issueType": "Task", "key": "PUP-11649", "labels": [], "originalEstimate": "PT0S", "parent": "57676", "parentSummary": "Puppet 8", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2023-01-17T18:12:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Drop support for ruby < 2.7", "timeSpent": "PT0S", "updated": "2023-01-17T18:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-10-03T09:35:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@64f5ecce"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11636"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0k2rl:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5369_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_200799151"}], "description": "(Initial planned release date: 2022-10-11)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2022-10-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "estimate": "PT0S", "externalId": "27769", "fixedVersions": [], "id": "27769", "issueType": "Task", "key": "PUP-11646", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25702", "parentSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-10-05T17:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 7.20.0)", "timeSpent": "PT0S", "updated": "2022-10-05T17:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-10-03T09:35:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@787ee269"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11636"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0k2rd:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5955_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_785202489"}], "description": "(Initial planned release date: 2022-10-11)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.descriptions\n", "duedate": "2022-10-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "estimate": "PT0S", "externalId": "26741", "fixedVersions": [], "id": "26741", "issueType": "Task", "key": "PUP-11645", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25702", "parentSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-10-12T11:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 7.20.0)", "timeSpent": "PT0S", "updated": "2022-10-12T11:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-10-03T09:35:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3b1ae460"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11636"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0k2r5:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6566_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_200780951"}], "description": "(Initial planned release date: 2022-10-11)\n\nSchedule a retrospective for this release. This should happen as soon as possible after the release, so that details are fresh in our heads.\nEnsure all current release leads are invited and that the Trello board is shared with them.\n* [~accountid:557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629]\n* Former user\n* [~accountid:557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c]\n* [~accountid:557058:8db25e7a-4bdb-4fe2-af6b-f0a9bc714e12]\n* [~accountid:70121:4c2994e4-73a9-4e99-971a-6d93d39be223]\n", "duedate": "2022-10-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "estimate": "PT0S", "externalId": "25703", "fixedVersions": [], "id": "25703", "issueType": "Task", "key": "PUP-11644", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25702", "parentSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-10-05T17:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Schedule a retrospective (Puppet Platform 7.20.0)", "timeSpent": "PT0S", "updated": "2022-10-05T17:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-10-03T09:35:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@640f6d10"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11636"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0k2qx:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7079_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_200765842_*|*_10005_*:*_1_*:*_584403390"}], "description": "(Initial planned release date: 2022-10-11)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 7.20.0 is now available\"\n", "duedate": "2022-10-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "estimate": "PT0S", "externalId": "24606", "fixedVersions": [], "id": "24606", "issueType": "Task", "key": "PUP-11643", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25702", "parentSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-10-12T11:41:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Send release announcement (Puppet Platform 7.20.0)", "timeSpent": "PT0S", "updated": "2022-10-12T11:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-10-03T09:35:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2f5777a8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11636"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0k2qh:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_8082_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_785136413"}], "description": "(Initial planned release date: 2022-10-11)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2022-10-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "estimate": "PT0S", "externalId": "22436", "fixedVersions": [], "id": "22436", "issueType": "Task", "key": "PUP-11642", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25702", "parentSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-10-12T11:41:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 7.20.0)", "timeSpent": "PT0S", "updated": "2022-10-12T11:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-10-03T09:35:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@20b5b47d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11636"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0k2q9:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_8669_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_623159067"}], "description": "(Initial planned release date: 2022-10-11)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2022-10-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "estimate": "PT0S", "externalId": "21422", "fixedVersions": [], "id": "21422", "issueType": "Task", "key": "PUP-11641", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25702", "parentSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-10-10T14:41:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 7.20.0)", "timeSpent": "PT0S", "updated": "2022-10-10T14:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-10-03T09:35:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4ce06065"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11636"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0k2pt:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_10033_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_785123188"}], "description": "(Initial planned release date: 2022-10-11)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping Former user for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2022-10-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "estimate": "PT0S", "externalId": "29883", "fixedVersions": [], "id": "29883", "issueType": "Task", "key": "PUP-11640", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25702", "parentSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-10-12T11:41:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare release announcement (Puppet Platform 7.20.0)", "timeSpent": "PT0S", "updated": "2022-10-12T11:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-10-03T09:35:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1ca36b28"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11636"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0k2pl:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_10599_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_287203796"}], "description": "(Initial planned release date: 2022-10-11)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2022-10-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "estimate": "PT0S", "externalId": "28767", "fixedVersions": [], "id": "28767", "issueType": "Task", "key": "PUP-11639", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25702", "parentSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-10-06T17:22:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 7.20.0)", "timeSpent": "PT0S", "updated": "2022-10-06T17:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-10-03T09:35:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6dbe4aa9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11636"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0k2pd:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_11191_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_287187621"}], "description": "(Initial planned release date: 2022-10-11)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2022-10-06T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "estimate": "PT0S", "externalId": "27768", "fixedVersions": [], "id": "27768", "issueType": "Task", "key": "PUP-11638", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25702", "parentSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-10-06T17:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 7.20.0)", "timeSpent": "PT0S", "updated": "2022-10-06T17:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-10-03T09:35:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@214ee90b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11636"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0k2p5:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_11829_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_591427"}], "description": "(Initial planned release date: 2022-10-11)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 7.20.0 and puppet-agent 7.20.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2022-10-06T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "estimate": "PT0S", "externalId": "26739", "fixedVersions": [], "id": "26739", "issueType": "Task", "key": "PUP-11637", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25702", "parentSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-10-03T09:45:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 7.20.0)", "timeSpent": "PT0S", "updated": "2022-10-03T09:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-10-03T09:35:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1fb757af"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-1"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 7.20.0 Release - 2022-10-11"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_grey"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0e4jf:y5y"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_559571_*|*_6_*:*_1_*:*_0_*|*_10013_*:*_1_*:*_622566747_*|*_10014_*:*_1_*:*_1362945279"}], "description": "Puppet Platform 7.20.0 Release - 2022-10-11", "duedate": "2022-10-11T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25702", "fixedVersions": [], "id": "25702", "issueType": "Epic", "key": "PUP-11636", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-10-26T09:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Platform 7.20.0 Release - 2022-10-11", "timeSpent": "PT0S", "updated": "2022-10-26T09:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "created": "2022-10-04T15:04:00.000000", "name": "puppet-debug.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11965"}], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:be86c7d6-2807-42d3-9715-80da0cf607cd] could you provide a sample manifest to reproduce the issue and the output of {{puppet agent -td}} when the error occurs. Note if prefetch fails for a provider, then puppet will mark all resources associated with that provider and all downstream dependencies as failed.", "created": "2022-10-04T14:18:00.000000"}, {"author": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "body": "[~accountid:63d40628f6e1b543161789a7], All you need to do is to create un-accessible yum repository definition\n\n{noformat}\n# cat /etc/yum.repos.d/choria_release.repo\n[choria_release]\nname=Choria Orchestrator Releases\nmirrorlist=https://packagecloud.io/choria/yum/release/el/$releasever/$basearch.txt\nenabled=True\ngpgcheck=False\n\n# /usr/bin/dnf module list -d 0 -e 1\nError: Failed to download metadata for repo 'choria_release': Cannot prepare internal mirrorlist: Status code: 404 for https://packagecloud.io/choria/yum/release/el/8/x86_64.txt (IP: 52.8.166.117)\n[root@puppet ~]# echo $?\n1\n\nPuppet will fail at prefetch stage. I will upload debug file shortly\n\n{noformat}\n", "created": "2022-10-04T15:00:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This seems to work as expected for me. Resources that depend on the package resource will be marked skipped, while unrelated resources that come after should still be applied:\n{noformat}[root@petty-dramatist ~]# cat /etc/yum.repos.d/choria_release.repo \n[choria_release]\nname=Choria Orchestrator Releases\nmirrorlist=https://packagecloud.io/choria/yum/release/el/$releasever/$basearch.txt\nenabled=True\ngpgcheck=False\n\n[root@petty-dramatist ~]# cat /etc/puppetlabs/code/environments/production/manifests/site.pp\npackage { 'virt':\n  ensure => installed\n}\nnotify { 'dependent':\n  require => Package['virt']\n}\nnotify { 'unrelated': }\n[root@petty-dramatist ~]# puppet agent -t\nInfo: Using environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Caching catalog for petty-dramatist.delivery.puppetlabs.net\nInfo: Applying configuration version '1664920918'\nError: Execution of '/usr/bin/dnf -d 0 -e 1 -y install virt' returned 1: Error: Unable to find a match\nError: /Stage[main]/Main/Package[virt]/ensure: change from 'purged' to 'present' failed: Execution of '/usr/bin/dnf -d 0 -e 1 -y install virt' returned 1: Error: Unable to find a match\nNotice: /Stage[main]/Main/Notify[dependent]: Dependency Package[virt] has failures: true\nWarning: /Stage[main]/Main/Notify[dependent]: Skipping because of failed dependencies\nNotice: unrelated\nNotice: /Stage[main]/Main/Notify[unrelated]/message: defined 'message' as 'unrelated'\nInfo: Class[Main]: Unscheduling all events on Class[Main]\nNotice: Applied catalog in 4.32 seconds\n{noformat}", "created": "2022-10-04T16:03:00.000000"}, {"author": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "body": "I tested on puppet 7 and it works fine, I guess the problem is confined to puppet 6\n", "created": "2022-10-11T11:32:00.000000"}], "components": [], "created": "2022-09-30T09:17:00.000000", "creator": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@566a36df"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0k29d:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Oct/22"}], "description": "*Puppet Version:* 6.28.0\n*Puppet Server Version:* 6.20.0\n*OS Name/Version:* AlmaLinux 8\n\ndnfmodule provider doesn't handle exceptions properly, preventing puppet to apply catalog and fix the repository\n\nI have encountered it when a yum repository was removed from original server and even though manifest has been updated, puppet failed before it was able to update it:\n\n{noformat}\nError: Could not prefetch package provider 'dnfmodule': Execution of '/usr/bin/dnf module list -d 0 -e 1' returned 1: Error: Failed to download metadata for repo 'choria_release': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried\nError: Failed to apply catalog: Execution of '/usr/bin/dnf module list -d 0 -e 1' returned 1: Error: Failed to download metadata for repo 'choria_release': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried\n\n{noformat}\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21421", "fixedVersions": [], "id": "21421", "issueType": "Bug", "key": "PUP-11635", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "dnfmodule provider fails, preventing updating catalog", "timeSpent": "PT0S", "updated": "2022-10-11T11:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I started working on this, but am blocked until a new rspec-mocks is released.", "created": "2022-12-05T17:23:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Most of the changes were merged to 7.x (since they're backwards compatible and we want to avoid merge conflicts in spec tests across 7.x and main).\n\nLast remaining item is to bump fast_gettext in puppet's .gemspec", "created": "2022-12-16T11:03:00.000000"}], "components": [], "created": "2022-09-29T11:34:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5117fdfe"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4664"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0l6kv:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_405282955_*|*_1_*:*_1_*:*_447109143_*|*_10007_*:*_1_*:*_25497847_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_926449507_*|*_10005_*:*_1_*:*_5368489244"}], "description": "Ruby 3.2 has removed several constants and classes. See https://github.com/ruby/ruby/blob/v3_2_0_preview2/NEWS.md#compatibility-issues \n\nFor Dir.exists? and File.exists? call the non-deprecated/removed version, e.g. Dir.exist?\n\nStruct::Group & Struct::Passwd should be replaced with Etc::Group/Etc::Passwd\n\nFast-gettext is not compatible with Ruby 3.2, because it calls String#untaint and that method was removed. We'll need to bump our dependency on fast-gettext to \"~> 2.1\", see related ticket PA-4725", "epicLinkSummary": "Puppet 8", "estimate": "PT0S", "externalId": "28766", "fixedVersions": ["PUP 8.0.0"], "id": "28766", "issueType": "Task", "key": "PUP-11634", "labels": [], "originalEstimate": "PT0S", "parent": "57676", "parentSummary": "Puppet 8", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2022-12-21T11:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Use constants and methods that aren't removed in Ruby 3.2", "timeSpent": "PT0S", "updated": "2022-12-21T11:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:79f2fdd6-baee-43c4-91af-c7e647173c95", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This draft PR shows the rspec-mocks failure https://github.com/puppetlabs/puppet/pull/8966. During an earlier run, ruby-head had the same errors on Windows.", "created": "2022-12-16T18:31:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I verified puppet tests pass against Ruby 3.2 when using the latest rspec* prerelease libraries:\n\n{code:diff}\ngit diff\ndiff --git a/Gemfile b/Gemfile\nindex 2c5311f37a..365dfec35f 100644\n--- a/Gemfile\n+++ b/Gemfile\n@@ -38,9 +38,12 @@ group(:test) do\n   gem \"ffi\", require: false\n   gem \"json-schema\", \"~> 2.0\", require: false\n   gem \"rake\", *location_for(ENV['RAKE_LOCATION'] || '~> 13.0')\n-  gem \"rspec\", \"~> 3.1\", require: false\n-  gem \"rspec-expectations\", [\"~> 3.9\", \"!= 3.9.3\"]\n-  gem \"rspec-its\", \"~> 1.1\", require: false\n+  gem \"rspec\", git: 'https://github.com/rspec/rspec', branch: 'main', require: false\n+  gem \"rspec-mocks\", git: 'https://github.com/rspec/rspec-mocks', branch: 'main', require: false\n+  gem \"rspec-expectations\", git: 'https://github.com/rspec/rspec-expectations', branch: 'main', require: false\n+  gem \"rspec-core\", git: 'https://github.com/rspec/rspec-core', branch: 'main', require: false\n+  gem \"rspec-support\", git: 'https://github.com/rspec/rspec-support', branch: 'main', require: false\n+  gem \"rspec-its\", require: false # \"~> 1.1\", require: false\n   gem 'vcr', '~> 5.0', require: false\n   gem 'webmock', '~> 3.0', require: false\n   gem 'webrick', '~> 1.7', require: false if RUBY_VERSION.to_f >= 3.0\n{code}\n\nSo we should be unblocked once the rspec gems are released.", "created": "2023-01-04T10:46:00.000000"}], "components": [], "created": "2022-09-29T11:18:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@59e9524"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4664"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3fk:i000196"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_75142831_*|*_1_*:*_1_*:*_448087291_*|*_3_*:*_2_*:*_100987373_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_2_*:*_2062790630_*|*_10005_*:*_1_*:*_6297758350"}], "description": "Run rspec tests against ruby 3.2 rcX in the github action for linux. Blocked on PUP-11406 and PUP-11634. And a new release of rspec-mocks with this fix: https://github.com/rspec/rspec-mocks/pull/1502", "epicLinkSummary": "Puppet 8", "estimate": "PT0S", "externalId": "25701", "fixedVersions": ["PUP 8.0.0"], "id": "25701", "issueType": "Task", "key": "PUP-11633", "labels": [], "originalEstimate": "PT0S", "parent": "57676", "parentSummary": "Puppet 8", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2023-01-11T10:04:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Test against Ruby 3.2.0", "timeSpent": "PT0S", "updated": "2023-01-13T11:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "63d2e1780d930a766df1296b", "body": "Also \u2014 sorry for bringing it up here, but there doesn\u2019t seem to be a better place \u2014 my old Jira\u00a0acccount (danielparks) seems to be gone. Can it be restored? I had tickets under it.", "created": "2022-09-26T16:03:00.000000"}, {"author": "63d2e1780d930a766df1296b", "body": "Also, you may be pleased to hear that fixing this will allow me to remove Puppet String\u2019s dependency on\u00a0{{{}Puppet::Pops::Adapters::SourcePosAdapter{}}}!", "created": "2022-09-26T17:08:00.000000"}, {"author": "63d2e1780d930a766df1296b", "body": "Found another broken case. The default value of:\n\n{code}\nString $os = $facts['kernel'] ? {\n        'Linux'  => 'linux',\n        'Darwin' => 'darwin',\n        default  => $facts['kernel'],\n      }\n{code}\n\nThe output loses the closing brace and the final comma (though that seems reasonable).\n\nI\u2019m adding these cases to my puppet-strings branch: https://github.com/puppetlabs/puppet-strings/compare/main...danielparks:puppet-strings:fix_default_expressions", "created": "2022-09-26T18:44:00.000000"}, {"author": "557058:79f2fdd6-baee-43c4-91af-c7e647173c95", "body": "[~accountid:63d2e1780d930a766df1296b] I asked our help desk about restoring your old Jira account. ", "created": "2022-09-27T14:17:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "The most probable cause of these kinds of problems are mistakes in the grammar itself where the parsing logic assigns a location (position and length) to produced ast nodes using a call to {{{}loc{}}}.\u00a0 For example like this [lines 229 to 230|https://github.com/puppetlabs/puppet/blob/main/lib/puppet/pops/parser/egrammar.ra#L229-L230]\u00a0\n{code}bracketed_expression\n  : expression LBRACK access_args endcomma RBRACK =LBRACK { result = val[0].access(val[2])", "created": "2022-10-02T15:09:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "[~accountid:63d2e1780d930a766df1296b] Are you saying that when using the {{Puppet::Pops::Adapters::SourcePosAdapter}} the correct result is obtained, but not when using {{ast.extract_tree_text}} ?", "created": "2022-10-02T15:17:00.000000"}, {"author": "63d2e1780d930a766df1296b", "body": "Thanks for the explanation, [~accountid:70121:81a73de1-7f52-49cd-b0b0-46c1b147202a]", "created": "2022-10-02T17:39:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Thanks [~accountid:63d2e1780d930a766df1296b]! Adding a link to the skipped tests that demonstrate the problem here https://github.com/puppetlabs/puppet-strings/pull/315/files#diff-4ff5062745ce9c4190d19d8116dfa54cb47bb60b6e0fb5bc538412d94b14759eR313-R320", "created": "2022-10-04T14:35:00.000000"}], "components": [], "created": "2022-09-26T16:01:00.000000", "creator": "63d2e1780d930a766df1296b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7bc2cf8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0jyq9:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Sep/22"}], "description": "*Puppet Version: 7.20.0 (main: 948a4bec67def5244595a6f69976a9a2479f1df1)*\n*OS Name/Version: macOS 12.6.0*\n\n{{ast.locator.extract_tree_text(ast)}} returns an incorrect string for a simple function call.\n\n{{\u00a0 it 'extracts a simple function call' do}}\n{{\u00a0 \u00a0 parser = Puppet::Pops::Parser::Parser.new()}}\n{{\u00a0 \u00a0 model = parser.parse_string('$param.func()').model}}\n{{\u00a0 \u00a0 expect(model.body.locator.extract_tree_text(model.body)).to eq('$param.func()')}}\n{{\u00a0 end}}\n\nThis is causing a problem for Puppet Strings. See [https://github.com/puppetlabs/puppet-strings/issues/240#issuecomment-1257153890]\n\n*Desired Behavior:*\n\nThe above test should succeed.\n\n*Actual Behavior:*\n\nThe above test (I added it to spec/unit/pops/parser/locator_spec.rb) fails with {{{}got \"$param.func(\"{}}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24647", "fixedVersions": [], "id": "24647", "issueType": "Bug", "key": "PUP-11632", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "63d2e1780d930a766df1296b", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "locator.extract_tree_text does returns bad string on simple function call", "timeSpent": "PT0S", "updated": "2022-10-04T14:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a1beb0b007eb21a79e5d6de", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Puppet should copy all metaparameters from the parent resource to its generated children, except for any that are compiler specific. PUP-10688 is a related, but opposite problem where the tag metaparameter is not copied to child resources.", "created": "2022-10-04T14:41:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "We should add a method to Puppet::Type which allows metaparameters to copied from a parent resource to a generated child resource, so that types don't need to do, for example:\nhttps://github.com/puppetlabs/puppet/blob/c47e2cd7fd979fffa98a067b0f024f4e8abcc975/lib/puppet/type/user.rb#L814-L817\nhttps://github.com/puppetlabs/puppet/blob/948a4bec67def5244595a6f69976a9a2479f1df1/lib/puppet/type/resources.rb#L123-L125\n\nThe method should take into account that generated resources should have the same tag, schedule, etc as the parent, but not alias.", "created": "2022-10-04T14:43:00.000000"}], "components": ["Types and Providers"], "created": "2022-09-23T11:07:00.000000", "creator": "5e3375e183d74c0e821851f3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@672ee5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11619"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0jyeh:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Catalog compilation no longer fails when using the purge_ssh_keys parameter on a user resource with an alias metaparameter."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "49722"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Sep/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_606026929_*|*_1_*:*_1_*:*_963351389_*|*_10007_*:*_1_*:*_257600922_*|*_3_*:*_1_*:*_348142428_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1988066499"}], "description": "When using the {{purge_ssh_keys}} parameter on a {{user}} resource with an {{alias}} metaparameter, the catalog application will fail when purging unmanaged ssh keys. The following error is shown.\n\n{code}\nError: /Stage[main]/Main/Node[default]/User[username]: Failed to generate additional resources using 'generate': Parameter alias failed on Ssh_authorized_key[user@example.com]: Munging failed for value [\"useralias\"] in class alias: Cannot add aliases without a catalog\n{code}\n\nThe metaparameters are passed into the resource used to purge ssh_authorized_keys when using the user resource. Since this happens in the type, and not during catalog compilation, the agent cannot alias the resources to be purged and fails catalog application.\n\nThis is likely due to this https://github.com/puppetlabs/puppet/blob/6.28.0/lib/puppet/type/user.rb#L815\n\n{code}\nres[name] = param.value if param.metaparam?\n{code}\n\nShould that be restricted to only send metaparameters that can be used at application?\n\nReproduction:\n1. Use any current puppetserver stack\n2. Create the following resource\n\n{code}\nuser {'username':\n  ensure => present,\n  managehome => true,\n  alias => 'useralias',\n  purge_ssh_keys => true\n}\n{code}\n\n3. Run the agent to create the user\n4. Add an ssh key to the {{~username/.ssh/authorizedkeys}}\n5. Run the agent to observe the error.", "epicLinkSummary": "Puppet Maintenance CY22 Q4", "estimate": "PT0S", "externalId": "28765", "fixedVersions": ["PUP 7.21.0"], "id": "28765", "issueType": "Improvement", "key": "PUP-11631", "labels": ["docs_reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": "26723", "parentSummary": "Puppet Maintenance CY22 Q4", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5e3375e183d74c0e821851f3", "resolution": "Fixed", "resolutionDate": "2022-11-10T14:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Purging SSH keys on a user resource fails when alias is used", "timeSpent": "PT0S", "updated": "2022-12-07T14:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5a1beb0b007eb21a79e5d6de", "body": "{color:#000000}Thank you for reporting this issue. While we agree this is likely an improvement, we do not anticipate addressing this any time soon {color}{color:#000000}due to other issues demanding precedence. As such, this ticket will be closed as \u201cWon\u2019t Do\u201d. We may revisit this at a later time, and if so, will re-open this ticket.{color}\n\n{color:#000000}If you are interested in submitting a patch to implement this issue, please open a pull request and re-open this ticket.{color}", "created": "2022-09-27T14:54:00.000000"}], "components": [], "created": "2022-09-23T07:41:00.000000", "creator": "63d2e0fbce7f4b4e14fa5d2f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "{quote}Enumeration of requirements to consider the defect addressed.\n{quote}"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6ef1c6c8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0jyc1:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Sep/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_371578973_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 7.15.0*\n*Puppet Server Version: 7.17.0*\n*OS Name/Version: FreeBSD*\n\npuppetlabs-mount_core (v1.1.0)\n\nHello, I'm using FreeBSD and I have the following mount entry,\n\n\u00a0\n{code:java}\n\u00a0 mount { '/dev/fd':\n\u00a0 \u00a0 ensure => mounted,\n\u00a0 \u00a0 name => '/dev/fd',\n\u00a0 \u00a0 device => 'fdescfs',\n\u00a0 \u00a0 fstype => 'fdescfs',\n\u00a0 \u00a0 options => 'rw',\n\u00a0 \u00a0 remounts => false\n\u00a0 }{code}\n\u00a0\n\nwhich fails with the following output,\n\n\u00a0\n{code:java}\nComputing checksum on file /etc/fstab\nScheduling refresh of Mount[/dev/fd]\nMount[/dev/fd](provider=parsed): Remounting\nFailed to call refresh: Execution of '/sbin/mount -o rw,update /dev/fd' returned 1: mount: fdescfs: Operation not supported\nExecution of '/sbin/mount -o rw,update /dev/fd' returned 1: mount: fdescfs: Operation not supported{code}\n\u00a0\n\nIt looks like remounts => false is not honored on freebsd. The relevant code is in mount.rb,\u00a0\n\n\u00a0\n{code:java}\nelsif %r{^(FreeBSD|DragonFly|OpenBSD)$}.match?(os){code}\nwhich is missing the check for supports_remounts thus incorrectly assuming all of FreeBSD supports \"update\".\n\n*Desired Behavior:*\n\nthe mount should succeed\n\n*Actual Behavior:*\n\nmount fails due to the incorrect update parameter", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26734", "fixedVersions": [], "id": "26734", "issueType": "Bug", "key": "PUP-11630", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "63d2e0fbce7f4b4e14fa5d2f", "resolution": "Won't Do", "resolutionDate": "2022-09-27T14:54:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "puppetlabs-mount_core does not honor remounts on freebsd", "timeSpent": "PT0S", "updated": "2022-09-27T14:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a1beb0b007eb21a79e5d6de", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The [JSON spec|https://datatracker.ietf.org/doc/html/rfc8259] says:\n{quote}A string is a sequence of zero or more Unicode characters\n{quote}\nRuby's default JSON gem, accepts empty string, but multi_json does not, even when using default JSON gem as the multi_json backend. I filed a bug upstream [https://github.com/intridea/multi_json/issues/206].\n\nFor puppet, I think we want to accept empty strings and return {{{}nil{}}}.", "created": "2022-09-30T13:04:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Verified a task with empty metadata is treated as though the file was missing:\n\u00a0\n{noformat}\nroot@irritating-yell:~# cat test.rb \nrequire 'puppet'\n\nPuppet.initialize_settings\n\nenvironmentpath = Puppet[:environmentpath]\nbasemodulepath = Puppet::Node::Environment.split_path(Puppet[:basemodulepath])\ndirectories = Puppet::Environments::Directories.from_path(environmentpath, basemodulepath)\nloaders = Puppet::Environments::Cached.new(\n  Puppet::Environments::Combined.new(*directories)\n)\nenv = loaders.get!(Puppet[:environment])\nmod = env.module('test')\ntasks = mod.tasks\n\ntasks.each do |t|\n puts t.metadata\nend\n\nroot@irritating-yell:~# find /etc/puppetlabs/code/environments/production/modules/test\n/etc/puppetlabs/code/environments/production/modules/test\n/etc/puppetlabs/code/environments/production/modules/test/tasks\n/etc/puppetlabs/code/environments/production/modules/test/tasks/something.json\n/etc/puppetlabs/code/environments/production/modules/test/tasks/something.sh\nroot@irritating-yell:~# file /etc/puppetlabs/code/environments/production/modules/test/tasks/something.json\n/etc/puppetlabs/code/environments/production/modules/test/tasks/something.json: empty\n{noformat}\n\nBefore the fix:\n\n{noformat}\nroot@irritating-yell:~# /opt/puppetlabs/puppet/bin/ruby test.rb \nTraceback (most recent call last):\n\t7: from test.rb:16:in `<main>'\n\t6: from test.rb:16:in `each'\n\t5: from test.rb:17:in `block in <main>'\n\t4: from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/module/task.rb:244:in `metadata'\n\t3: from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/module/task.rb:235:in `read_metadata'\n\t2: from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/json.rb:64:in `load'\n\t1: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.15.0/lib/multi_json.rb:122:in `load'\n/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.15.0/lib/multi_json/adapter.rb:20:in `load': JSON::ParserError (JSON::ParserError)\n{noformat}\n\nAfter the fix:\n\n{noformat}\nroot@irritating-yell:~# /opt/puppetlabs/puppet/bin/ruby test.rb \n{}\n{noformat}", "created": "2022-10-04T16:49:00.000000"}], "components": [], "created": "2022-09-21T10:48:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2ffc2d59"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11619"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0jsix:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet no longer errors when loading an empty task metadata file."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_252140166_*|*_1_*:*_1_*:*_531338642_*|*_10007_*:*_2_*:*_22958184_*|*_3_*:*_2_*:*_82705738_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_507541755"}], "description": "See details in PE-34535, a portion of the stack trace is below:\n\n{noformat}\n2022-09-08T15:05:11.285-04:00 ERROR [qtp2123677471-318634] [p.r.core] Internal Server Error: org.jruby.exceptions.RuntimeError: (InvalidMetadata) JSON::ParserError\n    at opt.puppetlabs.puppet.lib.ruby.vendor_ruby.puppet.module.task.read_metadata(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/module/task.rb:240)\n    at opt.puppetlabs.puppet.lib.ruby.vendor_ruby.puppet.module.task.metadata(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/module/task.rb:244)\n    at opt.puppetlabs.puppet.lib.ruby.vendor_ruby.puppet.info_service.task_information_service.tasks_per_environment(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/info_service/task_information_service.rb:9)\n{noformat}\n\nPuppet uses multi-json to wrap different json implementations. This way you can get better performance when using puppet as a library in different runtimes, e.g. Oj, JrJackson, etc.\n\nWhen {{MultiJson.load}} is called it is supposed to [according to the doc|https://github.com/intridea/multi_json]:\n\n{quote}\nWhen loading invalid JSON, MultiJSON will throw a MultiJson::ParseError\n{quote}\n\nHowever, when using the default json backend, it raises a JSON namespaced exception instead when trying to parse an empty string. This confuses {{Puppet::Util::Json.load}} and causes the JSON exception to leak.\n\nThis seems like a bug in multijson, but we should be more defensive when rescuing so.", "epicLinkSummary": "Puppet Maintenance CY22 Q4", "estimate": "PT0S", "externalId": "27767", "fixedVersions": ["PUP 7.20.0"], "id": "27767", "issueType": "Bug", "key": "PUP-11629", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": "26723", "parentSummary": "Puppet Maintenance CY22 Q4", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2022-10-07T14:46:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet::Util::Json raises when reading an empty file", "timeSpent": "PT0S", "updated": "2023-02-06T18:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5a1beb0b007eb21a79e5d6de", "body": "Hi [~accountid:6243854d258562006fa2b8c0] this kind of issue is best handled in our community slack channel, please see [https://puppetcommunity.slack.com|https://puppetcommunity.slack.com/].", "created": "2022-09-27T17:33:00.000000"}], "components": ["Networking"], "created": "2022-09-21T07:28:00.000000", "creator": "6243854d258562006fa2b8c0", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "{quote}Enumeration of requirements to consider the epic ticket done.\n{quote}"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4e64e884"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Console Browser", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Firefox"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master Config", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Monolithic"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Other"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0jshl:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Sep/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_554706447_*|*_6_*:*_1_*:*_0"}], "description": "{quote}_We want to setup our puppet server behind a cloudflare proxy however with the mtls enabled on puppet, Network team concluded that this is not a straight forward solution. could you help with use cases or solutions that are already in place for such or POC already performed to achieve this solution._\n{quote}", "environment": "Production", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21419", "fixedVersions": ["PUP 7.17.0"], "id": "21419", "issueType": "Story", "key": "PUP-11628", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Medium (migrated)", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6243854d258562006fa2b8c0", "resolution": "Won't Do", "resolutionDate": "2022-09-27T17:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Comply: Epic", "timeSpent": "PT0S", "updated": "2022-09-27T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2022-09-08T10:18:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@49b74f9a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4671"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0jixl:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}], "description": "See https://confluence.puppetlabs.com/display/AGENT/How+to+add+a+platform+for+puppet-agent#Howtoaddaplatformforpuppetagent-update_public_facing_docs\n", "epicLinkSummary": "Add RedHat 9 (Power9) FOSS support", "estimate": "PT0S", "externalId": "25520", "fixedVersions": [], "id": "25520", "issueType": "Task", "key": "PUP-11624", "labels": ["os"], "originalEstimate": "PT0S", "parent": "56865", "parentSummary": "Add RedHat 9 (Power9) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "16. Update Public-facing Puppet docs to include RedHat 9 (Power9)", "timeSpent": "PT0S", "updated": "2022-09-08T10:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "623cfdb51c7f6a00704a7450", "created": "2022-09-08T07:41:00.000000", "name": "debuglog.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11575"}], "comments": [{"author": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "body": "[~accountid:623cfdb51c7f6a00704a7450] thank you for the report! Could we get the output from running that `puppet apply` with `--trace` and `--debug` to help us better diagnose it?", "created": "2022-09-06T14:21:00.000000"}, {"author": "623cfdb51c7f6a00704a7450", "body": "attached", "created": "2022-09-08T07:40:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Thanks for the info [~accountid:623cfdb51c7f6a00704a7450] It looks like this regression was introduced in PUP-9605, specifically https://github.com/puppetlabs/puppet/commit/5af5f9dab8318969ff14c85fe219711035777794#diff-b4d0de06a52daa31f3fbd02acaf3be6becaaff2af1c5c2391b1798e7c11b7579L121-R120\n\nPrior to that change, puppet used to always report on the first package that matched \"whatprovides\" https://github.com/puppetlabs/puppet/blob/5.5.16/lib/puppet/provider/package/rpm.rb#L121-L123 Note the FIXME comment.\n\nAfter the change, {{nevra_to_multiversion_hash}} either returns a hash or an array of hashes: https://github.com/puppetlabs/puppet/blob/5af5f9dab8318969ff14c85fe219711035777794/lib/puppet/provider/package/rpm.rb#L449-L452.\n\nIf {{whatprovides}} returns multiple entries, then this line will fail:\nhttps://github.com/puppetlabs/puppet/blob/5af5f9dab8318969ff14c85fe219711035777794/lib/puppet/provider/package/rpm.rb#L120\n\nFor this ticket, I think we need to examine all of the call sites to \"nevra_to_multiversion_hash\" and ensure the caller can handle either the single hash or array of hashes:\n\nhttps://github.com/puppetlabs/puppet/blob/5af5f9dab8318969ff14c85fe219711035777794/lib/puppet/provider/package/rpm.rb#L87\nhttps://github.com/puppetlabs/puppet/blob/5af5f9dab8318969ff14c85fe219711035777794/lib/puppet/provider/package/rpm.rb#L120\nhttps://github.com/puppetlabs/puppet/blob/5af5f9dab8318969ff14c85fe219711035777794/lib/puppet/provider/package/rpm.rb#L132", "created": "2022-09-27T16:29:00.000000"}], "components": ["Types and Providers"], "created": "2022-09-05T08:47:00.000000", "creator": "623cfdb51c7f6a00704a7450", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@20fea3c9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0jgtd:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Sep/22"}], "description": "*Puppet Version: 7.18.0*\n*Puppet Server Version: N/A*\n*OS Name/Version: CentOS 7, Alma Linux 8, Oracle Linux 8*\n\nWhen checking whether a package is already present, Puppet queries RPM using the package name and also using '\u2013whatprovides' in case the requested object is a virtual package provided by some other.\n\nWhen the virtual package is provided by multiple installed RPMs, Puppet fails with the following message: \"Could not evaluate: no implicit conversion of Array into Hash\"\n\nEasily reproduced by trying to apply this simple manifest on a system from RedHat family with both curl and wget installed:\n\n\u00a0\n{code:java}package { 'webclient':\n \u00a0 ensure => installed,\n}\n{code}\n\u00a0\n\n(We use 'webclient' here to provide an easily reproducible case. Our real issue is with 'perf' package on Oracle Linux that is provided by kernel-uek and a system can have several kernels installed.)\n\n*Desired Behavior:*\n\nPuppet understands that the requested object is already present from multiple sources and does nothing.\n\n*Actual Behavior:*\n\nPuppet fails with error:\n\n\u00a0\n{code:java}# puppet apply -e \"package { 'webclient': }\"\nNotice: Compiled catalog for XX in environment production in 0.02 seconds\nError: /Stage[main]/Main/Package[webclient]: Could not evaluate: no implicit conversion of Array into Hash{code}\n{code:java}# rpm -q --whatprovides webclient\nwget-1.14-18.el7_6.1.x86_64\ncurl-7.29.0-59.el7_9.1.x86_64\n \u00a0 {code}\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29871", "fixedVersions": [], "id": "29871", "issueType": "Bug", "key": "PUP-11623", "labels": ["needs-validation"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623cfdb51c7f6a00704a7450", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "RPM package types unable to handle multiple providers for a virtual package", "timeSpent": "PT0S", "updated": "2022-09-27T16:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a1beb0b007eb21a79e5d6de", "attachments": [], "comments": [], "components": [], "created": "2022-09-02T11:03:00.000000", "creator": "5a1beb0b007eb21a79e5d6de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The Puppet repository is no longer using Ubuntu 18.04 runners for GitHub Actions"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4c8bca4c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4650"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0jg2h:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_86658593_*|*_1_*:*_1_*:*_356801835_*|*_10007_*:*_1_*:*_81317896_*|*_3_*:*_1_*:*_261704787_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_852055222"}], "description": "Update the GitHub runners in Puppet from Ubuntu 18.04 to a more recent supported Ubuntu version (20.04 or 22.04)", "duedate": "2023-04-01T00:00:00.000000", "epicLinkSummary": "Migrate off Ubuntu 18.04 GitHub Action Runners", "estimate": "PT0S", "externalId": "29870", "fixedVersions": ["PUP 6.29.0", "PUP 7.20.0"], "id": "29870", "issueType": "Task", "key": "PUP-11626", "labels": [], "originalEstimate": "PT0S", "parent": "55849", "parentSummary": "Migrate off Ubuntu 18.04 GitHub Action Runners", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a1beb0b007eb21a79e5d6de", "resolution": "Fixed", "resolutionDate": "2022-09-21T10:12:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Update Ubuntu Runners for Puppet", "timeSpent": "PT0S", "updated": "2022-10-05T16:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "body": "[~accountid:623a4c434a57610068e67834],\n\nThanks for your ticket. We're looking into this and will get back to you when we have more information to share.", "created": "2022-09-13T14:14:00.000000"}], "components": [], "created": "2022-08-31T20:57:00.000000", "creator": "623a4c434a57610068e67834", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "{quote}Enumeration of requirements to consider the security ticket done.\n{quote}"}, {"fieldName": "Affects Build", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "All"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3235d669"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0jfh5:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Sep/22"}], "description": "The EOL of Ruby 2.7 is coming up on the 31 Mar 2023 and is currently under security maintenance only.\n\nhttps://endoflife.date/ruby\n\nhttps://www.ruby-lang.org/en/downloads/branches/\n\n\u00a0\n\nCan you please share your plan, or important parts of it, for having full support of Ruby 3 before the EOL of Ruby 2?\n\n\u00a0\n\nAs the Security Manager for my company I must ensure that at no point does any software we use fall out of support. I can not find any information on any of your resources addressing the end of Ruby 2 and there appears to be no publicly visible Epic for it.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23561", "fixedVersions": [], "id": "23561", "issueType": "Improvement", "key": "PUP-11622", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4c434a57610068e67834", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Ruby 2 EOL", "timeSpent": "PT0S", "updated": "2023-01-05T15:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a1beb0b007eb21a79e5d6de", "attachments": [], "comments": [{"author": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "body": "There are only 13 modules on the Forge that implement Hiera 3 backends. Because of how Hiera 5 backends are implemented, I don't know how to programmatically identify them. If you know a way to do that, I can re-run the analysis and omit those that have a 5 backend too.\n\nhttps://docs.google.com/spreadsheets/d/1HmKxSkqk0bxbNNCmuoFLm2MslCbJhu8NtYgOLLN4rTU/edit#gid=278845657\n\n", "created": "2022-08-30T16:12:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "[~accountid:557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b] Hiera 5 backends would most likely be written in ruby and be functions that operates on the lookup context passed into those functions - most likely having a call to {{{}context.not_found{}}}.\u00a0\n\nSomething to look out for are modules with both hiera 3\u00a0 and hira 5 implementations where the hiera 5 implementation just delegates to the hiera 3 implementation. In those cases, the hiera 3 implementation may (unfortunately) require the hiera 3 gem.", "created": "2022-10-02T15:30:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Built packages and successfully installed the agent. Additional changes will be required in beaker acceptance tests, but that's already ticketed separately.", "created": "2023-01-16T19:28:00.000000"}], "components": [], "created": "2022-08-29T17:15:00.000000", "creator": "5a1beb0b007eb21a79e5d6de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1bf53d1a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4664"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lc8e:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Aug/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_23948705_*|*_1_*:*_1_*:*_681668825_*|*_10007_*:*_1_*:*_6247720_*|*_3_*:*_1_*:*_501981707_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_10893732923"}], "description": "Hiera 5 has been a part of Puppet since Puppet 4.9 (released in February 2017). However, there are still Hiera version 3 custom backends that extend the base [Backend class|https://github.com/puppetlabs/hiera/blob/main/lib/hiera/backend.rb] and require the Hiera 3 gem to be installed.\n\nIn Puppet 8, we have the opportunity to remove the hard dependency on Hiera 3.\n\nIn broad strokes, this is what's required:\n * Modify puppet to call `Puppet.features.hiera?` instead of `require 'hiera'`\n * Update puppet's gemspec and ext/project_data.yaml to drop `hiera` as a runtime dependency\n * Remove hiera from install.rb\n\nNote the {{{}hiera_include{}}}, {{{}hiera_hash{}}}, {{hiera_array}} 4.x functions (such as [https://github.com/puppetlabs/puppet/blob/main/lib/puppet/functions/hiera_include.rb)] should continue to work after this change, because those functions are implemented using puppet lookup (see lib/puppet/pops/lookup).\n\n1. The following \"requires\" do not need to be modified, because the files exist in puppet:\n\n{noformat}\nrequire 'hiera_puppet'\nrequire 'hiera/scope'\nrequire 'hiera/puppet_function'\n{noformat}\n\n2. The following \"requires\" should be converted to \"Puppet.features.hiera?\" or they can be kept as \"require 'hiera'\" provided the call site guards against hiera not being present and a LoadError being raised.\n\n{noformat}\nlib/hiera_puppet.rb:require 'hiera'\n{noformat}\n\n3. We want to make sure we still exercise hiera in spec tests and benchmarks, so move the hiera gem in the Gemfile to the \"features\" gem group [here|https://github.com/puppetlabs/puppet/blob/4f111f444166f5a7a32429592858b607923c0c0e/Gemfile#L21-L35]. And add an rspec filter so tests and benchmarks only run when the feature is true, something like: describe \"...\", if: Puppet.features.hiera?. Make sure all tests pass when using `bundle install --without features` and `bundle install --with features`.\n\n4. The eyaml_lookup_key supports Hiera 3, but guards against hiera-eyaml not being installed, so I don't think these sites need to be modified:\n\n{noformat}\nlib/puppet/functions/eyaml_lookup_key.rb: require 'hiera/backend/eyaml/encryptor'\nlib/puppet/functions/eyaml_lookup_key.rb: require 'hiera/backend/eyaml/utils'\nlib/puppet/functions/eyaml_lookup_key.rb: require 'hiera/backend/eyaml/options'\nlib/puppet/functions/eyaml_lookup_key.rb: require 'hiera/backend/eyaml/parser/parser'\n{noformat}\n\n5. Pops supports loading a Hiera v3 config https://github.com/puppetlabs/puppet/blob/cb63661659a029d0a52033c07a61720c0abe1033/lib/puppet/pops/lookup/hiera_config.rb#L284-L286. Replace \"require 'hiera'\" with Puppet.features.hiera? and if it's false raise an error that indicates the hiera gem is not present in order to load hiera v3 configs.\n\n6. Pops already guards against LoadError when trying to load a hiera v3 backend in https://github.com/puppetlabs/puppet/blob/cb63661659a029d0a52033c07a61720c0abe1033/lib/puppet/pops/lookup/data_dig_function_provider.rb#L65-L94, so I don't think anything is required there.", "epicLinkSummary": "Puppet 8", "estimate": "PT0S", "externalId": "29867", "fixedVersions": ["PUP 8.0.0"], "id": "29867", "issueType": "Task", "key": "PUP-11621", "labels": [], "originalEstimate": "PT0S", "parent": "57676", "parentSummary": "Puppet 8", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a1beb0b007eb21a79e5d6de", "resolution": "Fixed", "resolutionDate": "2023-01-16T19:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Drop Hiera 3 Requirement", "timeSpent": "PT0S", "updated": "2023-01-16T19:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a1beb0b007eb21a79e5d6de", "attachments": [], "comments": [], "components": [], "created": "2022-08-29T15:31:00.000000", "creator": "5a1beb0b007eb21a79e5d6de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7ef3510"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Community Contributors", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "jcharaoui, apoikos"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0jcnd:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Reports sent to PuppetDB using the Oj JSON backend are now properly formatted."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_90342441_*|*_1_*:*_1_*:*_5891_*|*_10007_*:*_1_*:*_66480495_*|*_5_*:*_1_*:*_0"}], "description": "When Puppet uses Oj as a JSON backend and submits a report to PuppetDB, it deserializes floats as BigDecimals, which causes PuppetDB's schema validation to fail.\n\nOriginal Debian bug report: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=923976", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22433", "fixedVersions": ["PUP 7.19.0"], "id": "22433", "issueType": "Bug", "key": "PUP-11620", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a1beb0b007eb21a79e5d6de", "resolution": "Fixed", "resolutionDate": "2022-08-31T11:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet sends malformed PuppetDB reports with Oj ", "timeSpent": "PT0S", "updated": "2022-09-12T10:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2022-08-24T12:13:00.000000", "creator": "619528076d002b006b1c1e8d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Phoenix"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@557da2cb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-7"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Maintenance CY22 Q4"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "purple"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0gyuz:y"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_9073377379_*|*_6_*:*_1_*:*_0"}, {"fieldName": "productboard URL", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:url", "value": "https://puppet.productboard.com/feature-board/planning/features/14798700"}], "description": "Community bugs and fixes\nPE escalations, but not necessarily the support\\-escalations workflow\nDozens of PRs per quarter\nDavid to formalize this into an epic we can track/close with a bit more visibility\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26723", "fixedVersions": [], "id": "26723", "issueType": "Epic", "key": "PUP-11619", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61bb5fb0c681240069b5af9e", "resolution": "Fixed", "resolutionDate": "2022-12-07T11:36:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Maintenance CY22 Q4", "timeSpent": "PT0S", "updated": "2023-02-13T06:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2022-08-24T12:12:00.000000", "creator": "623cfc4a01f8660070b787c7", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Phoenix"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6eb4634a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-3"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Maintenance CY22 Q3"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "yellow"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0e4jf:y6"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2854776242_*|*_6_*:*_1_*:*_0"}, {"fieldName": "productboard URL", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:url", "value": "https://puppet.productboard.com/feature-board/planning/features/14797827"}], "description": "Community bugs and fixes\nPE escalations, but not necessarily the support-escalations workflow\nDozens of PRs per quarter\nDavid to formalize this into an epic we can track/close with a bit more visibility", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25517", "fixedVersions": [], "id": "25517", "issueType": "Epic", "key": "PUP-11618", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61bb5fb0c681240069b5af9e", "resolution": "Done", "resolutionDate": "2022-09-26T13:12:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Maintenance CY22 Q3", "timeSpent": "PT0S", "updated": "2022-09-26T13:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-08-23T11:53:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@71ca6c0f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11606"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0j0nl:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7689_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_300021"}], "description": "(Initial planned release date: 2022-09-13)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2022-09-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "estimate": "PT0S", "externalId": "20392", "fixedVersions": [], "id": "20392", "issueType": "Task", "key": "PUP-11616", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28761", "parentSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-08-23T11:58:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 7.19.0)", "timeSpent": "PT0S", "updated": "2022-08-23T11:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-08-23T11:53:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@55940fe1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11606"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0j0nd:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_8552_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1821307837"}], "description": "(Initial planned release date: 2022-09-13)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.descriptions\n", "duedate": "2022-09-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "estimate": "PT0S", "externalId": "29866", "fixedVersions": [], "id": "29866", "issueType": "Task", "key": "PUP-11615", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28761", "parentSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-09-13T13:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 7.19.0)", "timeSpent": "PT0S", "updated": "2022-09-13T13:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-08-23T11:53:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@216bc4db"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11606"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0j0n5:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_9477_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_282074"}], "description": "(Initial planned release date: 2022-09-13)\n\nSchedule a retrospective for this release. This should happen as soon as possible after the release, so that details are fresh in our heads.\nEnsure all current release leads are invited and that the Trello board is shared with them.\n* [~accountid:61af7ccdc75da800725247ff]\n* Former user\n* [~accountid:557058:79f2fdd6-baee-43c4-91af-c7e647173c95]\n* [~accountid:557058:104b5720-714d-4539-b455-df472251ec89]\n* [~accountid:70121:4c2994e4-73a9-4e99-971a-6d93d39be223]\n", "duedate": "2022-09-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "estimate": "PT0S", "externalId": "28762", "fixedVersions": [], "id": "28762", "issueType": "Task", "key": "PUP-11614", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28761", "parentSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-08-23T11:57:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Schedule a retrospective (Puppet Platform 7.19.0)", "timeSpent": "PT0S", "updated": "2022-08-23T11:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-08-23T11:53:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6c885433"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11606"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0j0mx:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_10362_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_265898_*|*_10005_*:*_1_*:*_1821054331"}], "description": "(Initial planned release date: 2022-09-13)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 7.19.0 is now available\"\n", "duedate": "2022-09-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "estimate": "PT0S", "externalId": "27764", "fixedVersions": [], "id": "27764", "issueType": "Task", "key": "PUP-11613", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28761", "parentSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-09-13T13:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Send release announcement (Puppet Platform 7.19.0)", "timeSpent": "PT0S", "updated": "2022-09-13T13:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-08-23T11:52:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4e00e3e8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11606"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0j0mh:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_12039_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1821219759"}], "description": "(Initial planned release date: 2022-09-13)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2022-09-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "estimate": "PT0S", "externalId": "25515", "fixedVersions": [], "id": "25515", "issueType": "Task", "key": "PUP-11612", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28761", "parentSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-09-13T13:46:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 7.19.0)", "timeSpent": "PT0S", "updated": "2022-09-13T13:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-08-23T11:52:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1baa927a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11606"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0j0m9:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_12831_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1745411789"}], "description": "(Initial planned release date: 2022-09-13)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2022-09-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "estimate": "PT0S", "externalId": "24635", "fixedVersions": [], "id": "24635", "issueType": "Task", "key": "PUP-11611", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28761", "parentSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-09-12T16:43:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 7.19.0)", "timeSpent": "PT0S", "updated": "2022-09-12T16:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-08-23T11:52:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@94ceb50"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11606"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0j0lt:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_14468_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1821207040"}], "description": "(Initial planned release date: 2022-09-13)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping Former user for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2022-09-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "estimate": "PT0S", "externalId": "22429", "fixedVersions": [], "id": "22429", "issueType": "Task", "key": "PUP-11610", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28761", "parentSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-09-13T13:46:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare release announcement (Puppet Platform 7.19.0)", "timeSpent": "PT0S", "updated": "2022-09-13T13:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-08-23T11:52:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@58bf9b4d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11606"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0j0ll:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_15295_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1745395699"}], "description": "(Initial planned release date: 2022-09-13)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2022-09-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "estimate": "PT0S", "externalId": "21417", "fixedVersions": [], "id": "21417", "issueType": "Task", "key": "PUP-11609", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28761", "parentSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-09-12T16:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 7.19.0)", "timeSpent": "PT0S", "updated": "2022-09-12T16:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-08-23T11:52:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@525f6689"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11606"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0j0ld:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_16059_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1745376866"}], "description": "(Initial planned release date: 2022-09-13)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2022-09-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "estimate": "PT0S", "externalId": "20391", "fixedVersions": [], "id": "20391", "issueType": "Task", "key": "PUP-11608", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28761", "parentSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-09-12T16:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 7.19.0)", "timeSpent": "PT0S", "updated": "2022-09-12T16:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-08-23T11:52:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@33b70d66"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11606"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0j0l5:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_16921_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_247726"}], "description": "(Initial planned release date: 2022-09-13)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 7.19.0 and puppet-agent 7.19.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2022-09-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "estimate": "PT0S", "externalId": "29864", "fixedVersions": [], "id": "29864", "issueType": "Task", "key": "PUP-11607", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28761", "parentSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-08-23T11:57:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 7.19.0)", "timeSpent": "PT0S", "updated": "2022-08-23T11:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-08-23T11:52:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Phoenix"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@233a1efa"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-6"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 7.19.0 Release - 2022-09-13"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "green"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0e4jf:n"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1899652230_*|*_6_*:*_1_*:*_0"}, {"fieldName": "productboard URL", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:url", "value": "https://puppet.productboard.com/feature-board/planning/features/15044825"}], "description": "Puppet Platform 7.19.0 Release \\- 2022\\-09\\-13\n", "duedate": "2022-09-13T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28761", "fixedVersions": [], "id": "28761", "issueType": "Epic", "key": "PUP-11606", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-09-14T11:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Puppet Platform 7.19.0 Release - 2022-09-13", "timeSpent": "PT0S", "updated": "2022-09-14T11:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "body": "Hi Pat, thanks for creating this ticket.\n\nI'm not sure that I understand how this feature request differs from how puppet typically works after the daemon is initialized. For a brand new agent checking into the server for the first time, the daemon will attempt to request a catalog from the configured server the next minute after the daemon has started", "created": "2022-08-16T15:40:00.000000"}], "components": [], "created": "2022-08-12T12:06:00.000000", "creator": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7fb98bb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0it6h:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Aug/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_358442948_*|*_6_*:*_1_*:*_0"}], "description": "For my site it would be helpful if I could run the puppet service immediately and, only after the first run of the client, have the splay values used for follow up by the daemon runs.\u00a0 Something like `splay_initial_run`\u00a0 have it default to `true` so the existing behavior is preserved, but can be shifted a bit.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22426", "fixedVersions": [], "id": "22426", "issueType": "Improvement", "key": "PUP-11605", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "resolution": "Won't Do", "resolutionDate": "2022-08-16T15:40:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "config option to use splay after the initial run", "timeSpent": "PT0S", "updated": "2022-08-16T15:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [], "components": ["PMT"], "created": "2022-08-08T12:50:00.000000", "creator": "557058:8b6a5143-cd16-434d-9c56-e1f3b642a830", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@494c4bc7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Community Contributors", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "op-ct"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0hgs3:w"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "puppet module list --render-as json now includes information about unmet dependencies."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_106722440_*|*_1_*:*_1_*:*_90987352_*|*_10007_*:*_1_*:*_1713393516_*|*_5_*:*_1_*:*_0"}], "description": "*Puppet Version:* 7.18.0\n*Puppet Server Version:* N/A\n*OS Name/Version:* N/A\n\nRunning *{{puppet module list}}* will report unmet dependencies on the console, but this information is missing when run with \\{*}{{--render-as json}}{*}.\u00a0 \n\n{*}Desired Behavior:{*}\n\n\u00a0\n{noformat}\nbpuppet module list --render-as json | jq keys\n\n[\n\u00a0 \"environment\",\n  \"modules_by_path\",\n  \"unmet_dependencies\"\n]\n{noformat}\n\u00a0\n\n*Actual Behavior:*\n\n\u00a0\n{code:java}\nbpuppet module list --render-as json | jq keys\n\n[\n\u00a0 \"environment\",\n  \"modules_by_path\"\n] \n{code}\n\nTo reproduce:\n\n{noformat}\n$ bundle exec puppet module install puppetlabs-apt\nNotice: Preparing to install into /home/josh/.puppetlabs/etc/code/environments/production/modules ...\nNotice: Downloading from https://forgeapi.puppet.com ...\nNotice: Installing -- do not interrupt ...\n/home/josh/.puppetlabs/etc/code/environments/production/modules\n\u2514\u2500\u252c puppetlabs-apt (v9.0.0)\n  \u2514\u2500\u2500 puppetlabs-stdlib (v8.1.0)\n$ bundle exec puppet module uninstall puppetlabs-stdlib --force\nNotice: Preparing to uninstall 'puppetlabs-stdlib' ...\nRemoved 'puppetlabs-stdlib' (v8.1.0) from /home/josh/.puppetlabs/etc/code/environments/production/modules\n$ bundle exec puppet module list                               \nWarning: Missing dependency 'puppetlabs-stdlib':\n  'puppetlabs-apt' (v9.0.0) requires 'puppetlabs-stdlib' (>= 4.16.0 < 9.0.0)\n/home/josh/.puppetlabs/etc/code/environments/production/modules\n\u251c\u2500\u2500 puppet-vault_lookup (v0.2.0)\n\u2514\u2500\u2500 puppetlabs-apt (v9.0.0)\n/home/josh/.puppetlabs/etc/code/modules (no modules installed)\n/opt/puppetlabs/puppet/modules (no modules installed)\n$ bundle exec puppet module list --render-as json\n{\"environment\":\"production\",\"modules_by_path\":{\"/home/josh/.puppetlabs/etc/code/environments/production/modules\":[\"Module apt(/home/josh/.puppetlabs/etc/code/environments/production/modules/apt)\",\"Module vault_lookup(/home/josh/.puppetlabs/etc/code/environments/production/modules/vault_lookup)\"],\"/home/josh/.puppetlabs/etc/code/modules\":[],\"/opt/puppetlabs/puppet/modules\":[]}}\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21415", "fixedVersions": ["PUP 7.19.0"], "id": "21415", "issueType": "Bug", "key": "PUP-11604", "labels": ["docs_reviewed", "faces", "puppet", "rendering"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8b6a5143-cd16-434d-9c56-e1f3b642a830", "resolution": "Fixed", "resolutionDate": "2022-08-30T15:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "\"puppet module list --render-as json\" does not report unmet dependencies", "timeSpent": "PT0S", "updated": "2022-09-12T10:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5eea633196b9660abf66923a", "body": "I have submitted a patch for this on GitHub (https://github.com/puppetlabs/puppet/pull/8929).", "created": "2022-08-05T05:51:00.000000"}], "components": [], "created": "2022-08-05T05:34:00.000000", "creator": "5eea633196b9660abf66923a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3b02fb56"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0hgs3:i"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Marks ZFS as an SELinux-Capable Filesystem"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1056444757_*|*_1_*:*_1_*:*_376490550_*|*_10007_*:*_1_*:*_763506666_*|*_5_*:*_1_*:*_0"}], "description": "*Puppet Version: 7.16.0*\n*Puppet Server Version:*\n*OS Name/Version: Rocky Linux 8.6*\n\nPuppet believes that ZFS does not support SELinux labels, so ZFS mountpoints are not automatically relabeled. However since OpenZFS 0.6.3 this is not the case ([Commit|https://github.com/openzfs/zfs/commit/11b9ec23b98eefe1e7bde0033dc8285f94cb0b90]). This means that currently you have to do something like the following to not break anything that lives inside a ZFS mount on a SELinux enforcing system. Just having a `File` for the mountpoint is not enough.\n{code:puppet}zfs { 'tstpool/tstfs':\n  ensure     => present,\n \u00a0mountpoint => '/var/log/forwarded',\n  notify     => Exec['/sbin/restorecon /var/log/forwarded'],\n}\n\nexec { '/sbin/restorecon -Rv /var/log/forwarded':\n  refreshonly => true,\n}{code}\nYou can reproduce this with the following steps:\n # Define a ZFS filesystem\n{code:puppet}zfs { 'zpool1/testing':\n        ensure     => present,\n        mountpoint => '/var/log/test',\n}\n\nfile { '/var/log/test':\n        ensure  => directory,\n        require => Zfs['zpool1/testing'],\n}\n{code}\n # Run Puppet with the manifest you create. Below is the relevant section of the trace output. Note that the use of `require` here is to prevent subdirectories being created before the the mountpoint is set.\n{code}Info: Applying configuration version '1659697804'\nDebug: /Stage[main]/Main/File[/mnt/testing]/require: require to Zfs[zpool1/testing]\nDebug: Executing: '/sbin/zfs list zpool1/testing'\nDebug: Executing: '/sbin/zfs create -o mountpoint=/var/log/test zpool1/testing'\nNotice: /Stage[main]/Main/Zfs[zpool1/testing]/ensure: created\nDebug: /Stage[main]/Main/Zfs[zpool1/testing]: The container Class[Main] will propagate my refresh eventDebug: /File[/var/log/test]/seluser: SELinux not available for this filesystem. Ignoring parameter.\nDebug: /File[/var/log/test]/selrole: SELinux not available for this filesystem. Ignoring parameter.\nDebug: /File[/var/log/test]/seltype: SELinux not available for this filesystem. Ignoring parameter.\nDebug: /File[/var/log/test]/selrange: SELinux not available for this filesystem. Ignoring parameter.\nDebug: /File[/var/log/test/test.txt]/seluser: SELinux not available for this filesystem. Ignoring parameter.\nDebug: /File[/var/log/test/test.txt]/selrole: SELinux not available for this filesystem. Ignoring parameter.\nDebug: /File[/var/log/test/test.txt]/seltype: SELinux not available for this filesystem. Ignoring parameter.\nDebug: /File[/var/log/test/test.txt]/selrange: SELinux not available for this filesystem. Ignoring parameter.Debug: Class[Main]: The container Stage[main] will propagate my refresh event\nDebug: Finishing transaction 12520\nDebug: Storing state\nDebug: Pruned old state cache entries in 0.00 seconds\nDebug: Stored state in 0.06 seconds\nNotice: Applied catalog in 0.28 seconds\n{code}\n # Check the SELinux label on the directory\n{code}$ ls -Zd /var/log/testsystem_u:object_r:unlabeled_t:s0 /var/log/test {code}\n # Run `restorecon` to see what label should have been applied\n{code}$ restorecon -Rv /var/log/test\nRelabeled /var/log/test from system_u:object_r:mnt_t:s0 to system_u:object_r:var_log_t:s0\nRelabeled /var/log/test/test.txt from unconfined_u:object_r:unlabeled_t:s0 to unconfined_u:object_r:var_log_t:s0{code}\n\nThe same works if you define a file inside the mount.\n{code:puppet}file { '/var/log/test/test.txt':\n        content => 'test',\n}\n{code}\n*Desired Behavior:*\n\nPuppet should use matchpathcon like it does with other filesystems to fix the label of both the mountpoint and files within.\n\n*Actual Behavior:*\n\nPuppet does not relabel the mountpoint or the files within because it believes it cannot.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23556", "fixedVersions": ["PUP 7.19.0"], "id": "23556", "issueType": "Bug", "key": "PUP-11603", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5eea633196b9660abf66923a", "resolution": "Fixed", "resolutionDate": "2022-08-30T15:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet Wont Write SELinux Labels on ZFS", "timeSpent": "PT0S", "updated": "2022-09-12T10:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a1beb0b007eb21a79e5d6de", "attachments": [], "comments": [], "components": [], "created": "2022-07-29T09:41:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@30551c07"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4664"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lc8b:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_325701543_*|*_1_*:*_1_*:*_361864996_*|*_10007_*:*_1_*:*_91138_*|*_3_*:*_1_*:*_173012280_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_13400715680"}], "description": "The crl_refresh_interval setting was added in Puppet 6.5 (PUP-2310) and defaults to never, so it's behind a feature flag. Now that it's been in use for awhile and is generally a good thing security-wise, this ticket is to change the default value to 1 day. This is a simple change to lib/puppet/defaults.rb and should be done for the 8.0 release. See https://puppetcommunity.slack.com/archives/C0W1X7ZAL/p1659103057731379\n\nMay also include some test changes.", "epicLinkSummary": "Puppet 8", "estimate": "PT0S", "externalId": "26718", "fixedVersions": ["PUP 8.0.0"], "id": "26718", "issueType": "Improvement", "key": "PUP-11602", "labels": [], "originalEstimate": "PT0S", "parent": "57676", "parentSummary": "Puppet 8", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2023-01-10T10:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Change default crl_refresh_interval to 1 day in puppet 8", "timeSpent": "PT0S", "updated": "2023-01-10T10:11:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2022-07-28T10:30:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@436b075e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4604"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0hvtt:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}], "description": "Update Public-facing Puppet docs to include this platform\nThis ticket will be set with the fix version of the first release containing the new platform and checked with doc team during the Platform release process.\n", "epicLinkSummary": "Add Debian 11 (ARM) FOSS support", "estimate": "PT0S", "externalId": "20342", "fixedVersions": [], "id": "20342", "issueType": "Task", "key": "PUP-11601", "labels": ["os"], "originalEstimate": "PT0S", "parent": "59057", "parentSummary": "Add Debian 11 (ARM) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "15. Update Public-facing Puppet docs to include Debian 11 (ARM)", "timeSpent": "PT0S", "updated": "2022-07-28T10:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2022-07-28T10:25:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@180e6aa4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4589"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0hvm9:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}], "description": "Update Public-facing Puppet docs to include this platform\nThis ticket will be set with the fix version of the first release containing the new platform and checked with doc team during the Platform release process.\n", "epicLinkSummary": "Add macOS 13 (x86_64) FOSS support", "estimate": "PT0S", "externalId": "26716", "fixedVersions": [], "id": "26716", "issueType": "Task", "key": "PUP-11600", "labels": ["os"], "originalEstimate": "PT0S", "parent": "57227", "parentSummary": "Add macOS 13 (x86_64) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "15. Update Public-facing Puppet docs to include macOS 13 (x86_64)", "timeSpent": "PT0S", "updated": "2022-07-28T10:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This was done awhile ago (we removed it and had to add it back to the 6 stream). Closing", "created": "2022-09-16T12:24:00.000000"}], "components": [], "created": "2022-07-28T09:05:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@79b81022"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4579"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0hvex:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_9914_*|*_6_*:*_2_*:*_601834870_*|*_10006_*:*_1_*:*_4331935496"}], "description": "Update Public-facing Puppet docs with removal of this platform\n", "epicLinkSummary": "Remove Ubuntu 14.04 FOSS support", "estimate": "PT0S", "externalId": "23525", "fixedVersions": [], "id": "23525", "issueType": "Task", "key": "PUP-11599", "labels": ["os"], "originalEstimate": "PT0S", "parent": "55841", "parentSummary": "Remove Ubuntu 14.04 FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Done", "resolutionDate": "2022-09-23T11:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Update Public-facing Puppet docs to remove Ubuntu 14.04", "timeSpent": "PT0S", "updated": "2022-09-23T11:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "body": "Based on a quick Slack conversation in the #puppet-dev community channel, here's an extremely raw proof-of-concept fix for this problem: [https://github.com/puppetlabs/puppet/pull/8928]\n\nIt just enumerates all {{<module>/lib/\\*\\*/\\*.rb}} files and compares their timestamps to the generated {{.resource_types/\\*.pp}} file.", "created": "2022-07-26T14:42:00.000000"}], "components": ["Type System"], "created": "2022-07-25T19:03:00.000000", "creator": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@31ad0037"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3z5:r9090000j90003r"}], "description": "*Puppet Version:* 7.18.0, 6.28.0\n*OS Name/Version:* CentOS 7\nh3. The Problem\n\nWhen deploying changes to a custom type that includes relative code from the {{PuppetX}} namespace, and only the {{PuppetX}} ruby files have changed, the '{{{}generate types{}}}' command skips the type because it thinks it's up-to-date.\n\nThis means any new/removed type parameters possibly won't be available due the environment isolation problem that {{puppet generate types}} was meant to solve.\nh3. Actual Behavior\n\nThe '{{{}puppet generate types{}}}' command uses the following implementation to determine if a custom type's attributes should be built into '{{{}<environment>/.resource_types/*.pp{}}}':\n{code:ruby}Puppet::FileSystem::exist?(f) && (Puppet::FileSystem::stat(@path) <=> Puppet::FileSystem::stat(f)) <= 0\n{code}\nThat's from [https://github.com/puppetlabs/puppet/blob/7.18.0/lib/puppet/generate/type.rb#L49]\n\nThis compares the modified timestamp of the type file with that of the generated {{.resource_types/*.pp}} file.\n\nBut if the file in {{lib/puppet/type/*.rb}} didn't change, it's timestamp will not get updated and Puppet will think the generated types are up to date.\nh3. Desired Behavior\n\n'{{puppet generate types}}' should account for PuppetX name-spaced code (e.g. '{{<module>/lib/puppet_x/<namespace>/\\*.rb}}') that is included by a type that lives at '{{<module>/lib/puppet/type/\\*.rb}}'.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23524", "fixedVersions": [], "id": "23524", "issueType": "Bug", "key": "PUP-11597", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "'puppet generate types' does not account for changes in the PuppetX module namespace", "timeSpent": "PT0S", "updated": "2022-08-24T12:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:623e79d48d8b9c0068b9f47f] Ruby CVE-2022-28738 only affects Ruby 3.x but Puppet vendors Ruby versions before that, so we are unaffected.", "created": "2022-07-26T13:45:00.000000"}, {"author": "623e79d48d8b9c0068b9f47f", "body": "Thank you for the clarification,\u00a0[Josh Cooper|https://puppet.atlassian.net/secure/ViewProfile.jspa?name=josh]", "created": "2022-07-26T14:43:00.000000"}], "components": [], "created": "2022-07-25T11:16:00.000000", "creator": "623e79d48d8b9c0068b9f47f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5903b6e6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ht21:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Jul/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_97383034_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 5.5.14, 6.16.0, 6.25.1*\n*Puppet Server Version: N/A*\n*OS Name/Version: ALL*\n\nRuby has released fixes for CVE-2022-28738.\u00a0\n\nWhen does Puppet plan to address Ruby CVE-2022-28738 for older version of Puppet-Agent?\nWe use 5.5.14, 6.16.0 and 6.25.1 Open-Source Puppet-agents and would like to know Puppet's plans to address CVE-2022-28738 in these older Puppet-agent versions.\n\nThanks.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22412", "fixedVersions": [], "id": "22412", "issueType": "Bug", "key": "PUP-11596", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79d48d8b9c0068b9f47f", "resolution": "Won't Do", "resolutionDate": "2022-07-26T14:19:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "CVE-2022-28738: Puppet-agent 5.5.x and 6.x releases", "timeSpent": "PT0S", "updated": "2022-07-27T06:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5e3375e183d74c0e821851f3", "body": "I suspect that the environment will need to be passed into the {{find}} when {{Puppet.settings.set_by_cli?('environment')}}. The initial thought was that either trusted facts were missing from the nc query or that it was being forced to {{:plain}}, but I don't know this code well enough to say what the correct fix should be. ", "created": "2022-07-25T08:16:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "Hi people,\nis this something that can be fixed in the near future? this is a regression and the customer relies on this feature.", "created": "2022-08-25T03:42:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is a dup of PUP-11527", "created": "2022-09-02T09:45:00.000000"}], "components": [], "created": "2022-07-25T07:15:00.000000", "creator": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@39889327"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Customer Feedback"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3z5:r9090000j9002"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "49053"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Jul/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_111993763_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3266641756"}], "description": "*Puppet Version:* 6.27.0 / 7.16.0\n*Puppet Server Version:* 2019.8.11 / 2021.6.0\n*OS Name/Version:* RHEL 8\n\nWe've a hiera.yaml that uses topscope facts within paths, like data/%{::tier}.yaml. With PE 2019.8.9, this worked fine. In https://puppet.atlassian.net/browse/PUP-7479 puppet lookup was broke due to a regression (and released in PE 2019.8.10). This was fixed in parts in https://puppet.atlassian.net/browse/PUP-11437 (and released in PE 2019.8.11).\nI also placed a comment in https://puppet.atlassian.net/browse/PUP-11437 and a slack thread at https://puppetcommunity.slack.com/archives/C19V5U41Z/p1658312927398119\n\n*Desired Behavior:*\npuppet lookup --node $(hostname -f) --compile --environment $hiera_key should work as expected.\n\n*Actual Behavior:*\npuppet lookup fails to resolve the variable. When hiera.yaml uses data/%{::tier}.yaml, puppet lookup will look into data/.yaml.\n\n\nI raised a PE support ticket for this. [~accountid:5e3375e183d74c0e821851f3] suggested this patch (on the 6.27.0 git tag):\n{code}\ndiff --git a/lib/puppet/application/lookup.rb b/lib/puppet/application/lookup.rb\nindex b9e6f22c87..cc6affcb9e 100644\n--- a/lib/puppet/application/lookup.rb\n+++ b/lib/puppet/application/lookup.rb\n@@ -376,7 +376,7 @@ Copyright (c) 2015 Puppet Inc., LLC Licensed under the Apache 2.0 License\n       facts = retrieve_node_facts(node, given_facts)\n       ni = Puppet::Node.indirection\n       tc = ni.terminus_class\n-      if options[:compile] && !Puppet.settings.set_by_cli?('environment')\n+      if options[:compile]\n         if tc == :plain\n           node = ni.find(node, facts: facts)\n         else\n{code}\n\nI restarted all PE services and did a few agent runs. I can confirm that this fixes the problem, but I don't know if this causes any side effects (that's why I didn't provide this change as a PR).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20341", "fixedVersions": [], "id": "20341", "issueType": "Bug", "key": "PUP-11595", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "resolution": "Duplicate", "resolutionDate": "2022-09-02T09:45:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "puppet lookup fails to resolve topscope variables from node classifier", "timeSpent": "PT0S", "updated": "2022-11-14T08:45:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [{"author": "5f5510c910d187006f1274d8", "body": "[https://github.com/puppetlabs/puppet/pull/8927] should fix this issue.", "created": "2022-07-20T11:13:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 13188f1cb4", "created": "2022-08-08T18:46:00.000000"}], "components": [], "created": "2022-07-20T10:27:00.000000", "creator": "5f5510c910d187006f1274d8", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5ec9e51d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fwks:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet handles misconfigured /proc filesystems correctly"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Aug/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_539802339_*|*_1_*:*_1_*:*_532561988_*|*_10007_*:*_1_*:*_597677415_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1598498"}], "description": "*Puppet Version: 7.12.0*\n*Puppet Server Version: N/A*\n*OS Name/Version: macOS 12.5*\n\nIf a host has {{/proc/self}} but as a file, {{safe_posix_fork}} will throw an unhandled {{{}Errno::ENOTDIR{}}}, leading to a failed puppet run.\n\nThis is not typical, but we had a user on a macOS 12 machine set up {{/proc/self}} in this way:\n # Append\u00a0{{proc Volumes/proc}} to {{/etc/synthentic.conf}}\n # {{sudo mkdir /Volumes/proc}}\n # Reboot\n # {{sudo touch /proc/self}}\n\nSubsequent puppet executions will fail:\n{code}\nError: Could not create resources for managing Puppet's files and directories in sections [:main, :agent, :ssl]: Could not get group list from DirectoryService\nError: Could not prepare for execution: Could not create resources for managing Puppet's files and directories in sections [:main, :agent, :ssl]: Could not get group list from DirectoryService\n{code}\n\nAdding {{Errno::ENOTDIR}} to the {{rescue}} [here|https://github.com/puppetlabs/puppet/blob/main/lib/puppet/util.rb#L533] works around the issue.\n\n*Desired Behavior:*\nPuppet handles misconfigured {{/proc}} filesystems correctly\n\n*Actual Behavior:*\nPuppet runs fail.\n\n{code}\n$ echo \"notice('test')\" | sudo /Library/GoogleCorpSupport/bin/puppet apply --test --trace --debug\nError: Could not create resources for managing Puppet's files and directories in sections [:main, :agent, :ssl]: Could not get group list from DirectoryService\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/provider/nameservice/directoryservice.rb:101:in `rescue in list_all_present'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/provider/nameservice/directoryservice.rb:98:in `list_all_present'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/provider/nameservice/directoryservice.rb:151:in `single_report'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/provider/nameservice/directoryservice.rb:504:in `getinfo'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/provider/nameservice.rb:192:in `exists?'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/type/group.rb:234:in `exists?'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/settings.rb:888:in `service_group_available?'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/settings/file_setting.rb:52:in `safe_to_use_settings_value?'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/settings/file_setting.rb:43:in `value'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/settings/file_setting.rb:95:in `group'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/settings/file_setting.rb:157:in `to_resource'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/settings.rb:1052:in `block in to_catalog'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/settings.rb:1048:in `each'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/settings.rb:1048:in `to_catalog'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/settings.rb:1123:in `use'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/application/apply.rb:310:in `setup'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/application.rb:413:in `block in run'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/util.rb:744:in `exit_on_fail'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/application.rb:413:in `run'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/util/command_line.rb:143:in `run'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/util/command_line.rb:77:in `execute'\n/Library/GoogleCorpSupport/Puppet/bin/puppet:5:in `<main>'\nError: Could not prepare for execution: Could not create resources for managing Puppet's files and directories in sections [:main, :agent, :ssl]: Could not get group list from DirectoryService\nCould not get group list from DirectoryService\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/provider/nameservice/directoryservice.rb:101:in `rescue in list_all_present'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/provider/nameservice/directoryservice.rb:98:in `list_all_present'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/provider/nameservice/directoryservice.rb:151:in `single_report'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/provider/nameservice/directoryservice.rb:504:in `getinfo'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/provider/nameservice.rb:192:in `exists?'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/type/group.rb:234:in `exists?'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/settings.rb:888:in `service_group_available?'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/settings/file_setting.rb:52:in `safe_to_use_settings_value?'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/settings/file_setting.rb:43:in `value'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/settings/file_setting.rb:95:in `group'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/settings/file_setting.rb:157:in `to_resource'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/settings.rb:1052:in `block in to_catalog'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/settings.rb:1048:in `each'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/settings.rb:1048:in `to_catalog'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/settings.rb:1123:in `use'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/application/apply.rb:310:in `setup'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/application.rb:413:in `block in run'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/util.rb:744:in `exit_on_fail'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/application.rb:413:in `run'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/util/command_line.rb:143:in `run'\n/Library/GoogleCorpSupport/Puppet/lib/ruby/site_ruby/puppet/util/command_line.rb:77:in `execute'\n/Library/GoogleCorpSupport/Puppet/bin/puppet:5:in `<main>'\n{code}\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26713", "fixedVersions": ["PUP 7.19.0"], "id": "26713", "issueType": "Bug", "key": "PUP-11594", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5f5510c910d187006f1274d8", "resolution": "Fixed", "resolutionDate": "2022-08-08T18:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet::Util.safe_posix_fork fails if /proc/self is not a directory", "timeSpent": "PT0S", "updated": "2022-09-12T10:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2022-07-18T02:17:00.000000", "creator": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@51e80586"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3z5:r9090000j90004"}], "description": "*Puppet Version:* 7.17\n*Puppet Server Version:* tested with puppet apply\n*OS Name/Version:* latest Gentoo with systemd\n\nGentoo supports a few init systems, where the default is openrc. If openrc is used, puppet works fine. However if you opt-in to systemd, puppet won't detect that properly\n\n*Desired Behavior:*\n\npuppet should check if systemd is running and then use that as default provider\n\n*Actual Behavior:*\n\nsystemd provider isn't used\n\n\n\nI have a fix at https://github.com/puppetlabs/puppet/pull/8919. let me know if you need any debug logs.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22411", "fixedVersions": [], "id": "22411", "issueType": "Bug", "key": "PUP-11593", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet chooses wrong service default provider on Gentoo if systemd is used", "timeSpent": "PT0S", "updated": "2022-08-24T12:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "[~accountid:623c0dfe50bb2b0070b6b0b3] we will welcome a PR for this fix", "created": "2022-07-28T09:31:00.000000"}], "components": ["Types and Providers"], "created": "2022-07-11T08:33:00.000000", "creator": "623c0dfe50bb2b0070b6b0b3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5bfc04bf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master Config", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Split"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "CentOS 7"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3z5:r9090000j900001"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Jul/22"}], "description": "*Puppet Version:* 7.17.0\n*Puppet Server Version:* 7.17.0\n*OS Name/Version:* CentOS 7 and CentOS 9 at least.\n\nWhen the file type encounters an selinux context with an MLS component.\n\ne.g. note the extra unusual c110,c289 below.\n{noformat}ls -lZ /etc/httpd/conf/http.conf \n-rw-r--r--. 1 root root system_u:object_r:httpd_config_t:s0:c110,c289 6 Jul 11 16:12 /etc/httpd/conf/http.conf\n{noformat}\nthe selrange is incorrectly parsed as 's0:c110,c289' and not 's0' as it should be.\n\nThe result is this considered a mismatch with desired configuration and \npuppet attempts to set the selrange to s0 which it does.\n\nHowever the mis parse remains and so puppet will forever try and change the\nselrange from ' 's0:c110,c289' to 's0'\n\nSteps to reproduce.\n\nInstall CentOS 7 or 9 (probably 8 is okay as well just not tested.\n\ndnf install -y podman httpd\n\nThe context of /etc/httpd/conf/httpd.conf is now a perfectly normal:\n{noformat}ls -lZ /etc/httpd/conf/httpd.conf\n-rw-r--r--. 1 root root system_u:object_r:httpd_config_t:s0 12005 Jun 16 18:44 /etc/httpd/conf/httpd.conf\n\n{noformat}\nand puppet parses this perfectly as\n{noformat}# puppet resource file /etc/httpd/conf/httpd.conf\nfile { '/etc/httpd/conf/httpd.conf':\n  ensure   => 'file',\n  content  => '{sha256}55b3dd635b5a56ebee1fe890d7372ec25c215cef0c0f3dd8f2bc5ae6e323da12',\n  ctime    => '2022-07-11 15:37:15 +0200',\n  group    => 0,\n  mode     => '0644',\n  mtime    => '2022-06-16 18:44:10 +0200',\n  owner    => 0,\n  provider => 'posix',\n  selrange => 's0',\n  selrole  => 'object_r',\n  seltype  => 'httpd_config_t',\n  seluser  => 'system_u',\n  type     => 'file',\n}\n\n{noformat}\nNow introduce MLS to equation.\n{noformat}podman run -it -v  /etc/httpd:/etc/httpd:Z fedora /bin/bash\n{noformat}\nand now outside the container:\n{noformat}ls -lZ /etc/httpd/conf/http.conf\n-rw-r--r--. 1 root root system_u:object_r:httpd_config_t:s0:c110,c289 6 Jul 11 16:12 /etc/httpd/conf/http.conf\n{noformat}\nNote that the c110,c289 has quite correctly appeared.\n\nHowever the resource parse of this is:\n{noformat}file { '/etc/httpd/conf/http.conf':\n  ensure   => 'file',\n  content  => '{sha256}c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2',\n  provider => 'posix',\n  selrange => 's0:c110,c289',\n  selrole  => 'object_r',\n  seltype  => 'httpd_config_t',\n  seluser  => 'system_u',\n}\n{noformat}\nThe selrange is wrong and it should be still 's0'\n\nThis is mismatch as compared to\n{noformat}# matchpathcon /etc/httpd/conf/http.conf \n/etc/httpd/conf/http.conf       system_u:object_r:httpd_config_t:s0\n{noformat}\nand so puppet pointlessly tries to set the selrange back to s0 which it does \nbut this is then a loop.\n{noformat}# puppet resource file /etc/httpd/conf/http.conf 'content=foobar'\nNotice: /File[/etc/httpd/conf/http.conf]/selrange: selrange changed 's0:c110,c289' to 's0'\nfile { '/etc/httpd/conf/http.conf':\n  ensure   => 'file',\n  content  => '{sha256}c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2',\n  provider => 'posix',\n  selrange => 's0:c110,c289',\n  selrole  => 'object_r',\n  seltype  => 'httpd_config_t',\n  seluser  => 'system_u',\n}\n\n{noformat}\n*Desired Behavior:*\n\nselrange , selrold, seltype should be parsed correctly for the case when \nan MLS is present in the file context.\n\n*Actual Behavior:*\n\nPuppet try to set the wrongly parsed state of the system for ever.\n\nMore information:\n\nMLS [https://www.redhat.com/en/blog/how-selinux-separates-containers-using-multi-level-security]\n\nThis regex needs to be a little smarter basically.\n\n[https://github.com/puppetlabs/puppet/blob/main/lib/puppet/util/selinux.rb#L79]\n\nto parse the last token as s0 and not s0:c110,c289", "environment": "CentOS 7 and 9 at least.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21412", "fixedVersions": [], "id": "21412", "issueType": "Bug", "key": "PUP-11591", "labels": ["needs-validation"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0dfe50bb2b0070b6b0b3", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "file type parses MLS file contexts incorrectly.", "timeSpent": "PT0S", "updated": "2022-08-31T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:905a82c3-3318-42bc-85c9-71dce0bfea0e", "body": "This should be directly reported to the module in Github.", "created": "2022-07-10T07:53:00.000000"}], "components": ["Modules"], "created": "2022-07-10T07:33:00.000000", "creator": "70121:905a82c3-3318-42bc-85c9-71dce0bfea0e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1b9c2f3d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0hgpd:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1216288_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 7.16.0*\n*Puppet Server Version: N/A*\n*OS Name/Version: CentOS Stream 9*\n\n\u00a0\n\nWhen a manifests include the ini_settings resource to mange only a config section, applying the manifests detect change in every run,\n\n\u00a0\n{code:java}\n[vagrant@localhost ~]$ cat sectiononly.pp\u00a0\n$testpath = '/home/vagrant/foo.ini'file { $testpath:\n\u00a0 ensure => present\n}ini_setting { 'test':\n\u00a0 ensure \u00a0=> present,\n\u00a0 section => 'test',\n\u00a0 path \u00a0 \u00a0=> $testpath,\n}File <||> -> Ini_setting <||>\n[vagrant@localhost ~]$ puppet apply sectiononly.pp \u00a0 --modulepath /usr/share/openstack-puppet/modules/\nNotice: Compiled catalog for localhost.localdomain in environment production in 0.02 seconds\nNotice: /Stage[main]/Main/File[/home/vagrant/foo.ini]/ensure: created\nNotice: /Stage[main]/Main/Ini_setting[test]/ensure: created\nNotice: Applied catalog in 0.01 seconds\n[vagrant@localhost ~]$ cat foo.ini\u00a0\n[test]\n[vagrant@localhost ~]$ puppet apply sectiononly.pp \u00a0 --modulepath /usr/share/openstack-puppet/modules/\nNotice: Compiled catalog for localhost.localdomain in environment production in 0.02 seconds\nNotice: /Stage[main]/Main/Ini_setting[test]/ensure: created\nNotice: Applied catalog in 0.02 seconds\n[vagrant@localhost ~]$ cat foo.ini\u00a0\n[test]\n[vagrant@localhost ~]$ puppet apply sectiononly.pp \u00a0 --modulepath /usr/share/openstack-puppet/modules/\nNotice: Compiled catalog for localhost.localdomain in environment production in 0.02 seconds\nNotice: /Stage[main]/Main/Ini_setting[test]/ensure: created\nNotice: Applied catalog in 0.02 seconds\n[vagrant@localhost ~]$\u00a0\n{code}\n\u00a0\n\n\u00a0\n\nThis problem was initially found with puppetlabs-inifile 5.3.1 .\n\n\u00a0\n\n*Desired Behavior:*\n\nThe resource should not break idempotency\n\n*Actual Behavior:*\n\nThe resource breaks idempotency\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28799", "fixedVersions": [], "id": "28799", "issueType": "Bug", "key": "PUP-11589", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:905a82c3-3318-42bc-85c9-71dce0bfea0e", "resolution": "Incomplete", "resolutionDate": "2022-07-10T07:53:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "inifile: section-only ini_setting resource breaks idempotency", "timeSpent": "PT0S", "updated": "2022-07-10T07:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61bb63041baa2b0069ef30a1", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Adding some debug notes.\n\nThe {{Puppet::Parameter#newvalues}} method adds possible values to a ValueCollection. For example, the package type defines {{:latest}} as a {{newvalue}} https://github.com/puppetlabs/puppet/blob/832424710993567a0bdc942cddae9b32d66d7e4d/lib/puppet/type/package.rb#L116\n\nPuppet handles \"ensure => latest\" (bare word) the same as \"ensure => 'latest'\" (string) because the parameter value is munged (canonicalized) https://github.com/puppetlabs/puppet/blob/832424710993567a0bdc942cddae9b32d66d7e4d/lib/puppet/parameter/value_collection.rb#L102 which ends up calling https://github.com/puppetlabs/puppet/blob/832424710993567a0bdc942cddae9b32d66d7e4d/lib/puppet/parameter/value.rb#L79-L82\n\nSo due to the canonicalization, it's not possible to differentiate between wanting to upgrade to the latest version versus installing a version whose value is the literal string \"latest\".\n\n", "created": "2022-08-22T17:29:00.000000"}, {"author": "61bb63041baa2b0069ef30a1", "body": "We are unable to resolve this issue because the provider, {{dnfmodule}}, does not support the {{:upgradeable}} option because we cannot determine a latest version. Therefore, {{ensure => latest}} cannot be used for {{dnfmodule}}. For more information, please see [this comment|https://github.com/puppetlabs/puppet/blob/832424710993567a0bdc942cddae9b32d66d7e4d/lib/puppet/provider/package/dnfmodule.rb#L16-L20].\n\nWe were able to reproduce this issue on a RedHat 8 VM with Puppet 7.18.0.\u00a0\nWe began by checking if the {{latest}} stream of {{nvidia-driver}} could be manually installed:\n{code:java}[root@faulty-believer ~]# sudo dnf module install nvidia-driver:latest\n...\nComplete!\n[root@faulty-believer ~]# dnf module list --installed\ncuda-rhel8-x86_64\nName \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Stream \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Profiles \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  \nnvidia-driver \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0latest [e] \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 fm, src, ks, default [d] [i] \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  \nHint: [d]efault, [e]nabled, [x]disabled, [i]nstalled\n[root@faulty-believer ~]# puppet resource package nvidia-driver\npackage { 'nvidia-driver':\n\u00a0 ensure \u00a0 => '3:515.65.01-1.el8',\n\u00a0 provider => 'dnf',\n}\n{code}\nThen, we checked if stream {{470}} and {{510}} could be installed.\n\nmanifest.pp:\n{code:java}\npackage { 'nvidia-driver':\n\u00a0 ensure \u00a0 => '470',\n\u00a0 provider => 'dnfmodule',\n} \n{code}\n{code:java}\n[root@faulty-believer ~]# puppet apply manifest.pp \nNotice: /Stage[main]/Main/Package[nvidia-driver]/ensure: ensure changed 'latest' to '470' \nNotice: Applied catalog in 90.60 seconds{code}\nmanifest.pp:\n{code:java}\npackage { 'nvidia-driver':\n\u00a0 ensure \u00a0 => '510',\n\u00a0 provider => 'dnfmodule',\n}\u00a0{code}\n{code:java}[root@faulty-believer ~]# puppet apply manifest.pp\nNotice: Compiled catalog for faulty-believer.delivery.puppetlabs.net in environment production in 0.31 seconds\nNotice: /Stage[main]/Main/Package[nvidia-driver]/ensure: ensure changed '470' to '510'\nNotice: Applied catalog in 107.34 seconds\n\n{code}\n\nThen we used this manifest (manifest.pp) to attempt to install the latest stream:\n{code:java}package { 'nvidia-driver':\n\u00a0 ensure \u00a0 => 'latest',\n\u00a0 provider => 'dnfmodule',\n}{code}\nAnd got this:\n{code:java}[root@faulty-believer ~]# puppet apply manifest.pp\nNotice: Compiled catalog for faulty-believer.delivery.puppetlabs.net in environment production in 0.32 seconds\nNotice: Applied catalog in 7.24 seconds\n[root@faulty-believer ~]# dnf module list --installed\ncuda-rhel8-x86_64\nName \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Stream \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Profiles\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0\nnvidia-driver \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 510 [e] \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 fm, src, ks, default [d] [i]{code}\nWe tried applying the same manifest with {{--debug}} to see what's happening:\n{code:java}[root@faulty-believer ~]# puppet apply --debug manifest.pp\n...\nDebug: Prefetching dnfmodule resources for package\nDebug: Executing: '/usr/bin/dnf --version'\nDebug: Executing: '/usr/bin/dnf module list -d 0 -e 1'\nDebug: Executing: '/usr/bin/dnf check-update'\nDebug: Package[nvidia-driver](provider=dnfmodule): Yum didn't find updates, current version (510) is the latest\nDebug: Finishing transaction 12040\nDebug: Storing state\nDebug: Pruned old state cache entries in 0.00 seconds{code}\nSince {{dnfmodule}} does not have its own defined {{latest}} since it is only needed if {{dnfmodule}} has the {{:upgradeable}} option enabled, Puppet is calling the [latest method from a superclass of dnfmodule|#L328-L341] and thinks there is no later version.\n\nWe also found that Puppet thinks {{ensure => 'latest'}} is {{ensure => latest}} instead. More information can be found [here|https://github.com/puppetlabs/puppet/blob/832424710993567a0bdc942cddae9b32d66d7e4d/lib/puppet/type/package.rb#L161].\u00a0", "created": "2022-08-22T18:07:00.000000"}, {"author": "62ccea54e546e8eab8ee5c44", "body": "Option: dnfmodule could implement the 'latest' method on its own and install then the 'latest' stream and fail if there is none as the module streams do not have a notion of \"latest\". \nThere is the \"default\" stream, but that is more the earliest and not the latest...", "created": "2022-08-23T01:10:00.000000"}, {"author": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "body": "Is there a way to help get a resolution for this prioritized?", "created": "2023-02-08T13:09:00.000000"}], "components": [], "created": "2022-07-06T09:31:00.000000", "creator": "62ccea54e546e8eab8ee5c44", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "should be possible to install from a stream named latest\n\nShould be possible to install a new version of a package from a different stream that conflicts with an installed package"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@57f35490"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0itqp:6"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Jul/22"}], "description": "*Puppet Version: {color:#000000}7.17.0{color}*\n*Puppet Server Version: 7.2.1*\n*OS Name/Version: RedHat 8.6*\n\nFrom the [Nvidia CUDA package repository|http://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/] I changed the {{nvidia-driver}} module between different streams and found two issues:\n # Stream named \"{{{}latest{}}}\" is not installed with \"{{{}ensure => 'latest'{}}}\"\n # Cannot deal with conflicting packages when changing from one stream to another\n\n*Desired Behavior:*\n # If there is a stream \"{{{}latest{}}}\" and it is demanded with \"{{{}ensure => 'latest'{}}}\", it shall be installed\n # Automatically deal with or allow to deal (e.g. using {{install_options}}) with conflicting packages when changing module stream \n\n*Actual Behavior:*\n\nCheck that no modules are installed:\n{noformat}\n[root@pt86test ~]# dnf module list --installed\nLast metadata expiration check: 2:31:22 ago on Mi 06 Jul 2022 13:40:09 CEST.\n[root@pt86test ~]#\u00a0{noformat}\ninstall stream '{{{}470{}}}':\n{noformat}\npackage { 'nvidia-driver':\n\u00a0 \u00a0 ensure \u00a0 => '470',\n\u00a0 \u00a0 provider => 'dnfmodule',\n}\n{noformat}\n\npuppet agent run successful:\n{noformat}\nNotice: /Stage[main]/Profile::Nvidia::Cuda/Package[nvidia-driver]/ensure: created (corrective)\n...\n[root@pt86test ~]# dnf module list --installed\nLast metadata expiration check: 2:48:12 ago on Mi 06 Jul 2022 13:40:09 CEST.\nCUDA and drivers from Nvidia\nName \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Stream \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Profiles \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Summary \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\nnvidia-driver \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 470 [e] \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0default [d] [i], fm, ks, src \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Nvidia driver for 470 branch \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0\nHint: [d]efault, [e]nabled, [x]disabled, [i]nstalled\n[root@pt86test ~]#\u00a0\n{noformat}\n\u00a0\nNow let's bump it to stream '{{{}510{}}}':\n{noformat}\npackage { 'nvidia-driver':\n\u00a0 \u00a0 ensure \u00a0 => '510',\n\u00a0 \u00a0 provider => 'dnfmodule',\n}\n{noformat}\n\nperfect again:\n{noformat}\nNotice: /Stage[main]/Profile::Nvidia::Cuda/Package[nvidia-driver]/ensure: ensure changed '470' to '510'\n...\n[root@pt86test ~]# dnf module list --installed\nLast metadata expiration check: 2:53:26 ago on Mi 06 Jul 2022 13:40:09 CEST.\nCUDA and drivers from Nvidia\nName \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Stream \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Profiles \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Summary \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\nnvidia-driver \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 510 [e] \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0default [d] [i], fm, ks, src \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Nvidia driver for 510 branch \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0\nHint: [d]efault, [e]nabled, [x]disabled, [i]nstalled\n[root@pt86test ~]#\u00a0\n{noformat}\n\u00a0\nnow let's try stream '{{{}latest{}}}'\n{noformat}\npackage { 'nvidia-driver':\n\u00a0 \u00a0 ensure \u00a0 => 'latest',\n\u00a0 \u00a0 provider => 'dnfmodule',\n}\n{noformat}\n\nit does not do anything!\n{noformat}\n[root@pt86test ~]# dnf module list --installed\nLast metadata expiration check: 2:56:21 ago on Mi 06 Jul 2022 13:40:09 CEST.\nCUDA and drivers from Nvidia\nName \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Stream \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Profiles \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Summary \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\nnvidia-driver \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 510 [e] \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0default [d] [i], fm, ks, src \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Nvidia driver for 510 branch \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0\nHint: [d]efault, [e]nabled, [x]disabled, [i]nstalled\n[root@pt86test ~]#\u00a0\n{noformat}\n\u00a0\nI guess \"latest\" has a special meaning and is not used as stream name.\n\nOK, let's try now stream '{{510-dkms}}':\n{noformat}\npackage { 'nvidia-driver':\n\u00a0 \u00a0 ensure \u00a0 => '510-dkms',\n\u00a0 \u00a0 provider => 'dnfmodule',\n}\n{noformat}\n\nbut here it is not happy at all:\n{noformat}\nError: /Stage[main]/Profile::Nvidia::Cuda/Package[nvidia-driver]/ensure: change from 'purged' to '510-dkms' failed: Could not update: Execution of '/usr/bin/dnf module install -d 0 -e 1 -y nvidia-driver:510-dkms' returned 1: Error:\u00a0\n\u00a0Problem: problem with installed package kmod-nvidia-510.73.08-4.18.0-372.9.1-3:510.73.08-3.el8.x86_64\n\u00a0 - package kmod-nvidia-510.73.08-4.18.0-372.9.1-3:510.73.08-3.el8.x86_64 conflicts with kmod-nvidia-latest-dkms provided by kmod-nvidia-latest-dkms-3:510.73.08-1.el8.x86_64\n\u00a0 - conflicting requests (corrective)\n{noformat}\n\na manual {{dnf}} run gives me following hint:\n{noformat}\n(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)\n{noformat}\n\nSo '{{--allowerasing}}' it shall be:\n{noformat}\npackage { 'nvidia-driver':\n\u00a0 \u00a0 ensure \u00a0 \u00a0 \u00a0 \u00a0 \u00a0=> '510-dkms',\n\u00a0 \u00a0 provider \u00a0 \u00a0 \u00a0 \u00a0=> 'dnfmodule',\n\u00a0 \u00a0 install_options => ['--allowerasing'],\n}\n{noformat}\n\nExactly the same error, so install_options seam not to be supported:\n{noformat}\nError: /Stage[main]/Profile::Nvidia::Cuda/Package[nvidia-driver]/ensure: change from 'purged' to '510-dkms' failed: Could not update: Execution of '/usr/bin/dnf module install -d 0 -e 1 -y nvidia-driver:510-dkms' returned 1: Error:\u00a0\n\u00a0Problem: problem with installed package kmod-nvidia-510.73.08-4.18.0-372.9.1-3:510.73.08-3.el8.x86_64\n\u00a0 - package kmod-nvidia-510.73.08-4.18.0-372.9.1-3:510.73.08-3.el8.x86_64 conflicts with kmod-nvidia-latest-dkms provided by kmod-nvidia-latest-dkms-3:510.73.08-1.el8.x86_64\n\u00a0 - conflicting requests (corrective)\n{noformat}\n\nManual install with it works fine:\n{noformat}\n[root@pt86test ~]# dnf module install --allowerasing nvidia-driver:510-dkms\n...\nInstalled:\n  dkms-3.0.4-1.el8.noarch                                         elfutils-libelf-devel-0.186-1.el8.x86_64                                         kmod-nvidia-latest-dkms-3:510.73.08-1.el8.x86_64                                        \nRemoved:\n  kmod-nvidia-510.73.08-4.18.0-372.9.1-3:510.73.08-3.el8.x86_64                                                                                                                                                                             \n\nComplete!\n[root@pt86test ~]# \n{noformat}\n\nAnd for completeness to show that there is actually a '{{latest}}' stream:\n{noformat}\n[root@pt86test ]# dnf module install --allowerasing nvidia-driver:latest\n...\n[root@pt86test ~]# dnf module list --installed\nLast metadata expiration check: 0:01:02 ago on Mi 06 Jul 2022 17:28:41 CEST.\nCUDA and drivers from Nvidia\nName                                                Stream                                           Profiles                                                           Summary                                                             \nnvidia-driver                                       latest [e]                                       default [d] [i], fm, ks, src                                       Nvidia driver for latest branch                                     \n\nHint: [d]efault, [e]nabled, [x]disabled, [i]nstalled\n[root@pt86test ~]# \n{noformat}\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20340", "fixedVersions": [], "id": "20340", "issueType": "Bug", "key": "PUP-11588", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "62ccea54e546e8eab8ee5c44", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "dnfmodule issues with Nvidia CUDA repository", "timeSpent": "PT0S", "updated": "2023-02-08T13:09:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "5a1beb0b007eb21a79e5d6de", "attachments": [], "comments": [{"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "There is a PR for this that needs to be merged", "created": "2022-07-05T14:11:00.000000"}], "components": [], "created": "2022-07-05T09:38:00.000000", "creator": "623c12b950bb2b0070b6b384", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3c25f7f6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Community Contributors", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "jcharaoui"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0hgs1:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Jul/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_331056815_*|*_1_*:*_1_*:*_16386662_*|*_10007_*:*_1_*:*_3198633956_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_5474_*|*_10005_*:*_1_*:*_4165"}], "description": "The addition of this field allows calling {{systemctl help puppet}} to display documentation for the service unit.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28798", "fixedVersions": ["PUP 7.19.0"], "id": "28798", "issueType": "New Feature", "key": "PUP-11586", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c12b950bb2b0070b6b384", "resolution": "Fixed", "resolutionDate": "2022-08-15T10:39:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Add Documentation field to systemd unit", "timeSpent": "PT0S", "updated": "2022-09-07T14:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "[~accountid:70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de] is there a way to purge repo configs using the yumrepo type directly?", "created": "2022-07-05T14:22:00.000000"}, {"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "[~accountid:70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de] is there a way to purge repo configs using the yumrepo type directly?", "created": "2022-07-05T14:22:00.000000"}, {"author": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "body": "I'm not aware of a way to use the yumrepo type in that manner.\n\n\u00a0\n\nIt gets more complex when consuming content via subscription-manager.\u00a0 The repo file is written out directly there.\u00a0 It can be tracked with a `File` resource, but without having the other files under the `File` scope, it is a bit of a mess.\n\n\u00a0\n\nhttps://github.com/voxpupuli/puppet-yum/pull/258#issuecomment-1173727992", "created": "2022-07-06T09:20:00.000000"}], "components": [], "created": "2022-07-05T08:06:00.000000", "creator": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The elements created by yumrepo_core should be recognized by puppet to prevent purging of managed items."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5fa20a34"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0heft:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Jul/22"}], "description": "The yumrepo_core type creates elements in /etc/yum.repos.d/ but does not create a File resource for those items.\u00a0 As a result, if /etc/yum.repos.d/ is set to purge unmanaged files, the newly created resources are immediately removed making things non-idempotent and also confusing.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28797", "fixedVersions": [], "id": "28797", "issueType": "Improvement", "key": "PUP-11585", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "yumrepo_core doesn't create file resources", "timeSpent": "PT0S", "updated": "2022-07-06T09:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:905a82c3-3318-42bc-85c9-71dce0bfea0e", "body": "I could workaround the problem by adding a dummy fact file.\n{code:java}\n[root@localhost ~]# cat foo.yaml\u00a0\n---\nthis: is_dummy\n[root@localhost ~]# sudo puppet lookup enabled_services --node agent.local --facts foo.yaml\nWarning: /etc/puppet/hiera.yaml: Use of 'hiera.yaml' version 3 is deprecated. It should be converted to version 5\n\u00a0 \u00a0(file: /etc/puppet/hiera.yaml)\n---\n- foo\n- baa\n{code}\nside note: this failed when I downgrade puppet to 7.10.0\n{code:java}\n[root@localhost ~]# sudo puppet lookup enabled_services --node agent.local --facts foo.yaml\nError: Could not run: undefined method `add_extra_values' for nil:NilClass {code}\n\u00a0", "created": "2022-06-29T09:41:00.000000"}, {"author": "70121:905a82c3-3318-42bc-85c9-71dce0bfea0e", "body": "Hmm... this might be just a wrong usage caused by misunderstanding of the example commands.\n\nI don't see any logic to handle agent.local in puppet code.\n\nAnd the failure looks like expected according to [https://github.com/puppetlabs/puppet/commit/6b1cc3f6ec2d75508395a0803f39fc89c7db980d] ...", "created": "2022-06-29T09:47:00.000000"}, {"author": "70121:905a82c3-3318-42bc-85c9-71dce0bfea0e", "body": "It turned out to be just a wrong usage. sorry for the noise.", "created": "2022-06-29T09:55:00.000000"}], "components": [], "created": "2022-06-29T09:35:00.000000", "creator": "70121:905a82c3-3318-42bc-85c9-71dce0bfea0e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@193b8531"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0hcwp:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1164624_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 7.16.0*\n*Puppet Server Version: 7.16.0*\n*OS Name/Version: CentOS Stream 9*\n\n*Desired Behavior:*\n\npuppet lookup should not fail when it is executed with --node agent.local\n\n*Actual Behavior:*\n\npuppet lookup consistently fails when it is executed with --node agent.local\n{code:java}[root@localhost ~]# sudo puppet lookup enabled_services --node agent.local\nError: Could not run: No facts available for target node: agent.local\n{code}\n\u00a0\n\nThe command works when --node is not used\n{code:java}[root@localhost ~]# sudo puppet lookup enabled_services\nWarning: /etc/puppet/hiera.yaml: Use of 'hiera.yaml' version 3 is deprecated. It should be converted to version 5\n\u00a0 \u00a0(file: /etc/puppet/hiera.yaml)\n---\n- foo\n- baa {code}\n\u00a0\n\nHieradata files are created as shown below.\n{code:java}\n[root@localhost ~]# cat /etc/puppet/hieradata/service_configs.json\u00a0\n{\n\u00a0 \"enabled_services\": [\"foo\", \"baa\"]\n} {code}\n{code:java}[root@localhost ~]# cat /etc/puppet/hiera.yaml\n---\n:backends:\n\u00a0 - json\n:json:\n\u00a0 :datadir: /etc/puppet/hieradata\n:hierarchy:\n\u00a0 - service_configs{code}", "environment": "Reproduced with\n * CentOS Stream 9\n * Puppet 7.16.0\n * facter 4.2.10\n * ruby 3.0.3-159\n\nThe problem is not reproduced if I downgrade Puppet to 7.10.0 so this looks like a regression.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22410", "fixedVersions": [], "id": "22410", "issueType": "Bug", "key": "PUP-11584", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:905a82c3-3318-42bc-85c9-71dce0bfea0e", "resolution": "Declined", "resolutionDate": "2022-06-29T09:55:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "lookup always fails when --node agent.local is used", "timeSpent": "PT0S", "updated": "2022-06-29T09:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "[~accountid:70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de] we welcome a PR for it", "created": "2022-07-05T14:39:00.000000"}], "components": [], "created": "2022-06-29T09:33:00.000000", "creator": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5f8d94a1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0hcwh:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Jul/22"}], "description": "Can `yumrepo_core` be extended to support the `repo_gpgcheck` flag?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21411", "fixedVersions": [], "id": "21411", "issueType": "Improvement", "key": "PUP-11583", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "yumrepo_core repo_gpgcheck", "timeSpent": "PT0S", "updated": "2022-07-19T14:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "Fixed part of another ticket", "created": "2022-07-06T10:32:00.000000"}], "components": [], "created": "2022-06-27T13:04:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6505a2c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3z5:r9090000j9"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Jul/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_90352320_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_678130658"}], "description": "Several puppet acceptance tests fail on Windows 11, so they have been marked as pending in 6.x and main. This ticket is to research why the tests are failing and file tickets if more work is required, such as to the VM template or code:\n\nSee [https://github.com/puppetlabs/puppet/pull/8920]\n\nTo run tests execute the following steps:\n{noformat}$ cd ~/work/puppet/acceptance\n$ git checkout 6.x\n$ git pull\n$ rm Gemfile.lock\n$ bundle update\n{noformat}\nMake sure you have recent beaker, etc gems that support Windows 11:\n{noformat}$ bundle exec gem list | grep beaker | sort\nbeaker (4.37.0)\nbeaker-abs (0.10.1)\nbeaker-docker (0.8.4)\nbeaker-gke (0.0.3)\nbeaker-hostgenerator (1.16.0)\nbeaker-puppet (1.26.2)\nbeaker-vagrant (0.7.1)\nbeaker-vcloud (1.1.0)\nbeaker-vmpooler (1.4.0)\nbeaker-vmware (1.0.0)\n{noformat}\nGet the last passing *puppet-agent* SHA for the *6.x* branch, for example d3a3c70edc4316d30c1ddebde37359baa95e2bfc. You must specify the full SHA since it needs to match the the URL path on [https://builds.delivery.puppetlabs.net/puppet-agent/]<SHA>/. It is important to install a version of puppet-agent and puppetserver that are consistent with the tests you've checked out locally. For example, we don't want to run the tests from puppet#main against a host that has puppet-agent#6.x installed.\n\nThen clone the nw-castle-black repo if needed:\n{noformat}$ pushd ~/work\n$ git clone https://github.com/puppetlabs/nw-castle-black\n$ popd\n{noformat}\nAnd run beaker via its *{{setup.sh}}* script. See its [README|https://github.com/puppetlabs/nw-castle-black/tree/main/beaker] for details. Note the current working directory must be within the \"acceptance/tests\" subdirectory of the puppet repo:\n{noformat}$ export SHA=d3a3c70edc4316d30c1ddebde37359baa95e2bfc\n$ export SERVER_VERSION=6.19.0\n$ ~/work/nw-castle-black/beaker/setup.sh redhat7-64ma-windows11ent-64a\n...\n{noformat}\nAssuming that completes, you'll have a puppetserver (RedHat 7) and agent (Windows 11) on two different hosts, and the agent will be \"registered\" with the server (it'll have a client cert and be configured to talk to the server). Then you'll want to run each test that was marked pending in the pull request above, for example:\n{noformat}$ bundle exec beaker exec tests/agent/agent_fails_with_unknown_resource.rb\n{noformat}\nThen comment out the \"pending_test\" line in the test and rerun the same command. It should fail. Try to figure out if there's something wrong with the test or if there is an issue with the code when running on Windows 11.\n\nWhen you're done you'll have to run {{floaty delete <fqdn>}} for each host, since there's a bug in beaker-abs that prevents VMs from being deleted when running \\{{bundle exec beaker destroy}}.\n\nNext checkout {{{}puppet#main{}}}, get the last passing *puppet-agent#main SHA* and *SERVER_VERSION* and repeat.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23522", "fixedVersions": [], "id": "23522", "issueType": "Task", "key": "PUP-11582", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2022-07-06T10:32:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Resolve acceptance test failures on Windows 11", "timeSpent": "PT0S", "updated": "2022-07-06T10:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:41:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6f196f67"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11572"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0h7lt:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_357049_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2214814524"}], "description": "(Initial planned release date: 2022-07-12)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2022-07-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "26711", "fixedVersions": [], "id": "26711", "issueType": "Task", "key": "PUP-11581", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25506", "parentSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-07-18T08:00:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 6.28.0)", "timeSpent": "PT0S", "updated": "2022-07-18T08:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:40:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1f80ccbe"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11572"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0h7ll:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_350894_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3611045716"}], "description": "(Initial planned release date: 2022-07-12)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.descriptions\n", "duedate": "2022-07-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "25508", "fixedVersions": [], "id": "25508", "issueType": "Task", "key": "PUP-11580", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25506", "parentSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-08-03T11:50:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 6.28.0)", "timeSpent": "PT0S", "updated": "2022-08-03T11:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:40:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7fc5918d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11572"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0h7ld:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_16889_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_3611419812"}], "description": "(Initial planned release date: 2022-07-12)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 6.28.0 is now available\"\n", "duedate": "2022-07-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "24628", "fixedVersions": [], "id": "24628", "issueType": "Task", "key": "PUP-11579", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25506", "parentSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-08-03T11:51:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Send release announcement (Puppet Platform 6.28.0)", "timeSpent": "PT0S", "updated": "2022-08-03T11:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:40:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2223e81a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11572"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0h7kx:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3611391148_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-07-12)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2022-07-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "22409", "fixedVersions": [], "id": "22409", "issueType": "Task", "key": "PUP-11578", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25506", "parentSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-08-03T11:50:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 6.28.0)", "timeSpent": "PT0S", "updated": "2022-08-03T11:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:40:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@75b77981"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11572"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0h7kp:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_358320_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3519038743"}], "description": "(Initial planned release date: 2022-07-12)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2022-07-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "21445", "fixedVersions": [], "id": "21445", "issueType": "Task", "key": "PUP-11577", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25506", "parentSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-08-02T10:17:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 6.28.0)", "timeSpent": "PT0S", "updated": "2022-08-02T10:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:40:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3af55aa7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11572"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0h7k9:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_360075_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3611029189"}], "description": "(Initial planned release date: 2022-07-12)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping Former user for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2022-07-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "29860", "fixedVersions": [], "id": "29860", "issueType": "Task", "key": "PUP-11576", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25506", "parentSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-08-03T11:50:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare release announcement (Puppet Platform 6.28.0)", "timeSpent": "PT0S", "updated": "2022-08-03T11:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:40:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@37bb7024"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11572"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0h7k1:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3611380829_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-07-12)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2022-07-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "28796", "fixedVersions": [], "id": "28796", "issueType": "Task", "key": "PUP-11575", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25506", "parentSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-08-03T11:50:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 6.28.0)", "timeSpent": "PT0S", "updated": "2022-08-03T11:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:40:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2d5e7a8e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11572"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0h7jt:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_361481_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3519029235"}], "description": "(Initial planned release date: 2022-07-12)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2022-07-06T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "27761", "fixedVersions": [], "id": "27761", "issueType": "Task", "key": "PUP-11574", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25506", "parentSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-08-02T10:16:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 6.28.0)", "timeSpent": "PT0S", "updated": "2022-08-02T10:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:40:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1bbbb17d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11572"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0h7jl:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_301472_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-07-12)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 6.28.0 and puppet-agent 6.28.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2022-07-06T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "26708", "fixedVersions": [], "id": "26708", "issueType": "Task", "key": "PUP-11573", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25506", "parentSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-06-22T16:45:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 6.28.0)", "timeSpent": "PT0S", "updated": "2022-06-22T16:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:40:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@347b9ffd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-1"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 6.28.0 Release - 2022-07-12"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_grey"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0h7jd:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_283187_*|*_6_*:*_1_*:*_0_*|*_10013_*:*_1_*:*_4913433399"}], "description": "Puppet Platform 6.28.0 Release - 2022-07-12", "duedate": "2022-07-26T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25506", "fixedVersions": [], "id": "25506", "issueType": "Epic", "key": "PUP-11572", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-08-18T13:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Platform 6.28.0 Release - 2022-07-12", "timeSpent": "PT0S", "updated": "2022-08-19T14:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:36:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@69951aae"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0h7ex:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2215602801_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-07-12)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2022-07-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "25504", "fixedVersions": [], "id": "25504", "issueType": "Task", "key": "PUP-11571", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24624", "parentSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-07-18T08:03:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 7.18.0)", "timeSpent": "PT0S", "updated": "2022-07-18T08:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:36:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@275117d8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0h7ep:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2215657178_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1323391877"}], "description": "(Initial planned release date: 2022-07-12)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.descriptions\n", "duedate": "2022-07-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "24626", "fixedVersions": [], "id": "24626", "issueType": "Task", "key": "PUP-11570", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24624", "parentSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-08-02T15:40:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 7.18.0)", "timeSpent": "PT0S", "updated": "2022-08-02T15:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:36:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6dba47ed"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0h7eh:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_15599_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2215639119_*|*_10005_*:*_1_*:*_1395384178"}], "description": "(Initial planned release date: 2022-07-12)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 7.18.0 is now available\"\n", "duedate": "2022-07-26T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "23521", "fixedVersions": [], "id": "23521", "issueType": "Task", "key": "PUP-11569", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24624", "parentSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-08-03T11:40:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Send release announcement (Puppet Platform 7.18.0)", "timeSpent": "PT0S", "updated": "2022-08-03T11:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:36:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@25f8609b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0h7e1:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3611123497_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-07-12)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2022-07-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "21443", "fixedVersions": [], "id": "21443", "issueType": "Task", "key": "PUP-11568", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24624", "parentSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-08-03T11:41:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 7.18.0)", "timeSpent": "PT0S", "updated": "2022-08-03T11:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:36:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6b42d843"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0h7dt:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2215657887_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1304158345"}], "description": "(Initial planned release date: 2022-07-12)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2022-07-25T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "20339", "fixedVersions": [], "id": "20339", "issueType": "Task", "key": "PUP-11567", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24624", "parentSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-08-02T10:19:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 7.18.0)", "timeSpent": "PT0S", "updated": "2022-08-02T10:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:35:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@215a1e26"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0h7dd:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2215656866_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1395355416"}], "description": "(Initial planned release date: 2022-07-12)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping Former user for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2022-07-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "28795", "fixedVersions": [], "id": "28795", "issueType": "Task", "key": "PUP-11566", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24624", "parentSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-08-03T11:39:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare release announcement (Puppet Platform 7.18.0)", "timeSpent": "PT0S", "updated": "2022-08-03T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:35:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1ee0b738"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0h7d5:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3611036500_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-07-12)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2022-07-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "27760", "fixedVersions": [], "id": "27760", "issueType": "Task", "key": "PUP-11565", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24624", "parentSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-08-03T11:39:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 7.18.0)", "timeSpent": "PT0S", "updated": "2022-08-03T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:35:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@78faec04"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0h7cx:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2215656760_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1304152516"}], "description": "(Initial planned release date: 2022-07-12)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2022-07-06T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "26707", "fixedVersions": [], "id": "26707", "issueType": "Task", "key": "PUP-11564", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24624", "parentSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-08-02T10:19:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 7.18.0)", "timeSpent": "PT0S", "updated": "2022-08-02T10:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:35:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@507bc27"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0h7cp:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2215620116_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-07-12)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 7.18.0 and puppet-agent 7.18.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2022-07-06T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "25502", "fixedVersions": [], "id": "25502", "issueType": "Task", "key": "PUP-11563", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24624", "parentSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-07-18T08:02:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 7.18.0)", "timeSpent": "PT0S", "updated": "2022-07-18T08:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:35:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@219a4bc8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-13"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 7.18.0 Release - 2022-07-12"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_green"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0h7ch:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3519797439_*|*_6_*:*_1_*:*_0_*|*_10014_*:*_1_*:*_1483221409"}], "description": "Puppet Platform 7.18.0 Release - 2022-07-12", "duedate": "2022-07-26T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24624", "fixedVersions": [], "id": "24624", "issueType": "Epic", "key": "PUP-11562", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-08-19T14:19:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Platform 7.18.0 Release - 2022-07-12", "timeSpent": "PT0S", "updated": "2022-08-19T14:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "[~accountid:70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de] what version are you running this on?", "created": "2022-06-28T14:19:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Hi [~accountid:70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de] we already collect fact generation metrics in 6.x and later, see \"Fact generation\" below, so I'm going to close this:\n\n{noformat}\n# puppet --version\n6.27.0\n\n# puppet agent -t --summarize\nInfo: Using environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Caching catalog for unclear-prelude\nInfo: Applying configuration version '1656448827'\nNotice: Applied catalog in 0.01 seconds\nApplication:\n         Run mode: agent\n   Initial environment: production\n   Converged environment: production\nChanges:\nEvents:\nResources:\n            Total: 7\nTime:\n         Schedule: 0.00\n   Transaction evaluation: 0.00\n   Catalog application: 0.01\n   Convert catalog: 0.03\n   Fact generation: 0.12\n      Plugin sync: 0.14\n   Config retrieval: 0.19\n     Startup time: 0.48\n         Last run: 1656448827\n       Filebucket: 0.00\n            Total: 1.12\n{noformat}\n", "created": "2022-06-28T14:42:00.000000"}], "components": ["Catalog Application"], "created": "2022-06-22T12:47:00.000000", "creator": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@268ffa6b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0h775:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Jun/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_523912730_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1384878"}], "description": "When `summarize = true` it would also be helpful to list out how long it takes to generate facts on this system.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29859", "fixedVersions": [], "id": "29859", "issueType": "Improvement", "key": "PUP-11561", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "resolution": "Incomplete", "resolutionDate": "2022-06-28T14:42:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "summary report show fact creation time cost", "timeSpent": "PT0S", "updated": "2022-06-28T14:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a1beb0b007eb21a79e5d6de", "attachments": [], "comments": [], "components": [], "created": "2022-06-21T10:43:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7c4ce4e0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11618"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0hd7c:zz6"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Sep/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_12091965_*|*_3_*:*_1_*:*_2319808675_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_607143604_*|*_10006_*:*_1_*:*_4408113741"}], "description": "Debian maintainers for puppet recently submitted several patches to puppet, see https://github.com/puppetlabs/puppet/pulls/jcharaoui\n\nFor this task:\n1. Review each PR\n2. For PRs we intend to keep, create a PUP ticket and update the PR commit with the ticket number.\n3. Add the community contributor to the JIRA ticket\n4. Verify tests pass and merge", "epicLinkSummary": "Puppet Maintenance CY22 Q3", "estimate": "PT0S", "externalId": "28794", "fixedVersions": [], "id": "28794", "issueType": "Task", "key": "PUP-11558", "labels": [], "originalEstimate": "PT0S", "parent": "25517", "parentSummary": "Puppet Maintenance CY22 Q3", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Done", "resolutionDate": "2022-09-14T11:36:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Review Debian patches", "timeSpent": "PT0S", "updated": "2022-09-14T11:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is a dup of (PUP-11001), which is caused by semantic_puppet not solving nested dependencies correctly (PUP-11193)", "created": "2022-06-21T11:03:00.000000"}], "components": ["Modules"], "created": "2022-06-16T06:41:00.000000", "creator": "557058:a5061931-3141-4af9-ad1a-6379500a9ef1", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@61611830"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0h40x:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Jun/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_447927421_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.27.1-1buster*\n*Puppet Server Version:* 6.19.0-1buster\n*OS Name/Version: debian 10*\n\nWhen i try to install a module:\n{code:java}\npuppet2018:[~]: puppet module install puppet-yum \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \nNotice: Preparing to install into /etc/puppetlabs/code/environments/production/modules ... \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  \nNotice: Downloading from https://forgeapi.puppet.com ... \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Error: Could not install module 'puppet-yum' (v5.4.0) \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \n  The requested version cannot satisfy one or more of the following installed modules: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \n\u00a0 \u00a0 puppetlabs-concat, installed: 7.2.0, expected: >= 1.2.5 < 8.0.0 \u00a0\u00a0{code}\n\u00a0\n\ni have an error than should not be an error has 7.2.0 is < 8.0.0 and > to 1.2.5.\n\n\u00a0\n\n*Desired Behavior:*\n\nshould install the module or give a real error\n\n*Actual Behavior:*\n\ni have an error than should not be an error has 7.2.0 is < 8.0.0 and > to 1.2.5.\n\nbest regards,\n\nGhislain.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23520", "fixedVersions": [], "id": "23520", "issueType": "Bug", "key": "PUP-11553", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:a5061931-3141-4af9-ad1a-6379500a9ef1", "resolution": "Duplicate", "resolutionDate": "2022-06-21T11:06:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "puppet module dependancy check problem", "timeSpent": "PT0S", "updated": "2022-06-21T11:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:623c100c4a57610068e74585] thanks for the heads up to the outdated {{Agent OS}} field. I'll ping somebody about that.", "created": "2022-06-21T10:59:00.000000"}, {"author": "5a1beb0b007eb21a79e5d6de", "body": "Ewoud has opened up a PR here: https://github.com/puppetlabs/puppet/pull/8918", "created": "2022-06-21T14:12:00.000000"}], "components": [], "created": "2022-06-15T03:47:00.000000", "creator": "623c100c4a57610068e74585", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@85014b4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11544"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0hd7c:zzc"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Passes ERB arguments as keywords"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Jun/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_748348059_*|*_1_*:*_1_*:*_555900116_*|*_10007_*:*_1_*:*_4161987161_*|*_5_*:*_1_*:*_0"}], "description": "{code:java}\n/usr/share/ruby/vendor_ruby/puppet/face/help.rb:143: warning: Passing safe_level with the 2nd argument of ERB.new is deprecated. Do not use it, and specify other arguments as keyword arguments.\n/usr/share/ruby/vendor_ruby/puppet/face/help.rb:143: warning: Passing trim_mode with the 3rd argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, trim_mode: ...) instead.{code}", "environment": "{code:java}\n# cat /etc/fedora-release\u00a0\nFedora release 36 (Thirty Six)\n# ruby --version\nruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-linux]\n# puppet --version\n7.17.0\n{code}\nNote the dropdown in the Agent OS outdated and only lists very old Fedora versions", "epicLinkSummary": "Puppet Support for Ruby 3.1", "estimate": "PT0S", "externalId": "22408", "fixedVersions": ["PUP 7.19.0"], "id": "22408", "issueType": "Bug", "key": "PUP-11552", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": "22407", "parentSummary": "Puppet Support for Ruby 3.1", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c100c4a57610068e74585", "resolution": "Fixed", "resolutionDate": "2022-08-17T10:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet on Ruby 3.1 warns about ERB passing safe_level as non-keyword argument", "timeSpent": "PT0S", "updated": "2022-09-12T10:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This was done https://puppet.com/docs/puppet/7/release_notes_puppet.html#deprecations_puppet_x-7-18-0-PA-4328 and https://puppet.com/docs/puppet/6/release_notes_puppet.html#deprecations_puppet_x-28-0-deprecation-application-orchestration-features", "created": "2022-09-16T12:18:00.000000"}], "components": [], "created": "2022-06-09T15:42:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@190478ae"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4511"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3z5:r9090000j9a"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_33844_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_8541358685"}], "description": "Update Public-facing Puppet docs with removal of this platform\n", "epicLinkSummary": "Remove Ubuntu 16.04 FOSS support", "estimate": "PT0S", "externalId": "23519", "fixedVersions": [], "id": "23519", "issueType": "Task", "key": "PUP-11550", "labels": ["os"], "originalEstimate": "PT0S", "parent": "55833", "parentSummary": "Remove Ubuntu 16.04 FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Done", "resolutionDate": "2022-09-16T12:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Update Public-facing Puppet docs to remove Ubuntu 16.04", "timeSpent": "PT0S", "updated": "2022-09-16T12:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Hi [~accountid:6243854d258562006fa2b8c0] this kind of issue is best handled in our community slack channel, please see https://puppetcommunity.slack.com.", "created": "2022-06-09T15:07:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:62bc76dd228c59d8da1a18d4] Please don't clone existing tickets or reopen tickets unless you have new information or a way to reproduce a problem. I'm going to reclose this ticket.", "created": "2022-06-21T10:34:00.000000"}], "components": ["Catalog Application"], "created": "2022-06-09T07:31:00.000000", "creator": "6243854d258562006fa2b8c0", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@41b2d604"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0gyix:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Jun/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_417904519_*|*_6_*:*_2_*:*_629874095"}], "description": "*Puppet Version: 7.15.0*\n*Puppet Server Version: 7.7.0*\n*OS Name/Version: Ubuntu 20.04*\n\nWe see that the agent run takes quiet a long time to complete and during business hours it almost takes 10min, this was not the case earlier. we upgraded to puppet 7 in Feb 2022 and it was ok since then.\n\nwe take reboot of puppetserver, puppetDB on monthly basis to avoid slowness, this relives for sometime and then again issues arises, for the past of couple of days it is continuously performing low even after reboots.\n\nwe are running with 4vcpus, 16G memory and there are no indications of resources being over utilized they are well under control.\n\nwe have set 2 JRuby instances and 2G Java heap size. There are 1200 agents which checkin for every 30 on a business day.\n\nWhen we enabled debug traces on agent, we see that File resource is consuming most of the agent run. No errros in the puppetserver log apart from few deprecated warnings\n\nCould you please guide us to identify the issue? I would like to understand how to check measure the performance of puppetserver.", "environment": "Production", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26706", "fixedVersions": [], "id": "26706", "issueType": "Bug", "key": "PUP-11547", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "High (migrated)", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6243854d258562006fa2b8c0", "resolution": "Incomplete", "resolutionDate": "2022-06-21T10:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet agent catalog run takes longer than earlier", "timeSpent": "PT0S", "updated": "2022-06-21T10:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "[~accountid:6220dbd415521d00726b0564] can you help us understand where the facts are defined, whether the fact can downcase the value so we don't have to add complexity to the hiera lookup", "created": "2022-06-07T14:15:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "Seems far better to normalize the facts values.\n\nAn open ended solution would be to make the interpolation syntax of values in {{hiera.yaml}} be able to describe arbitrary function calls (to puppet functions) thereby making it possible to transform values used in paths. This would cater to other requests as well were users need to process values in other ways. This is somewhat difficult though due to the syntax of hiera interpolations so it can be hard to find suitable operators without causing breaking changes. An alternative discussed in the past was to allow one or more function calls to be listed in the hiera.yaml under a new top level key - each entry would name a (new) variable and the returned value of the function call would be the value. Those variables would be local to hiera.yaml.  For example:\n{code}\nderived_variables: \n  normalized:\n    my_facts_normalizer\n{code}\nAnd a normalized value could then be interpolated with something like (assuming {{normalized}} is a hash of all normalized facts of interest):\n{code:yaml}\n\"somewhere/%{normalized.foo_fact}/x.yaml\"\n{code}", "created": "2022-08-21T08:11:00.000000"}, {"author": "60c90c1b5c64b10071da4ae3", "body": "I noticed this has gone unassigned - but status is accepted. Is that right?", "created": "2022-09-08T10:58:00.000000"}, {"author": "619528076d002b006b1c1e8d", "body": "[~accountid:60c90c1b5c64b10071da4ae3] [~accountid:63d40628f6e1b543161789a7] I've raised the priority of this ticket within this epic (which is a collection of independent maintenance items).", "created": "2022-10-06T13:51:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The docs mention one significant limitation with [hiera interpolation docs|https://puppet.com/docs/puppet/7/hiera_merging.html#interpolation_functions]:\n\n{quote}\nNote: You cannot use interpolation functions in hiera.yaml. They\u2019re only for use in data sources.\n{quote}\n\nThis means we can't simply add a \"downcase\" interpolation function to normalize data source paths.\n\u00a0", "created": "2022-10-19T12:13:00.000000"}], "components": ["Hiera & Lookup"], "created": "2022-06-02T16:00:00.000000", "creator": "6220dbd415521d00726b0564", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@294ebd39"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11658"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3fk:i0c"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Jun/22"}], "description": "*Desired Behavior:*\u00a0 Requesting a feature to normalize case similar to the downcase function within Hiera interpolation tokens in hiera.yaml. This is needed to minimize the need to duplicate yaml files because fact values may have different case.\u00a0\n\n*Actual Behavior:* Currently some workarounds include creating multiple yaml files with the same contents or creating custom facts.\u00a0", "epicLinkSummary": "Puppet Maintenance CY23 Q1", "estimate": "PT0S", "externalId": "23518", "fixedVersions": [], "id": "23518", "issueType": "New Feature", "key": "PUP-11546", "labels": ["001G000001pERe6IAG"], "originalEstimate": "PT0S", "parent": "21423", "parentSummary": "Puppet Maintenance CY23 Q1", "priority": "Major", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6220dbd415521d00726b0564", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Request feature to normalize case in Hiera interpolation tokens within hiera.yaml", "timeSpent": "PT0S", "updated": "2023-02-13T06:28:00.000000", "votes": "3", "watchers": []}, {"affectedVersions": [], "assignee": "557058:80b1a2d0-6c75-4995-bdc3-c422bab7aabd", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:608baee6f558240070370050] this looks to be an error with your {{delete_undef_values}} function. Can you include your {{init.pp}}? Also it's possible to conditionally append elements to an array so you don't have to filter them out later:\n\n{noformat}\n$ puppet apply -e '$arr = [1, 2] << 3", "created": "2022-06-01T10:03:00.000000"}, {"author": "608baee6f558240070370050", "body": "Hi,\n\n\u00a0\n\nMy init.pp is the following:\n{code:java}\nclass yum (\n\u00a0 Boolean $clean_old_kernels = true,\n\u00a0 Boolean $keep_kernel_devel = false,\n\u00a0 Hash[String, Variant[String, Integer, Boolean, Hash[String, Variant[String, Integer, Boolean]]]] $config_options = { },\n\u00a0 Optional[Hash[String, Optional[Hash[String, Variant[String, Integer, Boolean]]]]] $repos = {},\n\u00a0 Array[String] $managed_repos = [],\n\u00a0 Boolean $manage_os_default_repos = false,\n\u00a0 Array[String] $os_default_repos = [],\n\u00a0 Array[String] $repo_exclusions = [],\n) {\u00a0 $module_metadata \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0= load_module_metadata($module_name)\n\u00a0 $supported_operatingsystems = $module_metadata['operatingsystem_support']\n\u00a0 $supported_os_names \u00a0 \u00a0 \u00a0 \u00a0 = $supported_operatingsystems.map |$os| {\n\u00a0 \u00a0 $os['operatingsystem']\n\u00a0 }\u00a0 unless member($supported_os_names, $::os['name']) {\n\u00a0 \u00a0 fail(\"${::os['name']} not supported\")\n\u00a0 }\u00a0 $_managed_repos = $manage_os_default_repos ? {\n\u00a0 \u00a0 true \u00a0 \u00a0=> $managed_repos + $os_default_repos,\n\u00a0 \u00a0 default => $managed_repos,\n\u00a0 }\u00a0 unless empty($_managed_repos) or empty($repos) {\n\u00a0 \u00a0 $_managed_repos_minus_exclusions = $_managed_repos - $repo_exclusions\n\u00a0 \u00a0 $normalized_repos = yum::bool2num_hash_recursive($repos)\u00a0 \u00a0 $normalized_repos.each |$yumrepo, $attributes| {\n\u00a0 \u00a0 \u00a0 if member($_managed_repos_minus_exclusions, $yumrepo) {\n\u00a0 \u00a0 \u00a0 \u00a0 Resource['yumrepo'] {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 $yumrepo: * => $attributes,\n\u00a0 \u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 }\n\u00a0 }\u00a0 unless empty($config_options) {\n\u00a0 \u00a0 if has_key($config_options, 'installonly_limit') {\n\u00a0 \u00a0 \u00a0 assert_type(Variant[Integer, Hash[String, Integer]], $config_options['installonly_limit']) |$expected, $actual| {\n\u00a0 \u00a0 \u00a0 \u00a0 fail(\"The value or ensure for `\\$yum::config_options[installonly_limit]` must be an Integer, but it is not.\")\n\u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 }\u00a0 \u00a0 $_normalized_config_options = $config_options.map |$key, $attrs| {\n\u00a0 \u00a0 \u00a0 $_ensure = $attrs ? {\n\u00a0 \u00a0 \u00a0 \u00a0 Hash \u00a0 \u00a0=> $attrs[ensure],\n\u00a0 \u00a0 \u00a0 \u00a0 default => $attrs,\n\u00a0 \u00a0 \u00a0 }\u00a0 \u00a0 \u00a0 $_normalized_ensure = $_ensure ? {\n\u00a0 \u00a0 \u00a0 \u00a0 Boolean => Hash({ ensure => bool2num($_ensure) }), # lint:ignore:unquoted_string_in_selector\n\u00a0 \u00a0 \u00a0 \u00a0 default => Hash({ ensure => $_ensure }), # lint:ignore:unquoted_string_in_selector\n\u00a0 \u00a0 \u00a0 }\u00a0 \u00a0 \u00a0 $_normalized_attrs = $attrs ? {\n\u00a0 \u00a0 \u00a0 \u00a0 Hash \u00a0 \u00a0=> merge($attrs, $_normalized_ensure),\n\u00a0 \u00a0 \u00a0 \u00a0 default => $_normalized_ensure,\n\u00a0 \u00a0 \u00a0 }\u00a0 \u00a0 \u00a0 Hash({ $key => $_normalized_attrs })\n\u00a0 \u00a0 }.reduce |$memo, $cfg_opt_hash| {\n\u00a0 \u00a0 \u00a0 merge($memo, $cfg_opt_hash)\n\u00a0 \u00a0 }\u00a0 \u00a0 $_normalized_config_options.each |$config, $attributes| {\n\u00a0 \u00a0 \u00a0 Resource['yum::config'] {\n\u00a0 \u00a0 \u00a0 \u00a0 $config: * => $attributes,\n\u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 }\n\u00a0 }\u00a0 unless defined(Yum::Config['installonly_limit']) {\n\u00a0 \u00a0 yum::config { 'installonly_limit': ensure => '3' }\n\u00a0 }\u00a0 $_clean_old_kernels_subscribe = $clean_old_kernels ? {\n\u00a0 \u00a0 true \u00a0 \u00a0=> Yum::Config['installonly_limit'],\n\u00a0 \u00a0 default => undef,\n\u00a0 }\u00a0 # cleanup old kernels\n\u00a0 ensure_packages(['yum-utils'])\u00a0 $_real_installonly_limit = $config_options['installonly_limit'] ? {\n\u00a0 \u00a0 Variant[String, Integer] => $config_options['installonly_limit'],\n\u00a0 \u00a0 Hash \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 => $config_options['installonly_limit']['ensure'],\n\u00a0 \u00a0 default \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0=> '3',\n\u00a0 }\u00a0 $_pc_cmd = [\n\u00a0 \u00a0 '/usr/bin/package-cleanup',\n\u00a0 \u00a0 '--oldkernels',\n\u00a0 \u00a0 \"--count=${_real_installonly_limit}\",\n\u00a0 \u00a0 '-y',\n\u00a0 \u00a0 $keep_kernel_devel ? {\n\u00a0 \u00a0 \u00a0 true \u00a0 \u00a0=> '--keepdevel',\n\u00a0 \u00a0 \u00a0 default => undef,\n\u00a0 \u00a0 },\n\u00a0 ].filter |$val| { $val =~ NotUndef }\u00a0 \n  exec { 'package-cleanup_oldkernels':\n\u00a0 \u00a0 command \u00a0 \u00a0 => shellquote($_pc_cmd),\n\u00a0 \u00a0 refreshonly => true,\n\u00a0 \u00a0 require \u00a0 \u00a0 => Package['yum-utils'],\n\u00a0 \u00a0 subscribe \u00a0 => $_clean_old_kernels_subscribe,\n\u00a0 }\n} {code}\nSorry for the identation in advance.\n\nThanks & regards.", "created": "2022-06-02T00:09:00.000000"}, {"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "[~accountid:608baee6f558240070370050] you can get some help on our community slack channel to resolve this issue.  puppetcommunity.slack.com", "created": "2022-06-07T14:23:00.000000"}], "components": ["Functions", "Modules"], "created": "2022-06-01T03:51:00.000000", "creator": "608baee6f558240070370050", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@489c083f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master Config", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Split"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "CentOS 7"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0gu1c:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Jun/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_556386557_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: puppet-agent-6.26*\n*Puppet Server Version: puppetserver-6.18*\n*OS Name/Version: CentOS 7*\n\nAfter executing the command of puppet agent -t we get the following error:\n\n\nInfo: Using environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Loading facts\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, undefined method `length' for nil:NilClass (file: /etc/puppetlabs/code/modules/yum/manifests/init.pp, line: 202, column: 20) on node XXX\nWarning: Not using cache on failed catalog\nError: Could not retrieve catalog; skipping run\n\n\u00a0\n\nWe change the configuration of the init.pp with a solution that we encounter somewhere, and was to change this code:\n\n\u00a0\n{code:java}\n$_pc_cmd = delete_undef_values([\n\u00a0 \u00a0 '/usr/bin/package-cleanup',\n\u00a0 \u00a0 '--oldkernels',\n\u00a0 \u00a0 \"--count=${_real_installonly_limit}\",\n\u00a0 \u00a0 '-y',\n\u00a0 \u00a0 $keep_kernel_devel ? {\n\u00a0 \u00a0 \u00a0 true \u00a0 \u00a0=> '--keepdevel',\n\u00a0 \u00a0 \u00a0 default => undef,\n\u00a0 \u00a0 },\n\u00a0 ]) {code}\n\u00a0\n\nto this other one:\n\n\u00a0\n{code:java}\n$_pc_cmd = [\n\u00a0 \u00a0 '/usr/bin/package-cleanup',\n\u00a0 \u00a0 '--oldkernels',\n\u00a0 \u00a0 \"--count=${_real_installonly_limit}\",\n\u00a0 \u00a0 '-y',\n\u00a0 \u00a0 $keep_kernel_devel ? {\n\u00a0 \u00a0 \u00a0 true \u00a0 \u00a0=> '--keepdevel',\n\u00a0 \u00a0 \u00a0 default => undef,\n\u00a0 \u00a0 },\n\u00a0 ].filter |$val| { $val =~ NotUndef } {code}\n\u00a0\n\nThere is a way of solving this issue whithout making any changes on the code?\n\n\u00a0\n\n*Desired Behavior: No puppet errors*\n\n*Actual Behavior: Execution getting errors*", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28793", "fixedVersions": [], "id": "28793", "issueType": "Bug", "key": "PUP-11545", "labels": ["centos7", "puppet", "puppet-agent"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "608baee6f558240070370050", "resolution": "Won't Do", "resolutionDate": "2022-06-07T14:24:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Evaluation Error: Error while evaluating a Function Call, undefined method `length' for nil:NilClass", "timeSpent": "PT0S", "updated": "2022-06-07T14:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Moving remaining items to a different epic.", "created": "2022-09-13T11:37:00.000000"}], "components": [], "created": "2022-05-24T14:20:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4da5e396"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-8"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Support for Ruby 3.1"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_purple"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0gpvq:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_9667016421_*|*_6_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22407", "fixedVersions": [], "id": "22407", "issueType": "Epic", "key": "PUP-11544", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Done", "resolutionDate": "2022-09-13T11:37:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet Support for Ruby 3.1", "timeSpent": "PT0S", "updated": "2022-09-13T11:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:d266d245-5cba-4a99-842a-d1e061513459", "created": "2022-05-23T20:57:00.000000", "name": "image-2022-05-23-22-57-31-397.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12211"}], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "ERB added the {{trim_mode}} keyword argument in ruby 2.6.0: [https://github.com/ruby/ruby/commit/cc777d09f44fa909a336ba14f3aa802ffe16e010] If we drop 2.5 support, then we can switch to the keyword argument everywhere. Otherwise, we'll need to choose between positional and keyword args. For example, this is what [highline|https://github.com/JEG2/highline/blob/5e4503f659090b8bde69d7d35823540acc6362b9/lib/highline/question.rb#L551-L555] and [rspec-core|https://github.com/rspec/rspec-core/blob/bc9bb2da423b2cf6b7e53f1307c3ef2d24fceb7b/lib/rspec/core/configuration_options.rb#L176-L180] do.", "created": "2022-05-25T22:02:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "There's a PR up for PUP-11552 so closing this. The PR should fix ERB warnings coming from templatewrapper and other places in the puppet repo.", "created": "2022-08-08T18:14:00.000000"}], "components": [], "created": "2022-05-23T21:10:00.000000", "creator": "557058:d266d245-5cba-4a99-842a-d1e061513459", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1af0043a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11544"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0gpna:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/May/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_61872349_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_6580265281"}], "description": "*Puppet Version: 7.16.0 (gem)*\n*Puppet Server Version: n/a*\n*OS Name/Version: Fedora 36*\n\nDescribe your issue in as much detail as possible\u2026\n\nWhen running spec tests on [https://github.com/voxpupuli/puppet-falco] via bundler, this line floods my terminal:\n{code:java}\n/home/gene/repos/puppet-falco/vendor/bundle/ruby/3.1.0/gems/puppet-7.16.0/lib/puppet/parser/templatewrapper.rb:93: warning: Passing trim_mode with the 3rd argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, trim_mode: ...) instead.\n{code}\nHere is a screenshot of part of my terminal:\n\n!image-2022-05-23-22-57-31-397.png!\nDescribe steps to reproduce\u2026\n # Clone [https://github.com/voxpupuli/puppet-falco]\n # run \"bundle install --path vendor/bundle\" on Fedora 36 with stock ruby\n # run \"bundle exec rake spec\"\n\n*Desired Behavior:*\n\nThe indicated error should be resolved so that it is not spewing warnings\n\n*Actual Behavior:*\n\nSee above for actual.\n\nFor what it's worth, I did a quick check for the mentioned code that is in need of reformatting and got what is shown below. Note there are multiple places in puppet with the mentioned method signature in addition to places in gems owned by Puppet.\n{code:java}\n$ grep -R 'ERB.new' .\n./vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor/actions/file_manipulation.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0CapturableERB.new(::File.binread(source), :trim_mode => \"-\", :eoutvar => \"@output_buffer\")\n./vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor/actions/file_manipulation.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0CapturableERB.new(::File.binread(source), nil, \"-\", \"@output_buffer\")\n./vendor/bundle/ruby/3.1.0/gems/highline-2.0.3/Changelog.md:* PR #231 - Deprecate safe_level of ERB.new in Ruby 2.6 (@koic)\n./vendor/bundle/ruby/3.1.0/gems/highline-2.0.3/lib/highline/list_renderer.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0ERB.new(item, trim_mode: \"%\")\n./vendor/bundle/ruby/3.1.0/gems/highline-2.0.3/lib/highline/list_renderer.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0ERB.new(item, nil, \"%\")\n./vendor/bundle/ruby/3.1.0/gems/highline-2.0.3/lib/highline/question.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0ERB.new(confirm, trim_mode: \"%\")\n./vendor/bundle/ruby/3.1.0/gems/highline-2.0.3/lib/highline/question.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0ERB.new(confirm, nil, \"%\")\n./vendor/bundle/ruby/3.1.0/gems/highline-2.0.3/lib/highline/statement.rb: \u00a0 \u00a0 \u00a0 \u00a0ERB.new(template_string, trim_mode: \"%\")\n./vendor/bundle/ruby/3.1.0/gems/highline-2.0.3/lib/highline/statement.rb: \u00a0 \u00a0 \u00a0 \u00a0ERB.new(template_string, nil, \"%\")\n./vendor/bundle/ruby/3.1.0/gems/simplecov-html-0.10.2/lib/simplecov-html.rb: \u00a0 \u00a0 \u00a0 \u00a0ERB.new(File.read(File.join(File.dirname(__FILE__), \"../views/\", \"#{name}.erb\")))\n./vendor/bundle/ruby/3.1.0/gems/webrick-1.7.0/lib/webrick/httpservlet/erbhandler.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0res.body = evaluate(ERB.new(data), req, res)\n./vendor/bundle/ruby/3.1.0/gems/rgen-0.9.0/lib/rgen/metamodel_builder/builder_extensions.rb: \u00a0 \u00a0 \u00a0@@one_read_builder ||= ERB.new <<-CODE\n./vendor/bundle/ruby/3.1.0/gems/rgen-0.9.0/lib/rgen/metamodel_builder/builder_extensions.rb: \u00a0 \u00a0 \u00a0@@one_write_builder ||= ERB.new <<-CODE\n./vendor/bundle/ruby/3.1.0/gems/rgen-0.9.0/lib/rgen/metamodel_builder/builder_extensions.rb: \u00a0 \u00a0 \u00a0@@many_read_builder ||= ERB.new <<-CODE\n./vendor/bundle/ruby/3.1.0/gems/rgen-0.9.0/lib/rgen/metamodel_builder/builder_extensions.rb: \u00a0 \u00a0 \u00a0@@many_write_builder ||= ERB.new <<-CODE\n./vendor/bundle/ruby/3.1.0/gems/rgen-0.9.0/lib/rgen/metamodel_builder/builder_extensions.rb: \u00a0 \u00a0@@derived_builder ||= ERB.new <<-CODE\n./vendor/bundle/ruby/3.1.0/gems/rgen-0.9.0/lib/rgen/template_language/template_container.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0ERB.new(fileContent,nil,nil,'@output').result(binding)\n./vendor/bundle/ruby/3.1.0/gems/ruby-ll-2.1.2/lib/ll/code_generator.rb: \u00a0 \u00a0 \u00a0erb \u00a0 \u00a0 \u00a0= ERB.new(template, nil, '-').result(context.get_binding)\n./vendor/bundle/ruby/3.1.0/gems/rspec-core-3.11.0/lib/rspec/core/configuration_options.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0ERB.new(File.read(path), :trim_mode => '-').result(binding)\n./vendor/bundle/ruby/3.1.0/gems/rspec-core-3.11.0/lib/rspec/core/configuration_options.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0ERB.new(File.read(path), nil, '-').result(binding)\n./vendor/bundle/ruby/3.1.0/gems/facter-4.2.9/lib/docs/generate.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0ERB.new(File.read(PATH_TO_TEMPLATE), trim_mode: '-')\n./vendor/bundle/ruby/3.1.0/gems/facter-4.2.9/lib/docs/generate.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0ERB.new(File.read(PATH_TO_TEMPLATE), nil, '-')\n./vendor/bundle/ruby/3.1.0/gems/facter-4.2.9/lib/facter/framework/cli/cli.rb: \u00a0 \u00a0 \u00a0erb = ERB.new(File.read(template), nil, '-')\n./vendor/bundle/ruby/3.1.0/gems/commander-4.6.0/lib/commander/help_formatters/terminal.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0ERB.new(File.read(File.join(File.dirname(__FILE__), 'terminal', \"#{name}.erb\")), nil, '-')\n./vendor/bundle/ruby/3.1.0/gems/commander-4.6.0/lib/commander/help_formatters/terminal.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0ERB.new(File.read(File.join(File.dirname(__FILE__), 'terminal', \"#{name}.erb\")), trim_mode: '-')\n./vendor/bundle/ruby/3.1.0/gems/commander-4.6.0/lib/commander/help_formatters/terminal_compact.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0ERB.new(File.read(File.join(File.dirname(__FILE__), 'terminal_compact', \"#{name}.erb\")), nil, '-')\n./vendor/bundle/ruby/3.1.0/gems/commander-4.6.0/lib/commander/help_formatters/terminal_compact.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0ERB.new(File.read(File.join(File.dirname(__FILE__), 'terminal_compact', \"#{name}.erb\")), trim_mode: '-')\n./vendor/bundle/ruby/3.1.0/gems/yard-0.9.27/benchmarks/erb_vs_erubis.rb: \u00a0 \u00a0 \u00a0 \u00a0def erb_with(str, x) ERB.new(str) end\n./vendor/bundle/ruby/3.1.0/gems/yard-0.9.27/benchmarks/template_erb.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0erb = ERB.new(cache(section))\n./vendor/bundle/ruby/3.1.0/gems/yard-0.9.27/lib/yard/templates/template.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0ERB.new(content, :trim_mode => options.format == :text ? '<>' : nil)\n./vendor/bundle/ruby/3.1.0/gems/yard-0.9.27/lib/yard/templates/template.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0ERB.new(content, nil, options.format == :text ? '<>' : nil)\n./vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.3/lib/active_support/configuration_file.rb: \u00a0 \u00a0 \u00a0 \u00a0erb = ERB.new(@content).tap { |e| e.filename = @content_path }\n./vendor/bundle/ruby/3.1.0/gems/domain_name-0.5.20190701/tool/gen_etld_data.rb: \u00a0 \u00a0 \u00a0 \u00a0rb.print ERB.new(erb.read).result(binding)\n./vendor/bundle/ruby/3.1.0/gems/puppet-strings-2.9.0/lib/puppet-strings/markdown/base.rb: \u00a0 \u00a0 \u00a0 \u00a0ERB.new(File.read(file), nil, '-').result(binding)\n./vendor/bundle/ruby/3.1.0/gems/puppet-strings-2.9.0/lib/puppet-strings/markdown/table_of_contents.rb: \u00a0 \u00a0 \u00a0 \u00a0final += ERB.new(File.read(template), nil, '-').result(binding)\n./vendor/bundle/ruby/3.1.0/gems/serverspec-2.42.0/lib/serverspec/setup.rb: \u00a0 \u00a0 \u00a0content = ERB.new(spec_helper_template, nil, '-').result(binding)\n./vendor/bundle/ruby/3.1.0/gems/beaker-4.35.0/lib/beaker/options/hosts_file_parser.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ERB.new(template, trim_mode: '-')\n./vendor/bundle/ruby/3.1.0/gems/beaker-4.35.0/lib/beaker/options/hosts_file_parser.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ERB.new(template, nil, '-')\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/config/default.yml: \u00a0Description: 'Use `:trim_mode` and `:eoutvar` keyword arguments to `ERB.new`.'\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/config_loader.rb: \u00a0 \u00a0 \u00a0 \u00a0yaml_code = Dir.chdir(File.dirname(absolute_path)) { ERB.new(file_contents).result }\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/cop/lint/erb_new_arguments.rb: \u00a0 \u00a0 \u00a0# ERB.new('hi', nil, '-', '@output_buffer')\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/cop/lint/erb_new_arguments.rb: \u00a0 \u00a0 \u00a0# ERB.new is deprecated. Do not use it, and specify other arguments as\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/cop/lint/erb_new_arguments.rb: \u00a0 \u00a0 \u00a0# ERB.new is deprecated. Use keyword argument like\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/cop/lint/erb_new_arguments.rb: \u00a0 \u00a0 \u00a0# ERB.new(str, trim_mode:...) instead.\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/cop/lint/erb_new_arguments.rb: \u00a0 \u00a0 \u00a0# example.rb:1: warning: Passing eoutvar with the 4th argument of ERB.new\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/cop/lint/erb_new_arguments.rb: \u00a0 \u00a0 \u00a0# is deprecated. Use keyword argument like ERB.new(str, eoutvar: ...)\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/cop/lint/erb_new_arguments.rb: \u00a0 \u00a0 \u00a0# `ERB.new` with non-keyword arguments is deprecated since ERB 2.2.0.\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/cop/lint/erb_new_arguments.rb: \u00a0 \u00a0 \u00a0# Use `:trim_mode` and `:eoutvar` keyword arguments to `ERB.new`.\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/cop/lint/erb_new_arguments.rb: \u00a0 \u00a0 \u00a0# This cop identifies places where `ERB.new(str, trim_mode, eoutvar)` can\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/cop/lint/erb_new_arguments.rb: \u00a0 \u00a0 \u00a0# be replaced by `ERB.new(str, :trim_mode: trim_mode, eoutvar: eoutvar)`.\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/cop/lint/erb_new_arguments.rb: \u00a0 \u00a0 \u00a0# \u00a0 ERB.new(str, nil, '-', '@output_buffer')\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/cop/lint/erb_new_arguments.rb: \u00a0 \u00a0 \u00a0# \u00a0 ERB.new(str, trim_mode: '-', eoutvar: '@output_buffer')\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/cop/lint/erb_new_arguments.rb: \u00a0 \u00a0 \u00a0# \u00a0 ERB.new(str, nil, '-', '@output_buffer')\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/cop/lint/erb_new_arguments.rb: \u00a0 \u00a0 \u00a0# \u00a0 ERB.new(str, nil, '-', '@output_buffer')\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/cop/lint/erb_new_arguments.rb: \u00a0 \u00a0 \u00a0# \u00a0 \u00a0 ERB.new(str, trim_mode: '-', eoutvar: '@output_buffer')\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/cop/lint/erb_new_arguments.rb: \u00a0 \u00a0 \u00a0# \u00a0 \u00a0 ERB.new(str, nil, '-', '@output_buffer')\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/cop/lint/erb_new_arguments.rb: \u00a0 \u00a0 \u00a0# \u00a0 \u00a0 ERB.new(str, trim_mode: '-', eoutvar: '@output_buffer')\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/cop/lint/erb_new_arguments.rb: \u00a0 \u00a0 \u00a0# \u00a0 \u00a0 ERB.new(str, nil, '-', '@output_buffer')\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/cop/lint/erb_new_arguments.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0'Passing safe_level with the 2nd argument of `ERB.new` is ' \\\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/cop/lint/erb_new_arguments.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0'Passing trim_mode with the 3rd argument of `ERB.new` is ' \\\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/cop/lint/erb_new_arguments.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0'`ERB.new(str, trim_mode: %<arg_value>s)` instead.',\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/cop/lint/erb_new_arguments.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0'Passing eoutvar with the 4th argument of `ERB.new` is ' \\\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/cop/lint/erb_new_arguments.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0'`ERB.new(str, eoutvar: %<arg_value>s)` instead.'\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/formatter/html_formatter.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0ERB.new(template, trim_mode: '-')\n./vendor/bundle/ruby/3.1.0/gems/rubocop-1.22.3/lib/rubocop/formatter/html_formatter.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0ERB.new(template, nil, '-')\n./vendor/bundle/ruby/3.1.0/gems/puppet-7.16.0/lib/puppet/face/help.rb: \u00a0 \u00a0erb = ERB.new(template.read, nil, '-')\n./vendor/bundle/ruby/3.1.0/gems/puppet-7.16.0/lib/puppet/generate/type.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0template = ERB.new(File.read(key), nil, '-')\n./vendor/bundle/ruby/3.1.0/gems/puppet-7.16.0/lib/puppet/parser/templatewrapper.rb: \u00a0 \u00a0 \u00a0template = ERB.new(string, 0, \"-\")\n./vendor/bundle/ruby/3.1.0/gems/puppet-7.16.0/lib/puppet/util/resource_template.rb: \u00a0 \u00a0ERB.new(Puppet::FileSystem.read(@file, :encoding => 'utf-8'), 0, \"-\").result(binding)\n./vendor/bundle/ruby/3.1.0/gems/puppet-syntax-3.2.1/lib/puppet-syntax/templates.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0ERB.new(template, trim_mode: '-')\n./vendor/bundle/ruby/3.1.0/gems/puppet-syntax-3.2.1/lib/puppet-syntax/templates.rb: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0ERB.new(template, nil, '-')\n./vendor/bundle/ruby/3.1.0/gems/rspec-puppet-utils-3.4.0/lib/rspec_puppet_utils/template_harness.rb: \u00a0 \u00a0 \u00a0template = ERB.new(template_string, 0, '-') {code}", "environment": "{code:java}\n$ bundle exec facter os\n{\n\u00a0 architecture => \"x86_64\",\n\u00a0 distro => {\n\u00a0 \u00a0 codename => \"Thirty Six\",\n\u00a0 \u00a0 description => \"Fedora release 36 (Thirty Six)\",\n\u00a0 \u00a0 id => \"Fedora\",\n\u00a0 \u00a0 release => {\n\u00a0 \u00a0 \u00a0 full => \"36\",\n\u00a0 \u00a0 \u00a0 major => \"36\"\n\u00a0 \u00a0 }\n\u00a0 },\n\u00a0 family => \"RedHat\",\n\u00a0 hardware => \"x86_64\",\n\u00a0 name => \"Fedora\",\n\u00a0 release => {\n\u00a0 \u00a0 full => \"36\",\n\u00a0 \u00a0 major => \"36\"\n\u00a0 },\n\u00a0 selinux => {\n\u00a0 \u00a0 config_mode => \"enforcing\",\n\u00a0 \u00a0 config_policy => \"targeted\",\n\u00a0 \u00a0 current_mode => \"enforcing\",\n\u00a0 \u00a0 enabled => true,\n\u00a0 \u00a0 enforced => true,\n\u00a0 \u00a0 policy_version => \"33\"\n\u00a0 }\n}\n\n$ bundle exec puppet --version\n7.16.0\n\n$ ruby --version\nruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-linux]\n {code}", "epicLinkSummary": "Puppet Support for Ruby 3.1", "estimate": "PT0S", "externalId": "27759", "fixedVersions": [], "id": "27759", "issueType": "Bug", "key": "PUP-11543", "labels": [], "originalEstimate": "PT0S", "parent": "22407", "parentSummary": "Puppet Support for Ruby 3.1", "priority": "Medium (migrated)", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:d266d245-5cba-4a99-842a-d1e061513459", "resolution": "Duplicate", "resolutionDate": "2022-08-08T18:12:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "templatewrapper.rb deprecation warnings on Ruby 3.1", "timeSpent": "PT0S", "updated": "2022-08-08T18:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2022-05-17T12:20:00.000000", "creator": "61bb5fb0c681240069b5af9e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@460bceb7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fx3s:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/May/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_612751368_*|*_6_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22406", "fixedVersions": [], "id": "22406", "issueType": "Story", "key": "PUP-11542", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61bb5fb0c681240069b5af9e", "resolution": "Won't Do", "resolutionDate": "2022-05-24T14:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "SPIKE - investigate Jenkins replacement", "timeSpent": "PT0S", "updated": "2022-05-24T14:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a1beb0b007eb21a79e5d6de", "attachments": [], "comments": [{"author": "5a1beb0b007eb21a79e5d6de", "body": "Epic created: PA-4557", "created": "2022-07-12T13:03:00.000000"}], "components": [], "created": "2022-05-17T12:19:00.000000", "creator": "61bb5fb0c681240069b5af9e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Create an Epic ticket for the work identified and link individual story tickets to it."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6efefea7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0hd7c:zzr"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Jul/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7136192_*|*_3_*:*_1_*:*_1560333_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_4832322048"}], "description": "Identify what repos should be updated. Make a list and create tickets for those.\n\npuppet-agent repo and puppet-runtime are two we know of.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21441", "fixedVersions": [], "id": "21441", "issueType": "Story", "key": "PUP-11541", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61bb5fb0c681240069b5af9e", "resolution": "Fixed", "resolutionDate": "2022-07-12T13:03:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "SPIKE - investigate removing Travis ", "timeSpent": "PT0S", "updated": "2022-07-12T13:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "attachments": [], "comments": [{"author": "557058:8b915655-a6c3-4c09-9070-53484ff60ff3", "body": "The behavior looks inconsistent to me so I would appreciate some feedback from Puppet to know if this is something expected or some kind of bug that I can help fixing. Thanks!", "created": "2022-05-11T03:19:00.000000"}, {"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "cc [~accountid:5ade3a9f91bc312e6a4a30f3]", "created": "2022-05-17T14:31:00.000000"}, {"author": "557058:10079a52-8a61-4d2b-9632-5ed597ef66d7", "body": "IMHO, this function should return all tasks (i.e. including private) with a flag (eg. `private: true`) as we can run private tasks directly.\n\nSo, if we can run private tasks, we should provide a computer-way to known about these tasks.", "created": "2022-05-18T04:26:00.000000"}, {"author": "5ade3a9f91bc312e6a4a30f3", "body": "We have not yet prioritized this. Will bring it up with [~accountid:5b50a69a2726b92cd5368cb3] next PO sync.\u00a0", "created": "2022-05-24T15:17:00.000000"}, {"author": "5b50a69a2726b92cd5368cb3", "body": "[~accountid:557058:8b915655-a6c3-4c09-9070-53484ff60ff3] This is working as expected. \n\n[~accountid:557058:10079a52-8a61-4d2b-9632-5ed597ef66d7] We are looking at if we can add something to show if the task is private or not. We need to look into what meta data to understand what we are grabbing today. Once we have this info we can look at prioritization for this", "created": "2022-06-02T14:53:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20] [~accountid:5ade3a9f91bc312e6a4a30f3] Could y'all add a fix version(s) to this ticket?", "created": "2022-07-19T12:41:00.000000"}], "components": [], "created": "2022-05-11T03:17:00.000000", "creator": "557058:8b915655-a6c3-4c09-9070-53484ff60ff3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@447d63c6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0guew:w"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppetserver now lists tasks in an environment with metadata including the task description and whether it is private or not. "}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/May/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_65120918_*|*_1_*:*_1_*:*_1767189332_*|*_10007_*:*_1_*:*_709582402_*|*_3_*:*_1_*:*_521065877_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1458032433_*|*_10006_*:*_1_*:*_345420976"}], "description": "*Puppet Version: 7*\n*Puppet Server Version: 7*\n*OS Name/Version: any*\n\nWhen listing tasks using the API ({{{}GET /puppet/v3/tasks?environment=production{}}}), the returned list contain private tasks.\n\n*Desired Behavior:*\n\nDo not return tasks that are private, or maybe have a flag (off by default) to explicitly return such tasks.\n\nThis would be in-line with bolt which does not list private tasks when running `bolt task show`.\n\n*Actual Behavior:*\n\nAll tasks are always returned.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23517", "fixedVersions": [], "id": "23517", "issueType": "Bug", "key": "PUP-11540", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8b915655-a6c3-4c09-9070-53484ff60ff3", "resolution": "Fixed", "resolutionDate": "2022-07-06T11:04:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Private tasks returned when listing tasks from the API", "timeSpent": "PT0S", "updated": "2022-07-19T12:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "5ade3a9f91bc312e6a4a30f3", "body": "I think the current state of the PR is ok. I will circle back to it. I want to follow up with folks from puppetserver about it.\u00a0", "created": "2022-05-17T14:57:00.000000"}, {"author": "5ade3a9f91bc312e6a4a30f3", "body": "I have approved the PR", "created": "2022-05-24T15:16:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed in puppet#715612654d", "created": "2022-06-22T19:53:00.000000"}], "components": ["Modules"], "created": "2022-05-11T02:42:00.000000", "creator": "557058:8b915655-a6c3-4c09-9070-53484ff60ff3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4c512514"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Community Contributors", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "https://github.com/smortex"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3z5:r90900005i"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The \"puppet/v3/tasks\" REST API only returns files in the \"tasks\" directory of each module and no longer includes the names of subdirectories."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/May/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_101816641_*|*_1_*:*_1_*:*_1769205186_*|*_3_*:*_1_*:*_612320818_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1207251314_*|*_10005_*:*_1_*:*_52471"}], "description": "*Puppet Version: 7*\n*Puppet Server Version: 7*\n*OS Name/Version: any*\n\nWhen querying puppetserver for a list of tasks, if a module has a sub-directory in its 'tasks' directory, this sub-directory name is incorrectly returned as an available task of the module.\n\n*Desired Behavior:* The API should only return the actual tasks names{*}{*}{*}{*}\n\n*Actual Behavior:*\n\nCreate a sub-directory in the tasks directory of a module ({{{}mkdir /etc/puppetlabs/code/environments/production/site-modules/profile/tasks/foo/{}}}) and query using the API endpoint {{GET /puppet/v3/tasks?environment=production}}\n\nA _profile::foo_ task is incorrectly listed", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29858", "fixedVersions": ["PUP 7.18.0"], "id": "29858", "issueType": "Bug", "key": "PUP-11539", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8b915655-a6c3-4c09-9070-53484ff60ff3", "resolution": "Fixed", "resolutionDate": "2022-06-22T19:53:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Sub-directory names returned as task names when listing tasks from a module", "timeSpent": "PT0S", "updated": "2022-07-20T10:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5a1beb0b007eb21a79e5d6de", "body": "{color:#000000}Thank you for reporting this issue. While we agree this is likely an improvement, we do not anticipate addressing this any time soon {color}{color:#000000}due to other issues demanding precedence. As such, this ticket will be closed as \u201cWon\u2019t Do\u201d. We may revisit this at a later time, and if so, will re-open this ticket.{color}\n\n{color:#000000}If you are interested in submitting a patch to implement this issue, please open a pull request and re-open this ticket.{color}", "created": "2022-05-10T15:21:00.000000"}], "components": ["Type System"], "created": "2022-05-06T01:06:00.000000", "creator": "62438a418678e9007059bcca", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@54b73743"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0g806:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/May/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_396900337_*|*_6_*:*_1_*:*_0"}], "description": "PUP-5942 was a request to permit the Struct type to define keys using a pattern. This requiest was closed as _Wontfix_ due to the complexity involved.\n\nI have a related but simpler (and hopefully thus viable) request: permit the Struct type to have a _default_ key that will match any hash element, so long as the data type of the value of the key matches the specified data type.\n\nAn example may be helpful in describing what I am proposing:\n\n{code}\nclass openssh::server (\n  Struct[{\n    'Match'     => Hash[String, Hash[String, Scalar]],\n    'Subsystem' => Hash[String, Scalar],\n    default     => Scalar,\n  }] $sshd_config,\n) inherits openssh {\n{code}\n\nFor our in-house {{openssh::server}} module, the entire contents of the {{/etc/ssh/sshd_config}} file is passed to the module via a hash, where the key is the option name to set, and the value is the value for that option. For the vast majority of those options, the values are scalars (strings, booleans, or integers), and the ERB template code can generate the correct configuration lines in the {{/etc/ssh/sshd_config}} file without caring what each individual option is.\n\nBut two sshd_config options are special and require specific data structures to pass their information to the ERB template code. The {{Match}} option takes a hash where the key is the criterion for the Match statement, and the value is a nested hash of options to set within that specific Match block. The {{Subsystem}} option takes a hash where the key is the name of the subsystem, and the value is the command for sshd to execute to invoke that subsystem.\n\nWhat I want to be able to enforce is that if the {{openssh::server::sshd_config}} parameter sets either the {{Match}} or {{Subsystem}} options, the values supplied conform to the data types that those options require. But I don't want to have to laboriously enumerate every one of the ~100 other sshd_config options in the Struct just in order to be able to ensure that the {{Match}} and {{Subsystem}} options conform.\n\n(Practically speaking, I _cannot_ enumerate all of the options, even if I wanted to: different distros ship with different versions of OpenSSH, and later OpenSSH versions not only support options that earlier versions do not, but have dropped support for options that earlier versions supported.)\n\nJust as it is useful for the Puppet case statement to support a _default_ case that matches if no other case expression matches, it would be useful for Struct to support a _default_ schema key and data type that will match any supplied hash key not explicitly named in the Struct, so long as the data types match.\n\nWithout this, the only way I can see to implement typedef checking for the {{Match}} and {{Subsystem}} options is to typedef _every_ valid sshd_config option (which as I explained two paragraphs above is impossible), or do something like this:\n\n{code}\nclass openssh::server (\n  Hash[String, Variant[\n    Scalar,\n    Hash[String, Scalar],\n    Hash[String, Hash[String, Scalar]],\n  ] $sshd_config,\n) inherits openssh {\n{code}\n\nBut with this approach, there is nothing to stop a user from doing something like this:\n\n{code}\nopenssh::server::sshd_config:\n  Match: no\n  Ports:\n    22: yes\n{code}\n\nTo defend against this, the ERB code must perform exhaustive type checking. E.g.:\n\n{code:Ruby}\n<% @sshd_config.sort.each |option, value| do -%>\n<%   if option == 'Match' -%>\n<%     if value.is_a?(Hash) -%>\n<%       value.sort.each |pattern, options| do -%>\n\n<%         if options.is_a?(Hash) -%>\nMatch <%= pattern %>\n<%           options.sort.each |match_option, match_value| do -%>\n\t<%= match_option %> <%= match_value %>\n<%           end -%>\n<%         else -%>\n# <%= option %> pattern <%= pattern %> options was class <%= options.class %> but expected Hash\n<%         end -%>\n<%       end -%>\n<%     else -%>\n# <%= option %> value was class <%= value.class %> but expected Hash\n<%     end -%>\n<%   elsif option == 'Subsystem' -%>\n<%   ... -%>\n<% end -%>\n{code}\n\nThis is suboptimal, to say the least. I shouldn't have to resort to performing my own typedef checking.\n\nAlternatively, I suppose I could create additional module parameters for each configuration option that requires a different typedef than a simple scalar. E.g.:\n\n{code}\nclass openssh::server (\n  Hash[String, Scalar] $sshd_config,\n  Hash[String, Hash[String, Scalar]] $sshd_config_match,\n  Hash[String, Scalar] $sshd_config_subsystem,\n) inherits openssh {\n{code}\n\nBut literally the only reason why I would do this would be to work around the limitation of Struct that as soon as I want to typedef _any_ hash element the user can supply, I must predeclare and typedef _every_ hash element the user can supply. Being able to say, \"if these specific elements are in the hash their values must match these specific data types, and the values of all other hash elements that the user passed must match this specific data type\" avoids this.\n\nThoughts?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26611", "fixedVersions": [], "id": "26611", "issueType": "New Feature", "key": "PUP-11538", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "62438a418678e9007059bcca", "resolution": "Won't Do", "resolutionDate": "2022-05-10T15:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Allow a Struct type to have a default key", "timeSpent": "PT0S", "updated": "2022-05-10T15:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-05-02T17:58:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1c1d1a37"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11528"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0g3na:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_421460_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-05-24)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2022-05-26T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "estimate": "PT0S", "externalId": "28792", "fixedVersions": [], "id": "28792", "issueType": "Task", "key": "PUP-11537", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27757", "parentSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-05-02T18:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 7.17.0)", "timeSpent": "PT0S", "updated": "2022-05-02T18:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-05-02T17:58:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@59a1fd92"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11528"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0g3n2:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1293828337_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1197037607"}], "description": "(Initial planned release date: 2022-05-24)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.descriptions\n", "duedate": "2022-05-26T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "estimate": "PT0S", "externalId": "27758", "fixedVersions": [], "id": "27758", "issueType": "Task", "key": "PUP-11536", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27757", "parentSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-05-31T13:52:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 7.17.0)", "timeSpent": "PT0S", "updated": "2022-05-31T13:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-05-02T17:57:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@34c1c966"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11528"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0g3mu:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_12790_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2736797977"}], "description": "(Initial planned release date: 2022-05-24)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 7.17.0 is now available\"\n", "duedate": "2022-05-24T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "estimate": "PT0S", "externalId": "26609", "fixedVersions": [], "id": "26609", "issueType": "Task", "key": "PUP-11535", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27757", "parentSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-06-03T10:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Send release announcement (Puppet Platform 7.17.0)", "timeSpent": "PT0S", "updated": "2022-06-03T10:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-05-02T17:57:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@569a2970"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11528"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0g3me:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1293848444_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1447186603"}], "description": "(Initial planned release date: 2022-05-24)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2022-05-24T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "estimate": "PT0S", "externalId": "24622", "fixedVersions": [], "id": "24622", "issueType": "Task", "key": "PUP-11534", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27757", "parentSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-06-03T11:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 7.17.0)", "timeSpent": "PT0S", "updated": "2022-06-03T11:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-05-02T17:57:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3d85522"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11528"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0g3m6:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1293860779_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1179425890"}], "description": "(Initial planned release date: 2022-05-24)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2022-05-23T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "estimate": "PT0S", "externalId": "23516", "fixedVersions": [], "id": "23516", "issueType": "Task", "key": "PUP-11533", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27757", "parentSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-05-31T08:59:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 7.17.0)", "timeSpent": "PT0S", "updated": "2022-05-31T08:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-05-02T17:57:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@77e0254b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11528"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0g3lq:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1293877147_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1179488242"}], "description": "(Initial planned release date: 2022-05-24)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:60e4906e4134aa006931a5d6] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2022-05-23T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "estimate": "PT0S", "externalId": "21439", "fixedVersions": [], "id": "21439", "issueType": "Task", "key": "PUP-11532", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27757", "parentSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-05-31T09:00:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare release announcement (Puppet Platform 7.17.0)", "timeSpent": "PT0S", "updated": "2022-05-31T09:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-05-02T17:57:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@217b019b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11528"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0g3li:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1293884794_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1447148665"}], "description": "(Initial planned release date: 2022-05-24)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2022-05-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "estimate": "PT0S", "externalId": "20338", "fixedVersions": [], "id": "20338", "issueType": "Task", "key": "PUP-11531", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27757", "parentSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-06-03T11:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 7.17.0)", "timeSpent": "PT0S", "updated": "2022-06-03T11:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-05-02T17:57:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1b4b616d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11528"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0g3la:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1293891613_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1179380461"}], "description": "(Initial planned release date: 2022-05-24)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2022-05-18T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "estimate": "PT0S", "externalId": "29857", "fixedVersions": [], "id": "29857", "issueType": "Task", "key": "PUP-11530", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27757", "parentSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-05-31T08:58:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 7.17.0)", "timeSpent": "PT0S", "updated": "2022-05-31T08:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-05-02T17:57:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6510d2ae"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11528"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0g3l2:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_387111_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-05-24)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 7.17.0 and puppet-agent 7.17.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2022-05-18T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "estimate": "PT0S", "externalId": "28791", "fixedVersions": [], "id": "28791", "issueType": "Task", "key": "PUP-11529", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27757", "parentSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-05-02T18:03:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 7.17.0)", "timeSpent": "PT0S", "updated": "2022-05-02T18:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-05-02T17:57:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Phoenix"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@39a02bb4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-12"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 7.17.0 Release - 2022-05-24"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "grey"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0a7uo:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_229301481_*|*_6_*:*_1_*:*_0_*|*_10013_*:*_1_*:*_2771468655"}], "description": "Puppet Platform 7.17.0 Release - 2022-05-24", "duedate": "2022-05-24T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27757", "fixedVersions": [], "id": "27757", "issueType": "Epic", "key": "PUP-11528", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-06-06T11:30:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Platform 7.17.0 Release - 2022-05-24", "timeSpent": "PT0S", "updated": "2022-06-08T09:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61bb63041baa2b0069ef30a1", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is due to the changes in PUP-7479. Passing an explicit environment now means \"lookup data in this environment\" always and ignore what the ENC says. However that means node parameters that would normally be set by the ENC will be absent. I'm not sure how we can satisfy both this request and PUP-7479 at the same time.", "created": "2022-05-02T11:06:00.000000"}, {"author": "5efc61f17295050bad6b23ab", "body": "Not pass the environment from the ENC but do allow the classes and parameters to pass? Or some additional option to execute the ENC with a puppet lookup?\n\n\u00a0Our ENC doesn't pass classes or an environment, only the parameters section is used. Our ENC collects some information from external sources to be used as configuration parameters in various modules. Code breaks if this information is not available.\u00a0", "created": "2022-05-03T03:44:00.000000"}, {"author": "5efc61f17295050bad6b23ab", "body": "I've been trying to come up with a solution as enabling the ENC again will probably cause way too much other issues. \n\nHow about adding an option to provide the parameters on the command line? Something like ```{{{}puppet lookup --environment <dev env> --parameters parameters.yaml ...```{}}} \n\nIt would fairly easy to prepare such a file, it would also allow one to test various responses that would otherwise be difficult to do if the parameters only came from the ENC.", "created": "2022-05-06T02:59:00.000000"}, {"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "[~accountid:5efc61f17295050bad6b23ab] Would you like to submit a PR for this?", "created": "2022-05-17T14:38:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:5efc61f17295050bad6b23ab] -I think this request \"the ability to set node parameters\" is duplicated by PUP-6400, so I'm inclined to close this ticket. Can you confirm?-", "created": "2022-05-26T09:59:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Sorry I'm conflating \"node parameters returned by the ENC\" vs \"setting arbitrary node parameters from the CLI\". This ticket is the former, while PUP-6400 is the latter.", "created": "2022-09-02T09:44:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "In order to satisfy this regression and to satisfy the requirements in PUP-7479 (\"puppet lookup needs to work when the server specifies the environment\"), -we will need to send additional request options when making the node request to differentiate between \"trusted puppet lookup command\" vs \"compiling a catalog on behalf of an agent\". And the PE classifier terminus will need to check/verify- we will need to always call the node terminus, and override the returned \"environment\" if one was specified locally.", "created": "2022-10-19T12:51:00.000000"}], "components": ["Hiera & Lookup"], "created": "2022-05-02T09:56:00.000000", "creator": "5efc61f17295050bad6b23ab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "It should be possible to set a node parameter in an external node classifier, reference that node parameter in hiera.yaml and ensure the value is resolved correctly when running \"puppet lookup -E <env>\" for the current node, for a different node and with/without the --compile option.  If \"-E\" is omitted, then it should default to the environment specified in puppet.conf or default to \"production\"\n\nBy default, it should be possible to interpolate the \"environment\" parameter in hiera. However, if an explicit environment is specified (via -E) then it should take precedence over what the ENC returned."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6edf1beb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11619"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "RHEL 7 (x86_64)"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3fk:i1i"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Known Issue"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": " The issue is if you specify puppet lookup with an explicit environment ( '--environment web' ) then lookup will not call to the classifier, causing any node parameters set in the classifier to be omitted. The reason for the behavior is because if we call the classifier, then the classifier will by default assign a different environment to the node, returning a lookup result for a different environment than was requested. See PUP-7479\n\nNo work around - Unfortunately it doesn't work when specifying an explicit environment ( 'puppet lookup --environment' ), a node parameter is defined in the classifier and your hiera.conf interpolates the node parameter, e.g. 'data/%{::tier}.yaml'\n\nIt also affects open source (replace the word 'classifier' with 'ENC')"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/May/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_509069786_*|*_1_*:*_1_*:*_1312913374_*|*_10007_*:*_1_*:*_11466174_*|*_3_*:*_3_*:*_104115713_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_7950139399_*|*_10005_*:*_3_*:*_6716417398"}], "description": "*Puppet Version: 6.27.0 (should be 6.27.1 but puppet -V shows an 'unreleased' version 6.27.0)*\n*Puppet Server Version:* 6.19.0\n*OS Name/Version: RHEL7*\n{code:java} puppet lookup --compile --node `hostname -f` -E production somevalue{code}\nDoesn't execute the ENC at all. So all variables that are defined via the ENC's parameters are not available. Oddly enough '-E production' fails too. Not providing '-E production' (so it defaults to the production environment) does execute the ENC.\n\n\u00a0\n\n*Desired Behavior:*\n{code:java} puppet lookup -E <environment> --compile{code}\n\u00a0should execute the ENC.\n\n*Actual Behavior:*\n\nENC is never executed (and its values aren't passed). Even with '-E production'. It does work without -E. But this makes it impossible to check hiera in a dev environment. Some of our modules are depending on variables that are set via the ENC. Code just fails to compile because all of the ENC's information is missing.\n\n\u00a0", "epicLinkSummary": "Puppet Maintenance CY22 Q4", "estimate": "PT0S", "externalId": "27756", "fixedVersions": ["PUP 7.21.0"], "id": "27756", "issueType": "Bug", "key": "PUP-11527", "labels": ["docs_reviewed", "known_issue_added", "puppet-lookup"], "originalEstimate": "PT0S", "parent": "26723", "parentSummary": "Puppet Maintenance CY22 Q4", "priority": "Major", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5efc61f17295050bad6b23ab", "resolution": "Fixed", "resolutionDate": "2022-11-10T13:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "puppet lookup -E doesn't execute the ENC", "timeSpent": "PT0S", "updated": "2022-12-07T14:23:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "61bb63041baa2b0069ef30a1", "attachments": [], "comments": [], "components": [], "created": "2022-04-27T20:35:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@cea6fe8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4664"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0lc8a:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Deferred functions are now lazily evaluated by default. See the preprocess_deferred setting for more details."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_257065310_*|*_1_*:*_1_*:*_496395065_*|*_10007_*:*_1_*:*_807250_*|*_3_*:*_1_*:*_1048982_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_21783667896"}], "description": "This is a follow up to PUP-9323 so that deferred functions are evaluated lazily by default.\n\nDeferred functions are executed on the agent when the agent applies a catalog. A good example is to call Vault to lookup a Sensitive password. That way the password is never stored in the catalog. For example, see [https://www.puppet.com/docs/puppet/7/deferring_functions.html#deferring_functions-deferred-function-example]\n\nHistorically, deferred functions were called before the catalog was enforced, which meant you couldn't use puppet to install dependencies needed by the deferred function. For example, to install gems, libraries, configuration needed to connect to vault.\n\nFor this ticket, we want to change the default value of the {{preprocess_deferred}} setting so that they are not preprocessed by default. Instead they will be evaluated during catalog application. In the vault example, the deferred function would be called when applying the {{File['/etc/secrets.conf']}} resource.", "epicLinkSummary": "Puppet 8", "estimate": "PT0S", "externalId": "28752", "fixedVersions": ["PUP 8.0.0"], "id": "28752", "issueType": "Improvement", "key": "PUP-11526", "labels": [], "originalEstimate": "PT0S", "parent": "57676", "parentSummary": "Puppet 8", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2023-01-13T16:25:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Evaluate deferred functions lazily by default", "timeSpent": "PT0S", "updated": "2023-01-13T16:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [{"author": "61bb63041baa2b0069ef30a1", "body": "The platform was added in 7.17.0 release but we weren't able to build packages at that time.\u00a0", "created": "2022-05-20T15:04:00.000000"}], "components": [], "created": "2022-04-27T11:44:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@342f1f52"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4457"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fwkp:i"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "0.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/May/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_58729_*|*_6_*:*_2_*:*_1969406947_*|*_10006_*:*_2_*:*_6424472731_*|*_10005_*:*_1_*:*_73679438"}], "description": "Update Public-facing Puppet docs to include this platform\nThis ticket will be set with the fix version of the first release containing the new platform and checked with doc team during the Platform release process.\n", "epicLinkSummary": "Add macOS 12 (M1) FOSS support", "estimate": "PT0S", "externalId": "23514", "fixedVersions": ["PUP 6.28.0", "PUP 7.18.0"], "id": "23514", "issueType": "Task", "key": "PUP-11525", "labels": ["os"], "originalEstimate": "PT0S", "parent": "58982", "parentSummary": "Add macOS 12 (M1) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2022-08-03T11:51:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "17. Update Public-facing Puppet docs to include macOS 12 (M1)", "timeSpent": "PT0S", "updated": "2022-08-03T11:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "626a1d6ba6d9be006abc71fd", "created": "2022-04-27T06:57:00.000000", "name": "image-2022-04-27-18-27-34-499.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12045"}], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:626a1d6ba6d9be006abc71fd] please join the #puppet slack channel at https://puppet.slack.com/ for these kinds of questions.", "created": "2022-04-27T20:36:00.000000"}], "components": [], "created": "2022-04-27T06:58:00.000000", "creator": "626a1d6ba6d9be006abc71fd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@22b948ad"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fws6:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Apr/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_49120965_*|*_6_*:*_1_*:*_0"}], "description": "I am new to puppet. I am trying to create a manifest to install grafana-agent in ubuntu VM. I downloaded grafana-agent deb file and included in manifest file as a source. But getting the following error.\n\n!image-2022-04-27-18-27-34-499.png!\n\nPlease help me creating the manifest that installs grafana-agent in ubuntu vm", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24621", "fixedVersions": [], "id": "24621", "issueType": "Task", "key": "PUP-11524", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Critical", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "626a1d6ba6d9be006abc71fd", "resolution": "Declined", "resolutionDate": "2022-04-27T20:36:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Manifest to install Grafana Agent", "timeSpent": "PT0S", "updated": "2022-04-27T20:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Not sure what happened here, but we'll get this fixed.\n\nIn cases where SSLProvider accepts {{include_system_store}} (like {{create_context}} and {{load_context}}), it should optionally include CA certs in {{Puppet[:ssl_trust_store]}}. In other words, {{include_system_store}} and {{ssl_trust_store}} are closely linked and should behave that way.\n\nAlso the intention was to be able to call: post(url, options: { include_system_store \\}) so that it's not necessary for the caller to create/load an ssl_context.", "created": "2022-04-26T13:07:00.000000"}, {"author": "5e3375e183d74c0e821851f3", "body": "The problem with 'post(url, options: \\{ include_system_store })' is that it uses the system SSL context, which does include the CA certs in {{{}Puppet[:ssl_trust_store]{}}}, but does not include the client certificates. [https://github.com/puppetlabs/puppet/blob/main/lib/puppet/http/client.rb#L461-L470]\n\nAs a part of this, the {{HTTP::Client}} will probably need to be updated to use {{create_context}} or {{load_context}} with the {{include_system_store}} and {{ssl_trust_store}} options that are added/modified.\n\nIs there a use case for using the system context and not the client context within {{HTTP::Client}}?", "created": "2022-04-27T10:31:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "{quote}\nThe problem with 'post(url, options: \\{ include_system_store })' ... but does not include the client certificates.\n{quote}\n\nYeah [~accountid:5e3375e183d74c0e821851f3] that's correct.\n\n{quote}\nIs there a use case for using \"create_system_context\"\n{quote}\n\nThe intention is that create_context is used when the agent is bootstrapping itself and needs to build up new contexts as it makes progress downloading the CA bundle, CRLs, submitting CSR, etc. The load_context method is used when the agent already has a client cert and needs to just load what it has on disk. The \"create_system_context\" method is intended for cases where the agent is talking to third party HTTPS servers, such as \"puppet module install\", \"http\" report processors, and file resources with 'source => \"https://...\"'  It's not super common for 3rd party HTTPS servers to require a client cert for mutual TLS auth. Integrating with Vault server is a big exception.\n\nI don't think we want to merge create/load_context with create_system_context as we don't want to accidentally trust a third party CA cert when communicating with puppet infrastructure.\n\nWhen this issue is fixed it should be possible to do the following without having to create a \"custom\" ssl context:\n\n{code:ruby}\nclient = Puppet.runtime[:http]\nclient.get(URI(\"https://server.example.com:8888\"), options: {include_system_store: true})\n{code}", "created": "2022-04-27T10:56:00.000000"}, {"author": "5e3375e183d74c0e821851f3", "body": "[~accountid:63d40628f6e1b543161789a7]Thanks for the information and getting a PR up for this. The clarification on the difference of the system context filled some gaps for me.", "created": "2022-05-05T07:34:00.000000"}], "components": [], "created": "2022-04-26T12:12:00.000000", "creator": "5e3375e183d74c0e821851f3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "When using the http client in puppet it should be possible to connect to a https server that requires client certs and whose server cert is issued by a third party CA. Eg. should be possible to call \"post(url, options: \\{include_system_store: true})\" and connect to server described above"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7989815"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0c62y:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet's http client can now establish a mutually authenticated TLS connection when passing \"include_system_store: true\" such as when retrieving file content from HTTPS servers. Previously puppet did not add its client certificate to the SSL context, so the connection would fail if the HTTPS server *required* a client certificate."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "48141"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Apr/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_142723957_*|*_1_*:*_1_*:*_6933954_*|*_10007_*:*_1_*:*_1115726659_*|*_3_*:*_1_*:*_538647536_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_28469528_*|*_10005_*:*_1_*:*_69983022"}], "description": "*Puppet Version:* 6.27.0 and 7.16.0\n*Puppet Server Version:* N/A\n*OS Name/Version:* Any\n\nPUP-11471 enabled using the system CA store when using HTTP::Client, however, it did not enable users to use the 'ssl_trust_store' Puppet.conf option with client SSL authentication. After PUP-11471 a user can use 'create_context' or 'load_context' to use client based authentication with 'include_system_store: true' to load the trusted CA certificates from '/opt/puppetlabs/puppet/ssl/certs/' and '/opt/puppetlabs/puppet/ssl/cert.pem'. It does not enable a user to use 'create_context' or 'load_context' to use client based authentication with 'include_system_store: true' to load the trusted CA certificates from the 'ssl_trust_store' Puppet.conf option. \n\nThe 'ssl_trust_store' Puppet.conf option removes the requirement of using 'c_rehash' or appending the CA bundle to '/opt/puppetlabs/puppet/ssl/cert.pem', which is overwritten on any agent upgrade. \n\nWhen 'include_system_store: true' is passed, 'create_context' should load 'Puppet[:ssl_trust_store]' the same way that 'create_system_context` does here: https://github.com/puppetlabs/puppet/blob/d894861565aa95bd6f4f1cb85fe44ab62cc37854/lib/puppet/ssl/ssl_provider.rb#L73-L89 \n\n\n\n*Desired Behavior:*\n\n'create_context' should load the certificates from 'Puppet[:ssl_trust_store]' with 'include_system_store: true'.\n\n*Actual Behavior:*\nThere is no way to load the certificates from 'Puppet[:ssl_trust_store]' with 'create_context'.\n\nUsing the system context is not an option in this scenario as it does not use the client certificates for authentication.\n\nExamples:\n\nWe would expect the following to use client certificates and load the certificate bundles defined in 'Puppet[:ssl_trust_store]'.  It does not work unless the CA certificate is loaded into {{/opt/puppetlabs/puppet/ssl/certs/}} and {{/opt/puppetlabs/puppet/bin/c_rehash}} is run.\n\n{code}\nurl = 'https://example.com/file.tar.gz' # server trusted by system trust store, and demanding a client certificate signed by the puppet CA\nclient = Puppet.runtime[:http]\nprovider = Puppet::SSL::SSLProvider.new\nssl_context = provider.load_context(revocation: false, include_system_store: true)\nclient.get(URI(url), options: { ssl_context: ssl_context }) do |response|\n  raise 'Failed to download artifact' unless response.success?\n\n  response.read_body { |data| do_something(data) }\nend\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27741", "fixedVersions": ["PUP 6.28.0", "PUP 7.17.0"], "id": "27741", "issueType": "Bug", "key": "PUP-11522", "labels": ["docs_reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5e3375e183d74c0e821851f3", "resolution": "Fixed", "resolutionDate": "2022-05-18T12:40:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Allow Puppet::HTTP::Client to connect to a server requiring client cert authentication and whose server cert is issued by a CA in the 'ssl_trust_store'", "timeSpent": "PT0S", "updated": "2022-06-20T06:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "attachments": [], "comments": [{"author": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "body": "Based on this [MS docs page|https://docs.microsoft.com/en-us/powershell/dsc/reference/resources/windows/fileresource?view=dsc-1.1], you'd think that it would be in the [dsc/psdscresources|https://forge.puppet.com/modules/dsc/psdscresources/reference] module, but I don't see it listed there or in the upstream powershell gallery module.\n\nPerhaps [~accountid:557058:263afade-3e4f-46c6-b50a-cf2982192562] might know where the {{dsc_file}} resource is.", "created": "2022-05-05T15:27:00.000000"}], "components": [], "created": "2022-04-25T11:09:00.000000", "creator": "557058:ac3788df-2d4a-42ff-9dea-7c873aaf6e4d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6f0c4979"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fvye:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Apr/22"}], "description": "With the sunset of the dsc module, customers who wish to use the previous dsc_file resource against authenticated SMB shares have no supported option to continue doing that. It makes sense to thus update the core file resource so that it supports SMB share authentication.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27739", "fixedVersions": [], "id": "27739", "issueType": "Improvement", "key": "PUP-11520", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ac3788df-2d4a-42ff-9dea-7c873aaf6e4d", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Support for SMB authentication on the File resource", "timeSpent": "PT0S", "updated": "2023-02-13T06:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Pretty sure this is a dup of PUP-11001 or one of the other tickets in the associated Epic. ", "created": "2022-04-25T15:11:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is a dup of (PUP-11001), which is caused by semantic_puppet not solving nested dependencies correctly (PUP-11193)", "created": "2022-06-21T11:05:00.000000"}], "components": [], "created": "2022-04-24T07:33:00.000000", "creator": "626a1d60357b9f006e4ca38d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1981b5fd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fvku:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Apr/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_113933876_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_4910019337"}], "description": "*Puppet Version: 7.15.0*\n*Puppet Server Version: 7.6.1*\n*OS Name/Version: Kubuntu 22.04*\n\nI am trying to install eyp-systemd (and to be honest the error below reproduces with many other modules) and getting this weird error:\n\n```\n\nsudo -i puppet module install eyp-systemd\nNotice: Preparing to install into /home/dimanne/devel/puppet/codedir/environments/production/modules ... \nNotice: Downloading from https://forgeapi.puppet.com ... \nError: Could not install module 'eyp-systemd' (v3.1.0) \n\u00a0The requested version cannot satisfy one or more of the following installed modules: \n\u00a0\u00a0\u00a0*puppetlabs-stdlib, installed: 8.1.0, expected: >= 1.0.0 < 9.9.9* \n\n\u00a0Use `puppet module install 'eyp-systemd' --ignore-dependencies` to install only this module\n\n```\n\n\u00a0\n\n*Desired Behavior:*\n\nModule is successfully installed.\n\n\u00a0\n\nEven if I am doing something wrong, at the very least, error message is misleading & strange.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24650", "fixedVersions": [], "id": "24650", "issueType": "Bug", "key": "PUP-11519", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "626a1d60357b9f006e4ca38d", "resolution": "Duplicate", "resolutionDate": "2022-06-21T11:05:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "puppetlabs-stdlib, installed: 8.1.0, expected: >= 1.0.0 < 9.9.9", "timeSpent": "PT0S", "updated": "2022-06-21T11:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b] [~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b] thoughts? I\u2019m imagine this comes up every so often?", "created": "2022-04-26T16:46:00.000000"}, {"author": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "body": "I found [https://forge.puppet.com/modules/morpheu/refacter] which is somewhat close to my needs, but having this sort of thing built in would be very helpful.", "created": "2022-06-03T09:37:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "An alternative idea, that also comes up from time to time: tell puppet to collect facts again, during a run. And that's also actually what you need? It's not necessarily another Puppet run, you just need to update facts between two puppet resources? ", "created": "2022-09-21T07:02:00.000000"}], "components": [], "created": "2022-04-22T12:40:00.000000", "creator": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4b01c23b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fvgm:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Apr/22"}], "description": "Some of my puppet modules require more than one run to finish configuring a specific element.\n\nFor example, my RAID card management module uses facts generated by the management tools.\u00a0 If these tools are not installed, the module installs them, but because the facts could not be populated the array isn't configured until a second run occurs.\u00a0 With runs happening every 2 hours at my site, this ends up being a very long time to wait.\n\nIt would be helpful if there was a way I could tell the agent \"after this run, immediately schedule another run\".", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25500", "fixedVersions": [], "id": "25500", "issueType": "New Feature", "key": "PUP-11517", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Tell puppet it needs a second run", "timeSpent": "PT0S", "updated": "2022-09-21T07:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Per [~accountid:70121:81a73de1-7f52-49cd-b0b0-46c1b147202a]'s comment in https://puppet.atlassian.net/browse/PUP-6712?focusedCommentId=348572&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-348572, \"[collectors do] not produce a value that can be used in the language\", so I don't believe we'd want to try to do that.\n\nCan you use [puppetdb_query|https://github.com/puppetlabs/puppetdb/blob/e16e9325cbc49df7df5763b8605eb6b5a2657493/puppet/lib/puppet/functions/puppetdb_query.rb] (or another function) to retrieve/filter/iterate on resources?\n\nIt's also possible to iterate resources in the catalog directly, provided you know their names:\n\n{noformat}\n$ bx puppet apply -e 'notify { \"a\": } notify { \"b\": } [\"a\", \"b\"].each |$n| { notice(Notify[$n]) }'\nNotice: Scope(Class[main]): Notify['a']\nNotice: Scope(Class[main]): Notify['b']\n{noformat}\n\nWe've talked about a more general \"query\" see https://puppet.atlassian.net/browse/PUP-7541?focusedCommentId=715166&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-715166", "created": "2022-04-26T15:50:00.000000"}, {"author": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "body": "The more general \"query\" is probably what I'd need.\n\nThe resource titles are coming out of hiera, so I don't know them in advance...", "created": "2022-04-27T07:36:00.000000"}], "components": [], "created": "2022-04-20T13:03:00.000000", "creator": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5a1adee8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fui6:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Apr/22"}], "description": "For some applications getting data back out of collected resources would be very helpful.\n\nFor example, the `sssd` service requires you to define a list of active domains and have configuration section detailing how that domain should operate.\n\nToday if I generate a custom type (for example `sssd::domain`) and collect that type (`Sssd::Domain<| |>`), I don't have a great way of extracting the domain name so I don't need to repeat it.\n\nPropose sort of thingy `$titles = Sssd::Domain<| |>.title` would return some sort of Array containing the title attributes from the collected Sssd::Domain types.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21437", "fixedVersions": [], "id": "21437", "issueType": "New Feature", "key": "PUP-11514", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Extract elements from resource collector", "timeSpent": "PT0S", "updated": "2022-04-27T07:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "There are a few possibilities:\n\n1. Module names cannot contain dashes, so hiera-mysql2 is not valid and will be ignored, see https://puppet.com/docs/puppet/7/modules_fundamentals.html#module-names\n2. The module name is contained in \"metadata.json\" so if you're copying the module from an existing module, you'll need to update metadata.json\n\n", "created": "2022-04-18T18:47:00.000000"}], "components": [], "created": "2022-04-15T13:55:00.000000", "creator": "5df9219adcf2570cb381fbd8", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@50470a6e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master Config", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Monolithic"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0frsm:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Apr/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_276764747_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 5.5.10*\n*Puppet Server Version: 5.5.10*\n*OS Name/Version: Debian 10*\n\nI have copied files to /usr/share/puppet/modules/hiera-mysql2\n\nhowever \"puppet module list\"\n\ndoes not show the new module. I have tried restarting the puppet master too, for good measure.\n\n\u00a0\n\n*Desired Behavior:*\n\n\u00a0\n\n*puppet module list*\n\n\u00a0\n\n*would list the hiera-mysql2 module, \"nvitaterna-hiera_mysql2\"*\n\n\u00a0\n\n*Actual Behavior:*\n\n*# ls -1 /usr/share/puppet/modules*\n*apt*\n*concat*\n*hiera_mysql*\n*hiera-mysql2*\n*mysql*\n*postgresql*\n*staging*\n*stdlib*\n*translate*\n*vcsrepo*\n*# puppet module list | tail*\n*/usr/share/puppet/modules*\n*\u251c\u2500\u2500 crayfishx-hiera_mysql (v3.0.1)*\n*\u251c\u2500\u2500 nanliu-staging (v1.0.4)*\n*\u251c\u2500\u2500 puppetlabs-apt (v6.1.1) \u00a0invalid*\n*\u251c\u2500\u2500 puppetlabs-concat (v5.1.0) \u00a0invalid*\n*\u251c\u2500\u2500 puppetlabs-mysql (v5.3.0)*\n*\u251c\u2500\u2500 puppetlabs-postgresql (v5.4.0)*\n*\u251c\u2500\u2500 puppetlabs-stdlib (v5.0.0) \u00a0invalid*\n*\u251c\u2500\u2500 puppetlabs-translate (v1.1.0)*\n*\u2514\u2500\u2500 puppetlabs-vcsrepo (v3.0.0)*\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20337", "fixedVersions": [], "id": "20337", "issueType": "Bug", "key": "PUP-11510", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5df9219adcf2570cb381fbd8", "resolution": "Incomplete", "resolutionDate": "2022-04-18T18:47:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "\"puppet module list\" does not list module in path", "timeSpent": "PT0S", "updated": "2022-04-18T18:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "6220dbd449c90000701fd0c5", "body": "[~accountid:557058:4786f794-5167-4041-b3c0-deb1e8ba3438] This request came from a pip provider issue ticket, however the client is hoping to utilize package collection to see \"all\" packages. Currently anything installed by default installer ie `pkgutil` is not included in this, so this request is to add `pkgutil -pkgs` for package collection.", "created": "2022-04-19T15:04:00.000000"}], "components": [], "created": "2022-04-15T12:14:00.000000", "creator": "5b859c0af1fb77577188895d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@d5a3782"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0frqu:"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "48001"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Apr/22"}], "description": "Package collection currently only collects `pip` and `gem` packages on macOS. It would be prudent and helpful to collect from `pkgutil --pkgs` as well.\n\n~* Please see Zendesk Support tab for further comments and attachments.~", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20336", "fixedVersions": [], "id": "20336", "issueType": "Improvement", "key": "PUP-11509", "labels": ["jira_escalated", "macos", "platform-os"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6220dbd449c90000701fd0c5", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Add pkgutil imports to package collection on macOS", "timeSpent": "PT0S", "updated": "2023-02-13T06:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "6220dbd449c90000701fd0c5", "created": "2022-04-14T12:55:00.000000", "name": "Screen Shot 2022-04-06 at 5.07.07 pm.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12210"}], "comments": [{"author": "557058:1134d60c-31df-407a-b573-e0cfaef8865e", "body": "We spoke about this in todays Support/Phoenix sync meeting, with no clear path forward from the dev side of things, would it be possible to get this documented as a known issue [~accountid:60e4906e4134aa006931a5d6] ?", "created": "2022-10-10T10:47:00.000000"}], "components": [], "created": "2022-04-14T12:56:00.000000", "creator": "6220dbd449c90000701fd0c5", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4176c7b1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fr06:"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "48001"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Apr/22"}], "description": "*Puppet Version:b 7.8*\n*Puppet Server Version: 2021.2*\n*OS Name/Version:*\n\nPuppet will trying to collect packages for python/pip, and since Apple has removed those it errors and tries to install dev tools.\n\n*Desired Behavior:*\n\n\u00a0\n\nAgent will ignore the \"stub\" executable on Mac OS if not actually installed.\nHere: [https://github.com/puppetlabs/puppet/blob/main/lib/puppet/provider/package/pip.rb#L32-L43]\n\n*Actual Behavior:*\n\nErrors with:\u00a0\n{code:java}Cannot collect packages for Puppet::Type::Package::ProviderPip3 provider; [nil] {code}\nAlso displays this prompt:\n!https://puppetlabs.zendesk.com/attachments/token/f2Hns6dJ7doVZfrmAhT8yVmsD/?name=Screen+Shot+2022-04-06+at+5.07.07+pm.png!", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28749", "fixedVersions": [], "id": "28749", "issueType": "Bug", "key": "PUP-11508", "labels": ["jira_escalated", "macos", "platform-os"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6220dbd449c90000701fd0c5", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Package collection triggers install", "timeSpent": "PT0S", "updated": "2023-02-13T06:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I think this can be reproduced by specifying a salt as hex encoded string of length less then 64 characters, as puppet will partially create the user, but leave the {{salt}} field in the {{SALTED-SHA512-PBKDF2}} plist invalid/missing. Then the next time you run puppet, it will try to load the plist and fail trying to call \"unpack\" on nil: https://github.com/puppetlabs/puppet/blob/f5a23ce87b380241feb1ffc6d390ce1696354617/lib/puppet/provider/user/directoryservice.rb#L211", "created": "2022-04-20T15:04:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in\u00a0b3ccdff405", "created": "2022-05-19T09:23:00.000000"}], "components": [], "created": "2022-04-13T08:25:00.000000", "creator": "623e79498d8b9c0068b9f45e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "If the current salt or iterations for the user is missing or corrupt, puppet should gracefully treat it as missing so that the correct desired version can be set the next time puppet runs. For example, if you try to manage the user using a salt with the wrong length, it should fail. If you then correct the salt and try to run again, puppet should enforce the desired state. It shouldn't take two runs to converge."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1d4c05bd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master Config", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Monolithic"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Other"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Inspection"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0c62x:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Apr/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_141478267_*|*_1_*:*_1_*:*_540497285_*|*_10007_*:*_1_*:*_11200657_*|*_3_*:*_1_*:*_1113632773_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1153213876_*|*_10005_*:*_1_*:*_153868630"}], "description": "*Puppet Version: 7.14.0*\n*Puppet Server Version: 7.6.1*\n*OS Name/Version: MacOS 12.3.1*\n\n*Puppet user provider fails - see also PUP-8330*\n\n*Desired Behavior:*\n\nNo error\n\n*Actual Behavior:*\n\n*Errors*\n\nCreating a local user appears to work on some instances of MacOS but at least one agent fails with:\n\nCould not prefetch user provider 'directoryservice': undefined method `unpack' for nil:NilClass\n\nThis is similar to the error reported in PUP-8330 but a password change does not fix it.\n\n{{# puppet resource user pacscan --trace --debug\u00a0}}\n{{Debug: Runtime environment: puppet_version=7.14.0, ruby_version=2.7.5, run_mode=user, default_encoding=US-ASCII}}\n{{Debug: Evicting cache entry for environment :production}}\n{{Debug: Deleted text domain :production: false}}\n{{Debug: Caching environment :production (ttl = 0 sec)}}\n{{Debug: Evicting cache entry for environment :production}}\n{{Debug: Deleted text domain :production: false}}\n{{Debug: Facter: Resolving facts sequentially}}\n{{Debug: Facter: resolving fact with user_query: operatingsystem}}\n{{Debug: Facter: Searching fact: operatingsystem in file: operatingsystem.rb}}\n{{Debug: Facter: Searching fact: operatingsystem in core facts and external facts}}\n{{Debug: Facter: Loading all internal facts}}\n{{Debug: Facter: List of resolvable facts: [#<Facter::SearchedFact:0x00007f97428120a0 @name=\"operatingsystem\", @fact_class=Facts::Macosx::Os::Name, @user_query=\"operatingsystem\", @type=:legacy, @file=nil>]}}\n{{Debug: Facter: Executing command: uname -m &&}}\n{{\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0uname -n &&}}\n{{\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0uname -p &&}}\n{{\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0uname -r &&}}\n{{\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0uname -s &&}}\n{{\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0uname -v}}\n{{Debug: Facter: Loading external facts}}\n{{Debug: Facter: fact \"operatingsystem\" has resolved to: Darwin}}\n{{Debug: Facter: resolving fact with user_query: operatingsystem}}\n{{Debug: Facter: Searching fact: operatingsystem in file: operatingsystem.rb}}\n{{Debug: Facter: Searching fact: operatingsystem in core facts and external facts}}\n{{Debug: Facter: Loading all internal facts}}\n{{Debug: Facter: List of resolvable facts: [#<Facter::SearchedFact:0x00007f979718c8e8 @name=\"operatingsystem\", @fact_class=Facts::Macosx::Os::Name, @user_query=\"operatingsystem\", @type=:legacy, @file=nil>]}}\n{{Debug: Facter: Loading external facts}}\n{{Debug: Facter: fact \"operatingsystem\" has resolved to: Darwin}}\n{{Debug: Facter: resolving fact with user_query: operatingsystem}}\n{{Debug: Facter: Searching fact: operatingsystem in file: operatingsystem.rb}}\n{{Debug: Facter: Searching fact: operatingsystem in core facts and external facts}}\n{{Debug: Facter: Loading all internal facts}}\n{{Debug: Facter: List of resolvable facts: [#<Facter::SearchedFact:0x00007f9792abe6a0 @name=\"operatingsystem\", @fact_class=Facts::Macosx::Os::Name, @user_query=\"operatingsystem\", @type=:legacy, @file=nil>]}}\n{{Debug: Facter: Loading external facts}}\n{{Debug: Facter: fact \"operatingsystem\" has resolved to: Darwin}}\n{{Debug: Puppet::Type::User::ProviderUseradd: file useradd does not exist}}\n{{Debug: Facter: resolving fact with user_query: operatingsystem}}\n{{Debug: Facter: Searching fact: operatingsystem in file: operatingsystem.rb}}\n{{Debug: Facter: Searching fact: operatingsystem in core facts and external facts}}\n{{Debug: Facter: Loading all internal facts}}\n{{Debug: Facter: List of resolvable facts: [#<Facter::SearchedFact:0x00007f9782149aa8 @name=\"operatingsystem\", @fact_class=Facts::Macosx::Os::Name, @user_query=\"operatingsystem\", @type=:legacy, @file=nil>]}}\n{{Debug: Facter: Loading external facts}}\n{{Debug: Facter: fact \"operatingsystem\" has resolved to: Darwin}}\n{{Debug: Puppet::Type::User::ProviderPw: file pw does not exist}}\n{{Debug: Facter: resolving fact with user_query: operatingsystem}}\n{{Debug: Facter: Searching fact: operatingsystem in file: operatingsystem.rb}}\n{{Debug: Facter: Searching fact: operatingsystem in core facts and external facts}}\n{{Debug: Facter: Loading all internal facts}}\n{{Debug: Facter: List of resolvable facts: [#<Facter::SearchedFact:0x00007f978213b4d0 @name=\"operatingsystem\", @fact_class=Facts::Macosx::Os::Name, @user_query=\"operatingsystem\", @type=:legacy, @file=nil>]}}\n{{Debug: Facter: Loading external facts}}\n{{Debug: Facter: fact \"operatingsystem\" has resolved to: Darwin}}\n{{Debug: Puppet::Type::User::ProviderUser_role_add: file useradd does not exist}}\n{{Debug: Could not find library 'ldap' required to enable feature 'ldap'}}\n{{Debug: Puppet::Type::User::ProviderLdap: feature ldap is missing}}\n{{Debug: Puppet::Type::User::ProviderOpenbsd: file useradd does not exist}}\n{{Debug: Facter: resolving fact with user_query: operatingsystem}}\n{{Debug: Facter: Searching fact: operatingsystem in file: operatingsystem.rb}}\n{{Debug: Facter: Searching fact: operatingsystem in core facts and external facts}}\n{{Debug: Facter: Loading all internal facts}}\n{{Debug: Facter: List of resolvable facts: [#<Facter::SearchedFact:0x00007f97961814d0 @name=\"operatingsystem\", @fact_class=Facts::Macosx::Os::Name, @user_query=\"operatingsystem\", @type=:legacy, @file=nil>]}}\n{{Debug: Facter: Loading external facts}}\n{{Debug: Facter: fact \"operatingsystem\" has resolved to: Darwin}}\n{{Debug: Facter: resolving fact with user_query: operatingsystem}}\n{{Debug: Facter: Searching fact: operatingsystem in file: operatingsystem.rb}}\n{{Debug: Facter: Searching fact: operatingsystem in core facts and external facts}}\n{{Debug: Facter: Loading all internal facts}}\n{{Debug: Facter: List of resolvable facts: [#<Facter::SearchedFact:0x00007f9782121e90 @name=\"operatingsystem\", @fact_class=Facts::Macosx::Os::Name, @user_query=\"operatingsystem\", @type=:legacy, @file=nil>]}}\n{{Debug: Facter: Loading external facts}}\n{{Debug: Facter: fact \"operatingsystem\" has resolved to: Darwin}}\n{{Debug: Facter: resolving fact with user_query: operatingsystem}}\n{{Debug: Facter: Searching fact: operatingsystem in file: operatingsystem.rb}}\n{{Debug: Facter: Searching fact: operatingsystem in core facts and external facts}}\n{{Debug: Facter: Loading all internal facts}}\n{{Debug: Facter: List of resolvable facts: [#<Facter::SearchedFact:0x00007f979213e508 @name=\"operatingsystem\", @fact_class=Facts::Macosx::Os::Name, @user_query=\"operatingsystem\", @type=:legacy, @file=nil>]}}\n{{Debug: Facter: Loading external facts}}\n{{Debug: Facter: fact \"operatingsystem\" has resolved to: Darwin}}\n{{Debug: Facter: resolving fact with user_query: operatingsystem}}\n{{Debug: Facter: Searching fact: operatingsystem in file: operatingsystem.rb}}\n{{Debug: Facter: Searching fact: operatingsystem in core facts and external facts}}\n{{Debug: Facter: Loading all internal facts}}\n{{Debug: Facter: List of resolvable facts: [#<Facter::SearchedFact:0x00007f9795925f70 @name=\"operatingsystem\", @fact_class=Facts::Macosx::Os::Name, @user_query=\"operatingsystem\", @type=:legacy, @file=nil>]}}\n{{Debug: Facter: Loading external facts}}\n{{Debug: Facter: fact \"operatingsystem\" has resolved to: Darwin}}\n{{Debug: Facter: resolving fact with user_query: operatingsystem}}\n{{Debug: Facter: Searching fact: operatingsystem in file: operatingsystem.rb}}\n{{Debug: Facter: Searching fact: operatingsystem in core facts and external facts}}\n{{Debug: Facter: Loading all internal facts}}\n{{Debug: Facter: List of resolvable facts: [#<Facter::SearchedFact:0x00007f97820f1ba0 @name=\"operatingsystem\", @fact_class=Facts::Macosx::Os::Name, @user_query=\"operatingsystem\", @type=:legacy, @file=nil>]}}\n{{Debug: Facter: Loading external facts}}\n{{Debug: Facter: fact \"operatingsystem\" has resolved to: Darwin}}\n{{Debug: Puppet::Type::User::ProviderUseradd: file useradd does not exist}}\n{{Debug: Facter: resolving fact with user_query: operatingsystem}}\n{{Debug: Facter: Searching fact: operatingsystem in file: operatingsystem.rb}}\n{{Debug: Facter: Searching fact: operatingsystem in core facts and external facts}}\n{{Debug: Facter: Loading all internal facts}}\n{{Debug: Facter: List of resolvable facts: [#<Facter::SearchedFact:0x00007f97958a8868 @name=\"operatingsystem\", @fact_class=Facts::Macosx::Os::Name, @user_query=\"operatingsystem\", @type=:legacy, @file=nil>]}}\n{{Debug: Facter: Loading external facts}}\n{{Debug: Facter: fact \"operatingsystem\" has resolved to: Darwin}}\n{{Debug: Puppet::Type::User::ProviderPw: file pw does not exist}}\n{{Debug: Facter: resolving fact with user_query: operatingsystem}}\n{{Debug: Facter: Searching fact: operatingsystem in file: operatingsystem.rb}}\n{{Debug: Facter: Searching fact: operatingsystem in core facts and external facts}}\n{{Debug: Facter: Loading all internal facts}}\n{{Debug: Facter: List of resolvable facts: [#<Facter::SearchedFact:0x00007f97969273b0 @name=\"operatingsystem\", @fact_class=Facts::Macosx::Os::Name, @user_query=\"operatingsystem\", @type=:legacy, @file=nil>]}}\n{{Debug: Facter: Loading external facts}}\n{{Debug: Facter: fact \"operatingsystem\" has resolved to: Darwin}}\n{{Debug: Puppet::Type::User::ProviderUser_role_add: file useradd does not exist}}\n{{Debug: Puppet::Type::User::ProviderLdap: feature ldap is missing}}\n{{Debug: Puppet::Type::User::ProviderOpenbsd: file useradd does not exist}}\n{{Debug: Executing: '/usr/bin/dscl -plist . readall /Users'}}\n{{Debug: Executing: '/usr/bin/dscl -plist . readall /Groups'}}\n{{Debug: Converting binary plist to hash}}\n{{Debug: Converting binary plist to hash}}\n{{Debug: Converting binary plist to hash}}\n{{Error: Could not run: undefined method `unpack' for nil:NilClass}}\n{{/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/user/directoryservice.rb:211:in `get_salted_sha512_pbkdf2'}}\n{{/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/user/directoryservice.rb:151:in `generate_attribute_hash'}}\n{{/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/user/directoryservice.rb:88:in `block in instances'}}\n{{/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/user/directoryservice.rb:87:in `collect'}}\n{{/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/user/directoryservice.rb:87:in `instances'}}\n{{/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type.rb:1186:in `block in instances'}}\n{{/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type.rb:1185:in `collect'}}\n{{/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type.rb:1185:in `instances'}}\n{{/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/resource/ral.rb:14:in `find'}}\n{{/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:223:in `find'}}\n{{/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/resource.rb:231:in `block in find_or_save_resources'}}\n{{/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'}}\n{{/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:302:in `override'}}\n{{/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/resource.rb:228:in `find_or_save_resources'}}\n{{/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/resource.rb:147:in `block in main'}}\n{{/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'}}\n{{/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:302:in `override'}}\n{{/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/resource.rb:142:in `main'}}\n{{/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:437:in `run_command'}}\n{{/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:421:in `block in run'}}\n{{/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:744:in `exit_on_fail'}}\n{{/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:421:in `run'}}\n{{/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:143:in `run'}}\n{{/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:77:in `execute'}}\n{{/opt/puppetlabs/puppet/bin/puppet:5:in `<main>'}}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24649", "fixedVersions": ["PUP 6.28.0", "PUP 7.17.0"], "id": "24649", "issueType": "Bug", "key": "PUP-11507", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79498d8b9c0068b9f45e", "resolution": "Fixed", "resolutionDate": "2022-05-19T09:23:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "macOS agents fails to retrieve password hash - old bug  still there", "timeSpent": "PT0S", "updated": "2022-07-14T16:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [], "components": [], "created": "2022-04-12T14:49:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1e9f622"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0c63c:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "4.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_179417478_*|*_3_*:*_1_*:*_1047175799_*|*_6_*:*_1_*:*_0"}], "description": "Deferred functions are currently evaluated eagerly as soon as the agent starts applying the catalog. This ticket is to see if deferred functions can be resolved lazily as they are needed. See PUP-9323 for details. A previous attempt was made in https://github.com/puppetlabs/puppet/pull/7254", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24648", "fixedVersions": [], "id": "24648", "issueType": "Task", "key": "PUP-11506", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Done", "resolutionDate": "2022-04-26T19:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Spike lazy evaluation of deferred functions", "timeSpent": "PT0S", "updated": "2022-04-26T20:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Technically, puppet is behaving correctly. The same array object is referenced in multiple times and {{to_yaml}} produced valid YAML, preserving the fact that the same array object was emitted 3 times. Some yaml bindings allow the behavior to be altered, such PyYAML's {{ignore_aliases}} https://github.com/yaml/pyyaml/blob/8cdff2c80573b8be8e8ad28929264a913a63aa33/lib/yaml/representer.py#L131 This post goes into more detail: https://ttl255.com/yaml-anchors-and-aliases-and-how-to-disable-them/ The other option is to deep clone the object, which {{flatten}} is effectively doing, but only the caller really knows if the object can be deep cloned.", "created": "2022-04-12T15:10:00.000000"}], "components": [], "created": "2022-04-12T10:23:00.000000", "creator": "557058:054fa98a-5e29-48e7-aeca-d5542926f8ba", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@ee07be0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0focu:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Apr/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_13747017_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 6/7*\n\nI wasn't sure where to file this, but I encountered some unexpected behaviour today.\n\nGiven the following puppet code\n{code:puppet}$array = [  'one',  'two',  'three']\n\nnotice(\n  {\n    'foo'    => $array,\n    'bar'    => $array,\n    'foobar' => $array,\n  }.to_yaml\n)\n\n# These `flatten`s look superfluous, but aren't\n\nnotice(\n  {\n    'foo'    => $array.flatten,\n    'bar'    => $array.flatten,\n    'foobar' => $array.flatten,\n  }.to_yaml\n) {code}\nI'd expect to notice the same YAML being output.\u00a0 Instead, in the version where I don't, (seemingly randomly call `flatten`), I get yaml with anchors (which I happen not to like).\n\nie\u00a0\n{noformat}\u276f puppet apply -t test.pp\nInfo: Loading facts\nNotice: Scope(Class[main]): ---\nfoo: &1\n- one\n- two\n- three\nbar: *1\nfoobar: *1\n\nNotice: Scope(Class[main]): ---\nfoo:\n- one\n- two\n- three\nbar:\n- one\n- two\n- three\nfoobar:\n- one\n- two\n- three\n{noformat}\nWhilst I understand that there's an issue with values being passed to the to_yaml function by reference and `flatten` gets around this by creating 3 new objects, I don't feel this meets the [https://en.wikipedia.org/wiki/Principle_of_least_astonishment] test.\n\nI don't think it's documented anywhere that _puppet_ variables can act this way with functions.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23512", "fixedVersions": [], "id": "23512", "issueType": "Bug", "key": "PUP-11505", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:054fa98a-5e29-48e7-aeca-d5542926f8ba", "resolution": "Won't Do", "resolutionDate": "2022-04-12T14:12:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Unexpected results using stdlib's to_yaml with data containing repeated variables", "timeSpent": "PT0S", "updated": "2022-04-12T15:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2022-04-12T09:10:00.000000", "creator": "61af86343618cd006f430854", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Compilations don't error with deferred functions"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@14cb719c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fi0m:9i"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Before this fix, it was not possible to compile a catalog that used a `Deferred` value for a typed parameter class; the compiler would error with a message stating that the type expected did not match `Deferred`.  With this fix, the compiler will inspect the Deferred class's return type and ensure it matches the class parameter type. If the Deferred function has no return type, the compiler will warn that it cannot guarantee the type will adhere to the type the class specifies."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/May/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_93539300_*|*_1_*:*_1_*:*_3215325_*|*_10007_*:*_1_*:*_438927818_*|*_3_*:*_1_*:*_2326473590_*|*_10009_*:*_1_*:*_3682363_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_175761669"}], "description": "Usage of a deferred function will fail compilation when used as typed parameter value when requiring a class. The compiler will error on a mismatch of the parameter type and the yet-to-be-resolved deferred function.\n\nFunctions can have their return type specified, which can then be tested to match the parameter type. Many functions do not specify their return_type though, so in that scenario the compiler should clearly warn that the compiler cannot guarantee the correctness of the return value of the function.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25553", "fixedVersions": ["PUP 7.17.0"], "id": "25553", "issueType": "Story", "key": "PUP-11518", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": "15878", "parentSummary": "Deferred functions can handle secrets", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af86343618cd006f430854", "resolution": "Fixed", "resolutionDate": "2022-05-17T14:04:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "remove compiler errors for deferred function mismatched types", "timeSpent": "PT0S", "updated": "2022-05-23T10:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "Can you try reproducing the issue with 6.26 and let us know if that still exists", "created": "2022-04-12T14:14:00.000000"}, {"author": "61ba0348acc926006a06fc59", "body": "[~accountid:557058:4786f794-5167-4041-b3c0-deb1e8ba3438] I am scheduling a PE update with the customer", "created": "2022-04-19T00:36:00.000000"}, {"author": "61ba0348acc926006a06fc59", "body": "Closed. Duplicate.", "created": "2022-08-30T06:45:00.000000"}], "components": ["Hiera & Lookup"], "created": "2022-04-08T07:17:00.000000", "creator": "61ba0348acc926006a06fc59", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2d23c48"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master Config", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Monolithic"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "CentOS 7"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fnau:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Apr/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_370630114_*|*_6_*:*_2_*:*_16539602673_*|*_10004_*:*_1_*:*_12068999483"}], "description": "*Puppet Version:* 6.25.1\n*Puppet Server* Version: PE 2019.8.9\n*OS Name/Version:* CentOS 7\n\n*Desired Behavior:* puppet lookup on shell is working\n\n*Actual Behavior:*\n\nAt a client I was replacing legacy facts and global variables in the hiera.yaml where this was possible. The client still uses a centralized hiera.yaml, instead of a hiera.yaml per environment.\n\nThe hiera.yaml includes a reference to the environment in the datadir:\n{code:java}\nversion: 5\ndefaults:\n  datadir: /etc/puppetlabs/code/%{::environment}/modules/hiera{code}\n\u00a0\n\nThis is working fine. Also with puppet lookup\u00a0 and --compile parameter on the commandline.\n\n\u00a0\n\nChanging this to:\u00a0\n{code:java}\nversion: 5\ndefaults:\ndatadir: /etc/puppetlabs/code/%{server_facts.environment}/modules/hiera {code}\n\u00a0\n\nhas a different outcome:\n\npuppetserver still working fine.\n\npuppet lookup\u00a0 with --compile on the commandline throwing issue value for parameter not found. After reverting the change it's fine again.\n\nThe manpage describes server_facts should be resolvable:\n\nhttps://puppet.com/docs/puppet/7/man/lookup.html#options\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22405", "fixedVersions": [], "id": "22405", "issueType": "Bug", "key": "PUP-11504", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61ba0348acc926006a06fc59", "resolution": "Duplicate", "resolutionDate": "2023-03-09T16:05:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "puppet lookup fails with server_facts in hiera.yaml", "timeSpent": "PT0S", "updated": "2023-03-09T16:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a1beb0b007eb21a79e5d6de", "attachments": [], "comments": [], "components": ["Types and Providers"], "created": "2022-04-04T21:33:00.000000", "creator": "6220dbae4160640069c71374", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Should be able to install an exe on windows from a HTTP url"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4c449b04"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0c638:i"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": " Summary:\nPuppet supports installing .exe packages using https as a package source. For example:\npackage { 'mysql':\n  ensure => '5.5.16',\n  source => 'https://example.com/packages/mysql-5.5.16-winx64.exe&#39;,\n  install_options => ['INSTALLDIR=C:\\mysql-5.5'],\n}"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "47955"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Apr/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_343428202_*|*_1_*:*_1_*:*_665321983_*|*_10007_*:*_1_*:*_192834515_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_684924676"}], "description": "This ticket is an extended request to https://puppet.atlassian.net/browse/PUP-3317. Please include it in LTS 2019.8.10\n\nThank you.\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27738", "fixedVersions": ["PUP 6.28.0"], "id": "27738", "issueType": "Improvement", "key": "PUP-11502", "labels": ["docs_reviewed", "jira_escalated", "source", "type_and_provider", "windows"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6220dbae4160640069c71374", "resolution": "Fixed", "resolutionDate": "2022-04-26T17:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Backport Extend Package Source to include HTTP Urls (Windows)", "timeSpent": "PT0S", "updated": "2022-07-25T10:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T10:58:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7fceb042"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11491"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fhxq:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2413834342_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-04-12)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2022-04-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "21435", "fixedVersions": [], "id": "21435", "issueType": "Task", "key": "PUP-11500", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20334", "parentSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-04-27T09:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 7.16.0)", "timeSpent": "PT0S", "updated": "2022-04-27T09:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T10:58:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2ebf4218"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11491"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fhxi:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2413824528_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-04-12)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.descriptions\n", "duedate": "2022-04-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "20335", "fixedVersions": [], "id": "20335", "issueType": "Task", "key": "PUP-11499", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20334", "parentSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-04-27T09:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 7.16.0)", "timeSpent": "PT0S", "updated": "2022-04-27T09:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T10:58:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@52c6119e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11491"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fhxa:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_13810_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2413800755"}], "description": "(Initial planned release date: 2022-04-12)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 7.16.0 is now available\"\n", "duedate": "2022-04-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "29856", "fixedVersions": [], "id": "29856", "issueType": "Task", "key": "PUP-11498", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20334", "parentSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-04-27T09:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Send release announcement (Puppet Platform 7.16.0)", "timeSpent": "PT0S", "updated": "2022-04-27T09:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T10:58:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@328cbf7c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11491"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fhwu:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1821139532_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-04-12)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2022-04-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "27737", "fixedVersions": [], "id": "27737", "issueType": "Task", "key": "PUP-11497", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20334", "parentSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-04-20T12:50:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 7.16.0)", "timeSpent": "PT0S", "updated": "2022-04-20T12:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T10:58:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@53e65073"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11491"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fhwm:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2413787370_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-04-12)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2022-04-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "26607", "fixedVersions": [], "id": "26607", "issueType": "Task", "key": "PUP-11496", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20334", "parentSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-04-27T09:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 7.16.0)", "timeSpent": "PT0S", "updated": "2022-04-27T09:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T10:58:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@b9cda9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11491"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fhw6:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1821164558_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-04-12)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:60e4906e4134aa006931a5d6] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2022-04-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "24646", "fixedVersions": [], "id": "24646", "issueType": "Task", "key": "PUP-11495", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20334", "parentSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-04-20T12:50:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare release announcement (Puppet Platform 7.16.0)", "timeSpent": "PT0S", "updated": "2022-04-20T12:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T10:58:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@324e0580"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11491"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fhvy:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1821180595_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-04-12)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2022-04-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "23510", "fixedVersions": [], "id": "23510", "issueType": "Task", "key": "PUP-11494", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20334", "parentSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-04-20T12:51:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 7.16.0)", "timeSpent": "PT0S", "updated": "2022-04-20T12:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T10:58:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1ad6f8c8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11491"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fhvq:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2413793261_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-04-12)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2022-04-06T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "22404", "fixedVersions": [], "id": "22404", "issueType": "Task", "key": "PUP-11493", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20334", "parentSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-04-27T09:27:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 7.16.0)", "timeSpent": "PT0S", "updated": "2022-04-27T09:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T10:58:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@72e1dc92"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11491"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fhvi:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2413783971_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-04-12)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 7.16.0 and puppet-agent 7.16.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2022-04-06T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "21434", "fixedVersions": [], "id": "21434", "issueType": "Task", "key": "PUP-11492", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20334", "parentSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-04-27T09:27:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 7.16.0)", "timeSpent": "PT0S", "updated": "2022-04-27T09:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T10:57:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Phoenix"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3cfb9a21"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-10"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 7.16.0 Release - 2022-04-12"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "blue"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0e42u:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4332733599_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 7.16.0 Release - 2022-04-12", "duedate": "2022-04-12T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20334", "fixedVersions": [], "id": "20334", "issueType": "Epic", "key": "PUP-11491", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-05-19T14:30:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet Platform 7.16.0 Release - 2022-04-12", "timeSpent": "PT0S", "updated": "2022-05-19T14:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T10:53:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7edbe27f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11481"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fhq6:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2413792884_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-04-12)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2022-04-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "26604", "fixedVersions": [], "id": "26604", "issueType": "Task", "key": "PUP-11490", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24642", "parentSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-04-27T09:23:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 6.27.0)", "timeSpent": "PT0S", "updated": "2022-04-27T09:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T10:53:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@453e44b7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11481"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fhpy:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2413781255_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-04-12)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.descriptions\n", "duedate": "2022-04-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "25551", "fixedVersions": [], "id": "25551", "issueType": "Task", "key": "PUP-11489", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24642", "parentSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-04-27T09:23:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 6.27.0)", "timeSpent": "PT0S", "updated": "2022-04-27T09:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T10:53:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@342e6a1a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11481"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fhpq:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_16672_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2413721460"}], "description": "(Initial planned release date: 2022-04-12)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 6.27.0 is now available\"\n", "duedate": "2022-04-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "24644", "fixedVersions": [], "id": "24644", "issueType": "Task", "key": "PUP-11488", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24642", "parentSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-04-27T09:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Send release announcement (Puppet Platform 6.27.0)", "timeSpent": "PT0S", "updated": "2022-04-27T09:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T10:53:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@56443662"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11481"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fhpa:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1821501692_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-04-12)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2022-04-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "22403", "fixedVersions": [], "id": "22403", "issueType": "Task", "key": "PUP-11487", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24642", "parentSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-04-20T12:51:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 6.27.0)", "timeSpent": "PT0S", "updated": "2022-04-20T12:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T10:52:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@126e3e6b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11481"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fhou:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2413729551_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-04-12)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2022-04-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "20333", "fixedVersions": [], "id": "20333", "issueType": "Task", "key": "PUP-11486", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24642", "parentSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-04-27T09:21:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 6.27.0)", "timeSpent": "PT0S", "updated": "2022-04-27T09:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T10:52:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@79632f46"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11481"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fhoe:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1821526835_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-04-12)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:60e4906e4134aa006931a5d6] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2022-04-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "28747", "fixedVersions": [], "id": "28747", "issueType": "Task", "key": "PUP-11485", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24642", "parentSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-04-20T12:51:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare release announcement (Puppet Platform 6.27.0)", "timeSpent": "PT0S", "updated": "2022-04-20T12:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T10:52:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7325cdc0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11481"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fho6:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1821543731_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_5855"}], "description": "(Initial planned release date: 2022-04-12)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2022-04-03T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "27736", "fixedVersions": [], "id": "27736", "issueType": "Task", "key": "PUP-11484", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24642", "parentSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-04-20T12:51:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 6.27.0)", "timeSpent": "PT0S", "updated": "2022-04-20T12:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T10:52:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@60869de4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11481"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fhny:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2413732762_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-04-12)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2022-04-01T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "26600", "fixedVersions": [], "id": "26600", "issueType": "Task", "key": "PUP-11483", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24642", "parentSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-04-27T09:21:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 6.27.0)", "timeSpent": "PT0S", "updated": "2022-04-27T09:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T10:52:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@8f2bb45"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11481"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fhnq:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2413718741_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-04-12)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 6.27.0 and puppet-agent 6.27.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2022-04-01T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "25549", "fixedVersions": [], "id": "25549", "issueType": "Task", "key": "PUP-11482", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24642", "parentSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-04-27T09:21:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 6.27.0)", "timeSpent": "PT0S", "updated": "2022-04-27T09:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T10:52:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Phoenix"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@306b537f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-8"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 6.27.0 Release - 2022-04-12"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_purple"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0e42s:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2952350359_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 6.27.0 Release - 2022-04-12", "duedate": "2022-04-12T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24642", "fixedVersions": [], "id": "24642", "issueType": "Epic", "key": "PUP-11481", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-05-03T14:58:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Platform 6.27.0 Release - 2022-04-12", "timeSpent": "PT0S", "updated": "2022-05-06T17:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "Ruby doesn't support it and we currently don't have plans to add it.", "created": "2022-03-29T14:05:00.000000"}], "components": [], "created": "2022-03-23T06:28:00.000000", "creator": "557058:89116718-adb8-45d4-bcd9-1483be79f43a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@396f3805"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fc5a:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Mar/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_545808351_*|*_6_*:*_1_*:*_0"}], "description": "The [BLAKE2|https://www.blake2.net/] family of cryptographic hash algorithms outperforms SHA2/3 by a factor of 2 (according to my tests with a 267M file) while at the same time claiming to be as secure.\n\nIt would thus be nice to have support for it in the file resource.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28745", "fixedVersions": [], "id": "28745", "issueType": "Improvement", "key": "PUP-11479", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:89116718-adb8-45d4-bcd9-1483be79f43a", "resolution": "Won't Fix", "resolutionDate": "2022-03-29T14:05:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Support for BLAKE2 checksums", "timeSpent": "PT0S", "updated": "2022-03-29T14:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Thanks for the detailed report. The problem is due to the way puppet keeps track of \"regex\" types of node names [here|https://github.com/puppetlabs/puppet/blob/660c31118fbb34d291a220539dbeb306149f368d/lib/puppet/resource/type.rb#L196]. Both regexp are normalized to the same string:\n\n{noformat}\nirb(main):005:0> @name = /(?<!a)sync/\n=> /(?<!a)sync/\nirb(main):006:0> \"__node_regexp__#{@name.source.downcase.gsub(/[^-\\w:.]/,'').sub\n(/^\\.+/,'')}\"\n=> \"__node_regexp__async\"\nirb(main):007:0> @name = /async/\n=> /async/\nirb(main):008:0> \"__node_regexp__#{@name.source.downcase.gsub(/[^-\\w:.]/,'').sub\n(/^\\.+/,'')}\"\n=> \"__node_regexp__async\"\n{noformat}\n\nOne simple fix is to specify \"async\" as a string and not a regex:\n\n{code:puppet}\nnode /(?<!a)sync/ {\n  ...\n}\nnode async {\n  ...\n}\n{code}", "created": "2022-04-22T17:14:00.000000"}, {"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "[~accountid:5a8f73ef899ddd34fb11b8ae] we'll accept a PR if you want to work on this, we currently don't have plans to address this.", "created": "2022-04-26T14:54:00.000000"}], "components": [], "created": "2022-03-20T12:42:00.000000", "creator": "5a8f73ef899ddd34fb11b8ae", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1f4fcf8a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0faly:"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "50332"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Apr/22"}], "description": "*Puppet Version:* 7.14.0\n*Puppet Server Version:* 7.6.0\n*OS Name/Version:* Ubuntu 20.04.4 LTS\n\nFrom what I understand after reading [the documentation|https://puppet.com/docs/puppet/7/lang_node_definitions.html#lang_node_definitions-matching], the order in which the node definitions using regex are checked is nondeterministic; definitions cannot be reordered in `site.pp` to ensure `/async/` is checked before `/sync/` so `/sync/` doesn't capture both 'sync' and 'async'. If that's correct, negative lookbehind should be a possible solution to getting the expected matches, but that is not the case.\n\nNode definitions:\n{code:java}# site.pp\nnode /(?<!a)sync/ {\n\u00a0 \u00a0 exec { 'capture':\n\u00a0 \u00a0 \u00a0 \u00a0 command => ['/bin/echo', $0],\n\u00a0 \u00a0 }\n}\n\nnode /async/ {\n\u00a0 \u00a0 exec { 'capture':\n\u00a0 \u00a0 \u00a0 \u00a0 command => ['/bin/echo', $0],\n\u00a0 \u00a0 }\n}\n\nnode default {}{code}\nErrors:\n{code:java}root@sync:/# puppet agent -t\nInfo: Using environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Node '__node_regexp__async' is already defined (file: /etc/puppetlabs/code/environments/production/manifests/site.pp, line: 2); cannot redefine (file: /etc/puppetlabs/code/environments/production/manifests/site.pp, line: 10) on node sync\nWarning: Not using cache on failed catalog\nError: Could not retrieve catalog; skipping run\n\n-----\n\nroot@async:~# puppet agent -t\nInfo: Using environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Node '__node_regexp__async' is already defined (file: /etc/puppetlabs/code/environments/production/manifests/site.pp, line: 2); cannot redefine (file: /etc/puppetlabs/code/environments/production/manifests/site.pp, line: 8) on node async\nWarning: Not using cache on failed catalog\nError: Could not retrieve catalog; skipping run{code}\nRuby code showing the desired effect:\n{code:java}/(?<!a)sync/.match('async') #\n/(?<!a)sync/.match('sync') \u00a0# sync\n/async/.match('async') \u00a0 \u00a0 \u00a0# async\n/async/.match('sync') \u00a0 \u00a0 \u00a0 # {code}\nI checked that the regex only captures 'sync', as expected with negative lookbehind, after commenting out the `/async/` node definition.\n{code:java}root@sync:/# puppet agent -t --debug | grep capture\nDebug: Exec[capture](provider=posix): Executing '[\"/bin/echo\", \"sync\"]'\nNotice: /Stage[main]/Main/Node[__node_regexp__async]/Exec[capture]/returns: executed successfully\nDebug: /Stage[main]/Main/Node[__node_regexp__async]/Exec[capture]: The container Node[__node_regexp__async] will propagate my refresh event\n{code}\n**\n\n*Desired Behavior:*\n\nNegative lookbehind should allow for overlapping patterns when matching nodes to definitions.\n\n*Actual Behavior:*\n\nNegative lookbehind causes \"Node definition already defined\" errors.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23507", "fixedVersions": [], "id": "23507", "issueType": "Bug", "key": "PUP-11515", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a8f73ef899ddd34fb11b8ae", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Negative Lookbehind Regex Causes Duplicate Node Definition Errors", "timeSpent": "PT0S", "updated": "2022-12-07T18:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Puppet's behavior with symlinks depends on the {{ensure}} property and {{links}} parameter, see https://puppet.com/docs/puppet/6/types/file.html#file-attribute-links. In order to have puppet agent follow the link, you'll need to set:\n\n{code:puppet}\nfile { '/path/to/file.v5':\n  ensure   => file\n  mode    => '0775',\n  links => follow,\n  source  => 'puppet:///installation_files/path/to/actual_file.v5',\n}\n{code}", "created": "2022-03-28T13:56:00.000000"}, {"author": "557058:d6b60b05-5517-4e3d-b888-2c76e9f5f74e", "body": "thanks [~accountid:63d40628f6e1b543161789a7] for clarify my mistake in not setting the links=> follow parameter", "created": "2022-03-28T14:01:00.000000"}], "components": [], "created": "2022-03-18T11:31:00.000000", "creator": "557058:d6b60b05-5517-4e3d-b888-2c76e9f5f74e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27102457"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fah2:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Mar/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_355105418_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_517591097"}], "description": "*Puppet Version:* 6.26.0-1focal\n*Puppet Server Version:* 6.18.0-1focal\n*OS Name/Version:* Ubuntu 20.04\n\nDescribe your issue in as much detail as possible\u2026\n\nmount point content\n{noformat}\njason@puppet01:/installation_files/path/to/$ ll\n-r--r----- 1 puppet          it  184 Mar 16 11:41 actual_file.v5\nlrwxrwxrwx 1 jason           it   38 Mar 16 11:44 symlink -> actual_file.v5\n{noformat}\n\nmanifest with symlink that doesnt work\n{noformat}\n  file { '/path/to/file.v5':\n    ensure   => file\n    mode    => '0775',\n    source  => 'puppet:///installation_files/path/to/symlink',\n  }\n{noformat}\npuppet agent output\n\n{noformat}\nroot@node01:/usr/local/stuff/project# pnoop\nInfo: Using environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Loading facts\nInfo: Applying configuration version '1647459851'\nNotice: /Stage[main]/Mm::Mercury::project/File[/usr/local/mercury/project/license.v5]/ensure: current_value 'file', should be 'link' (noop)\nNotice: Class[Mm::Mercury::project]: Would have triggered 'refresh' from 1 event\nNotice: Stage[main]: Would have triggered 'refresh' from 1 event\nNotice: Applied catalog in 20.54 seconds\n{noformat}\nnotice in above that puppet tries to convert the file to a symlink, even though ensure file is set\n\nworking manifest without symlink\n{noformat}\n  file { '/path/to/file.v5':\n   ensure   => file\n    mode    => '0775',\n    source  => 'puppet:///installation_files/path/to/actual_file.v5',\n  }\n{noformat}\npuppet agent output\n{noformat}\nInfo: Using environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Loading facts\nInfo: Applying configuration version '1647459798'\nNotice: Applied catalog in 19.57 seconds\n{noformat}\n\nDescribe steps to reproduce\u2026\ncreate a server mount point, inside which place a file and a symlink pointing to the file\ndeploy the file to a server using puppet\nupdate the puppet configuration to deploy the file via symlink\npuppet deploys the symlink not the linked file\n\n*Desired Behavior:*\nsymlinks within puppetserver mountpoints should work correctly\n\n*Actual Behavior:*\npuppet deploys the symlink not the file the symlink points to.\n\nPlease take a moment and attach any relevant log output and/or manifests. This will help us immensely when troubleshooting the issue.\n\nExamples:\nRun puppet agent with --test --trace --debug\n\nRelevant sections of {{/var/log/puppetlabs/puppetserver/puppetserver.log}} or any applicable logs from the same directory.\n\nFor more detailed information turn up the server logs by upping the log level in the server's logback.xml\n\nRelevant sections of configurations files (puppet.conf, hiera.conf, Server's conf.d, defaults/sysconfig)\n\nFor memory issues with server heap dumps are also helpful.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28743", "fixedVersions": [], "id": "28743", "issueType": "Bug", "key": "PUP-11478", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:d6b60b05-5517-4e3d-b888-2c76e9f5f74e", "resolution": "Incomplete", "resolutionDate": "2022-03-28T13:56:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "puppet server mount points do not follow symlinks", "timeSpent": "PT0S", "updated": "2022-03-28T14:01:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [{"author": "60e4906e4134aa006931a5d6", "body": "This has been fixed in both 7.12.1 and 6.25.1. In the future, if an issue fixes a CVE, it's best to include that in the release notes field for the issue. Thanks!", "created": "2022-03-15T21:57:00.000000"}], "components": ["Docs"], "created": "2022-03-10T02:06:00.000000", "creator": "623a4603761efb0069cd34da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@67ff87bd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0f2hy:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Mar/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_499870403_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.26.0*\n*Puppet Server Version: 6.18.0*\n*OS Name/Version: 20.04*\n\nWe've upgraded our Puppet Agents and Puppetservers to 6.26.0 and 6.18.0, but didn't upgrade PuppetDB. PuppetDB stayed at 6.13.1. This broke catalog imports into PuppetDB.\n\n*Desired Behavior:*\n\nAdd a warning into the Puppet Agent Changelog that PuppetDB *must* be upgraded as well. \n\n*Actual Behavior:*\n\nPuppet Agent Changelog doesn't mention *anything* about a CVE being fixed _nor_ does it mention the dependency to the PuppetDB update.\n\nThis is only mentioned in the PuppetDB 6.19.1 changelog -> https://puppet.com/docs/puppetdb/6/release_notes.html#puppetdb-6191", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20332", "fixedVersions": ["PUP 6.25.1", "PUP 7.12.1"], "id": "20332", "issueType": "Bug", "key": "PUP-11477", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4603761efb0069cd34da", "resolution": "Fixed", "resolutionDate": "2022-03-15T21:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Add Security fixes to 6.25.1 and 7.12.1 release notes ", "timeSpent": "PT0S", "updated": "2022-03-15T21:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:70121:575da61e-020a-49e0-88fc-dd2fd7e7f1d5] Yes that makes sense, could you submit a PR?", "created": "2022-03-08T14:30:00.000000"}, {"author": "70121:575da61e-020a-49e0-88fc-dd2fd7e7f1d5", "body": "Yeah let me see if I can put something together for that.\u00a0 Thanks for taking a look", "created": "2022-03-08T16:16:00.000000"}, {"author": "70121:575da61e-020a-49e0-88fc-dd2fd7e7f1d5", "body": "Submitted [https://github.com/puppetlabs/puppet/pull/8895] - Thanks again for looking this over!", "created": "2022-03-13T19:35:00.000000"}, {"author": "557058:79f2fdd6-baee-43c4-91af-c7e647173c95", "body": "Thanks for the contribution [~accountid:70121:575da61e-020a-49e0-88fc-dd2fd7e7f1d5], merged your PR into main. ", "created": "2022-04-21T11:07:00.000000"}], "components": ["Types and Providers"], "created": "2022-03-08T12:15:00.000000", "creator": "70121:575da61e-020a-49e0-88fc-dd2fd7e7f1d5", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@16df94e3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Community Contributors", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "jplindquist"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2q2v:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Yum provider now accepts disablerepo, enablerepo, disableexcludes install options if a range is specified. "}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Mar/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_363025954_*|*_1_*:*_1_*:*_7120899_*|*_10007_*:*_1_*:*_2323913625_*|*_10009_*:*_1_*:*_22450_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_7489716_*|*_10005_*:*_1_*:*_1455313052"}], "description": "*Puppet Version:* 7.14.0\n*Puppet Server Version:* N/A\n*OS Name/Version:* CentOS 7\n\nThe yum provider does not appear to pass in the install_options (disablerepo, enablerepo, disableexcludes) when listing available packages if a version range is specified\n\nhttps://github.com/puppetlabs/puppet/blob/7.14.0/lib/puppet/provider/package/yum.rb#L228-L231\n\n\n\nWe have a custom / internal repo which has excludes enabled so packages are not updated during normal patching, but use install options to ensure the package is present during initial configurations, and would like to be able to use the version ranges to specify a minimum version to upgrade to when code is changed as well.\n\n*Desired Behavior:* The provider properly appends the install_options to the yum list command like it does with update and other commands currently\n\ni.e.\n{code:java}\n// Pseudo Example\nyumrepo { \"myrepofile\":\n  ensure  => present,    \n  name    => \"myrepofile\",\n  descr   => \"myrepofile\",\n  baseurl => \"https://my.repo.file\",\n  enabled => '1',\n  exclude => 'mypackage*',\n}\n\npackage { 'mypackage':\n  ensure          => \">=1.2.3\",\n  install_options => [     \n    {\n      '--disableexcludes' => \"myrepofile\"\n    },\n  ],\n}{code}\n\u00a0\n{code:java}\n/usr/bin/yum list <package> --showduplicates --disableexcludes=<repo> | sed -e '1,/Available Packages/ d' | awk '{print $2}'{code}\nSample of where this is currently done during check-update: https://github.com/puppetlabs/puppet/blob/7.14.0/lib/puppet/provider/package/yum.rb#L109-L115\n\n\u00a0\n\n*Actual Behavior:* \n\nAvailable versions are listed without {_}disablerepo{_}, {_}enablerepo{_}, _disableexcludes_ from _install_options_ that are necessary to properly list all available updates.\n\n\u00a0\n{code:java}\n/usr/bin/yum list <package> --showduplicates | sed -e '1,/Available Packages/ d' | awk '{print $2}'{code}\nResulting in no available packages from _myrepofile_ because it is excluded by default\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28741", "fixedVersions": ["PUP 7.17.0"], "id": "28741", "issueType": "Bug", "key": "PUP-11475", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:575da61e-020a-49e0-88fc-dd2fd7e7f1d5", "resolution": "Fixed", "resolutionDate": "2022-04-25T15:56:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Yum Provider Does Not Properly Update Package Using Version Range and Install Options", "timeSpent": "PT0S", "updated": "2022-05-23T10:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "6220dbd415521d00726b0564", "created": "2022-03-02T14:47:00.000000", "name": "testnode-12daf5-0.us-west1-c.c.customer-support-scratchpad.internal.json", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11501"}], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "We decided to close this given it only occurs once and automatically resolves itself when the agent next runs.", "created": "2022-03-28T13:43:00.000000"}], "components": ["Catalog Application"], "created": "2022-03-02T13:59:00.000000", "creator": "6220dbd415521d00726b0564", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2155498d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master Config", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Monolithic"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "CentOS 7"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0esq6:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Mar/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_599066642_*|*_6_*:*_2_*:*_8671991491_*|*_10005_*:*_2_*:*_303486545"}], "description": "*Puppet Version:* Upgrade of Puppet agent from 6.4.2 to 6.25.1\u00a0\u00a0\n*Puppet Server Version:*\u00a06.25.1\n*OS Name/Version:* reproduced behavior on Centos7\n\nDescribe steps to reproduce:\nStandard install of 2019.1.0 and enable `use_cached_catalog` on an agent node\n\n```\n[agent]\nuse_cached_catalog = true\n```\n\nUpgrade PE to 2019.8.9 and next, upgrade the agent using the puppet_agent module and Run Puppet via the Orchestrator to update the node from 6.4.2 to 6.25.1. The steps follow these instructions [https://puppet.com/docs/pe/2019.8/upgrading_agents.html#upgrade_agents_using_the_puppet_agent_module]\n\u00a0except run Puppet via the Orhcestrator in the console.\u00a0\nThen, run Puppet using the cached catalog on the agent `puppet agent -t` to result in `Error: Failed to apply catalog: Got nil value for name`\n\n```\n[root@testnode ~]# puppet --version\n6.4.2\n[root@testnode ~]# puppet --version\n6.25.1\n[root@testnode~]# puppet agent -t --trace\nInfo: Using cached catalog from environment 'production'\nInfo: Using environment 'production'\nInfo: Loading facts\nError: Failed to apply catalog: Got nil value for name\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type.rb:687:in `[]='\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/component.rb:24:in `[]='\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type.rb:2522:in `set_name'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type.rb:2445:in `initialize'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/component.rb:31:in `initialize'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource.rb:533:in `new'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource.rb:533:in `to_ral'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:623:in `block in to_catalog'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:615:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:615:in `to_catalog'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:508:in `to_ral'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:118:in `block in convert_catalog'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:546:in `block in thinmark'\n/opt/puppetlabs/puppet/lib/ruby/2.5.0/benchmark.rb:308:in `realtime'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:545:in `thinmark'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:112:in `convert_catalog'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:393:in `run_internal'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:251:in `block in run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:310:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:221:in `run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:60:in `block (5 levels) in run'\n/opt/puppetlabs/puppet/lib/ruby/2.5.0/timeout.rb:93:in `block in timeout'\n/opt/puppetlabs/puppet/lib/ruby/2.5.0/timeout.rb:103:in `timeout'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:59:in `block (4 levels) in run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent/locker.rb:21:in `lock'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:53:in `block (3 levels) in run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:136:in `with_client'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:50:in `block (2 levels) in run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:101:in `run_in_fork'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:49:in `block in run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:179:in `controlled_run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:47:in `run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/agent.rb:437:in `onetime'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/agent.rb:397:in `block in run_command'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:310:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/agent.rb:393:in `run_command'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:382:in `block in run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:735:in `exit_on_fail'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:382:in `run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:143:in `run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:77:in `execute'\n/opt/puppetlabs/puppet/bin/puppet:5:in `<main>'\n```\n\nResolve the error by running puppet again via the Orchestrator to apply additional configuration\u00a0\n\n*Desired Behavior:*\u00a0Upgrading agents following these instructions [https://puppet.com/docs/pe/2019.8/upgrading_agents.html#upgrade_agents_using_the_puppet_agent_module] should require one Puppet run to complete even when `use_cached_catalog` is enabled\n\n*Actual Behavior:*\n\nRequires an additional Puppet run to remove the error message", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24640", "fixedVersions": [], "id": "24640", "issueType": "Bug", "key": "PUP-11474", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6220dbd415521d00726b0564", "resolution": "Won't Fix", "resolutionDate": "2022-06-21T10:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "puppet run after agent upgrade when use_cached_catalog is enabled results in error ", "timeSpent": "PT0S", "updated": "2022-06-21T10:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "6220db614160640069c7133a", "created": "2022-03-01T22:09:00.000000", "name": "puppetagent_trace_debug_47445-01-03-22.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11964"}], "comments": [{"author": "557058:1134d60c-31df-407a-b573-e0cfaef8865e", "body": "Radio silence from the customer for 5 months, i think we can close this. If it reopens we can look into this again and follow up with josh's command for investigation", "created": "2022-08-01T12:09:00.000000"}], "components": [], "created": "2022-03-01T21:29:00.000000", "creator": "6220db614160640069c7133a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1679bc09"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0esfy:"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "47445"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Mar/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_580750656_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_12601235033"}], "description": "This is a follow-up ticket from https://puppet.atlassian.net/browse/PUP-10898\n\n*Puppet Version: 6.22.1*\n*Puppet Server Version: PE 2019.8.5*\n*OS Name/Version: Windows Server 2016*\n\nWindows Server 2016 failed to apply catalog, please refer to the error message below for details.\n\nattached is trace debug output from the [^puppetagent_trace_debug_47445-01-03-22.log]affected agent node \n{code:java}\u001b[0;36mDebug: Could not retrieve raw SID bytes from 'Administrator': Failed to convert string SID: Administrator: \u00a0The security ID structure is invalid. \u001b[0m\n\u001b[0;36mDebug: Failed to call LookupAccountNameW with account: Administrator: \u00a0No mapping between account names and security IDs was done. \u001b[0m\n\u001b[0;36mDebug: Could not retrieve raw SID bytes from 'EC2AMAZ-NAUKKA2\\Administrator': Failed to convert string SID: EC2AMAZ-NAUKKA2\\Administrator: \u00a0The security ID structure is invalid. \u001b[0m\n\u001b[0;36mDebug: Failed to call LookupAccountNameW with account: EC2AMAZ-NAUKKA2\\Administrator: \u00a0No mapping between account names and security IDs was done. \u001b[0m\n\u001b[1;31mError: Could not send report: undefined method `bytesize' for nil:NilClass\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/api_types.rb:125:in `from_wide_string'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/api_types.rb:26:in `from_string_to_wide_string'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/sid.rb:184:in `string_to_sid_ptr'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/security.rb:431:in `add_access_allowed_ace'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/security.rb:659:in `block (7 levels) in set_security_descriptor'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/access_control_list.rb:28:in `block in each'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/access_control_list.rb:28:in `each'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/access_control_list.rb:28:in `each'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/security.rb:655:in `block (6 levels) in set_security_descriptor'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/sid.rb:192:in `block (3 levels) in string_to_sid_ptr'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/api_types.rb:94:in `read_win32_local_pointer'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/sid.rb:191:in `block (2 levels) in string_to_sid_ptr'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/sid.rb:185:in `initialize'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/sid.rb:185:in `new'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/sid.rb:185:in `block in string_to_sid_ptr'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/api_types.rb:129:in `from_wide_string'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/api_types.rb:26:in `from_string_to_wide_string'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/sid.rb:184:in `string_to_sid_ptr'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/security.rb:654:in `block (5 levels) in set_security_descriptor'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/sid.rb:192:in `block (3 levels) in string_to_sid_ptr'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/api_types.rb:94:in `read_win32_local_pointer'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/sid.rb:191:in `block (2 levels) in string_to_sid_ptr'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/sid.rb:185:in `initialize'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/sid.rb:185:in `new'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/sid.rb:185:in `block in string_to_sid_ptr'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/api_types.rb:129:in `from_wide_string'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/api_types.rb:26:in `from_string_to_wide_string'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/sid.rb:184:in `string_to_sid_ptr'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/security.rb:653:in `block (4 levels) in set_security_descriptor'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/security.rb:526:in `open_file'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/security.rb:652:in `block (3 levels) in set_security_descriptor'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/security.rb:538:in `with_privilege'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/security.rb:651:in `block (2 levels) in set_security_descriptor'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/security.rb:538:in `with_privilege'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/security.rb:650:in `block in set_security_descriptor'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/security.rb:641:in `initialize'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/security.rb:641:in `new'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/security.rb:641:in `set_security_descriptor'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/file_system/windows.rb:180:in `set_dacl'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/file_system/windows.rb:151:in `replace_file'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/file_system.rb:416:in `replace_file'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/indirector/report/yaml.rb:27:in `save'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:319:in `save'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:478:in `send_report'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:454:in `ensure in run_internal'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:455:in `run_internal'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:245:in `block (2 levels) in run'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet.rb:314:in `override'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:244:in `block in run'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet.rb:314:in `override'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:218:in `run'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:60:in `block (5 levels) in run'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/timeout.rb:93:in `block in timeout'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/timeout.rb:103:in `timeout'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:59:in `block (4 levels) in run'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/agent/locker.rb:21:in `lock'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:53:in `block (3 levels) in run'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:136:in `with_client'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:50:in `block (2 levels) in run'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:101:in `run_in_fork'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:49:in `block in run'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/application.rb:179:in `controlled_run'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:47:in `run'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/application/agent.rb:426:in `onetime'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/application/agent.rb:386:in `block in run_command'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet.rb:314:in `override'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/application/agent.rb:382:in `run_command'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/application.rb:382:in `block in run'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util.rb:735:in `exit_on_fail'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/application.rb:382:in `run'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:143:in `run'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:77:in `execute'\nC:/Program Files/Puppet Labs/Puppet/puppet/bin/puppet:4:in `<main>'\u001b {code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26597", "fixedVersions": [], "id": "26597", "issueType": "Bug", "key": "PUP-11473", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6220db614160640069c7133a", "resolution": "Declined", "resolutionDate": "2022-08-01T12:09:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Error: Failed to apply catalog: undefined method `bytesize' for nil:NilClass on WinServer 2016", "timeSpent": "PT0S", "updated": "2022-08-01T12:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61bb63041baa2b0069ef30a1", "attachments": [], "comments": [{"author": "70121:dc80eeb2-d511-41be-9926-3cda182443e4", "body": "Pull request: https://github.com/puppetlabs/puppet/pull/8888", "created": "2022-02-28T16:19:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in c0f6920887", "created": "2022-05-10T10:16:00.000000"}], "components": [], "created": "2022-02-28T16:17:00.000000", "creator": "70121:dc80eeb2-d511-41be-9926-3cda182443e4", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@51c07291"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Community Contributors", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "lollipopman"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2q2t:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "If a 3x function produces an error, the error message now includes the path to the file in which the function is defined."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/May/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_413547682_*|*_1_*:*_1_*:*_78691391_*|*_10007_*:*_2_*:*_5021231759_*|*_3_*:*_1_*:*_520277466_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_75476380"}], "description": "*Puppet Version:* main\n\n*Desired Behavior:*\n\nLegacy function errors should include the source path. For example, if you have a 3x function in module, like \"$codedir/environments/production/modules/sample/lib/puppet/parser/functions/sample.rb\" containing:\n\n{code:ruby}\nmodule Puppet::Parser::Functions\n  newfunction(:sample, :type => :rvalue, :doc => <<-EOS\n    A function using the 3x API\n  EOS\n  ) do |arguments|\n    \"the returned value\"\n  end\n\n  def method_here_is_illegal()\n  end\nend\n{code}\n\nThen puppet should return the filename where the legacy function is defined. See PUP-9294 and https://puppet.com/docs/puppet/5.5/functions_legacy.html for information about legacy (3x) function errors.\n\nFor example, the following should indicate the path and line number of the legacy function:\n\n{noformat}\n$ bundle exec puppet apply -e 'notice(sample(\"\"))'\n{noformat}\n\n*Actual Behavior:*\n\nNo source path is included, e.g.\n\n{noformat}\nruby_legacy_function_instantiator.rb:97:in `walk': Illegal method definition of method 'initialize' on line 8 in legacy function. See https://puppet.com/docs/puppet/latest/functions_refactor_legacy.html for more information (SecurityError)\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20331", "fixedVersions": ["PUP 6.28.0", "PUP 7.17.0"], "id": "20331", "issueType": "Bug", "key": "PUP-11472", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:dc80eeb2-d511-41be-9926-3cda182443e4", "resolution": "Fixed", "resolutionDate": "2022-05-10T10:18:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Legacy function error does not include the source ref", "timeSpent": "PT0S", "updated": "2022-05-23T10:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 79a6ffa87e540053f3a0f87240a996401e6bfe50", "created": "2022-03-31T21:53:00.000000"}], "components": [], "created": "2022-02-26T20:53:00.000000", "creator": "557058:8b915655-a6c3-4c09-9070-53484ff60ff3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The following code works:\n{code:java}url = 'https://example.com/file.tar.gz' # server trusted by system trust store, and demanding a client certificate signed by the puppet CA\nclient = Puppet.runtime[:http]\nclient.get(URI(url), options: { include_system_store: true }) do |response|\n \u00a0raise 'Failed to download artifact' unless response.success?\n\n \u00a0response.read_body { |data| do_something(data) }\nend{code}"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2640a71d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Community Contributors", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "smortex"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dvvj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "You can now specify an \"https\" URL as the \"source\" of a \"file\" resource when the TLS server requires a client certificate for authentication."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "48141"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Mar/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_191781614_*|*_1_*:*_1_*:*_235400327_*|*_10007_*:*_1_*:*_2349035954_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_74998416"}], "description": "On instantiation, a {{Puppet::HTTP::Client}} use a {{Puppet::SSL::Context}} to verify secure connections to remote hosts.\u00a0 The {{Puppet::SSL::Provider}} provide convenience methods to build SSL Contexts:\n # create_insecure_context: An insecure SSL Context, allowing connections to any host without verification and not allowing client certificate authentication;\n # create_root_context: A basic SSL Context trusting the passed certificates and that does not allow client certificate authentication;\n # create_system_context: A basic SSL Context trusting system certificates but not checking CRL (because they do not exist) and not allowing client certificate authentication;\n # create_context: A SSL Context suitable for communication with puppet trusting only the puppet CA, checking CRL and using client certificate authentication.\n\nNone of these SSL Context allow to download files served by a server using certificates signed by a trusted third-party (system store) but with client certificate authentication.\u00a0 We use this scheme to distribute files to our puppet nodes from servers which use standard TLS certificates provided by Let's Encrypt: the certificate is trusted in the system store, but we also require a client certificate signed by our Puppet CA for the client to download files (our rationale is we want to use \"standard\" certificates to allow access to the files with either login+password or a trusted client certificate, and the code being used by Bolt, it is convenient to rely on Puppet::HTTP::Client to download these files).\n\nThis issue is about making it possible for the base Puppet HTTP Client to generate a SSL Context suitable for this kind of usages:\n # Verify remote host against system trusted CA;\n # Do not enforce CRL check because there is none for the system trust store;\n # Authenticate using puppet node certificate.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23504", "fixedVersions": ["PUP 6.27.0", "PUP 7.16.0"], "id": "23504", "issueType": "Improvement", "key": "PUP-11471", "labels": ["docs_reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8b915655-a6c3-4c09-9070-53484ff60ff3", "resolution": "Fixed", "resolutionDate": "2022-03-31T21:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Allow Puppet::HTTP::Client to connect to server trusted by the system trust store using the puppet certificate for client authentification", "timeSpent": "PT0S", "updated": "2022-04-26T12:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "There is another ticket filed around the same issue, please follow PUP-11471 for updates.", "created": "2022-03-01T14:16:00.000000"}], "components": [], "created": "2022-02-24T09:48:00.000000", "creator": "557058:7e524d50-cfa9-44c1-9d72-f30ab841ddf9", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@bcaa323"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0en52:"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "46993"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Mar/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_448113155_*|*_6_*:*_1_*:*_0"}], "description": "Currently, `include_system_store: true` doesn't provide mutual TLS authentication with 3rd parties and some customers require it for system provisioning work flow.\n\n~* Please see Zendesk Support tab for further comments and attachments.~", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27735", "fixedVersions": [], "id": "27735", "issueType": "Improvement", "key": "PUP-11470", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6220db9494f7e20069fe964a", "resolution": "Duplicate", "resolutionDate": "2022-03-01T14:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Need to provide client cert authentication for `include_system_store: true`", "timeSpent": "PT0S", "updated": "2022-03-18T10:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-02-22T17:14:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@69946e3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11460"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0elza:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_786942_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_572154101"}], "description": "(Initial planned release date: 2022-03-15)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2022-03-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "estimate": "PT0S", "externalId": "27734", "fixedVersions": [], "id": "27734", "issueType": "Task", "key": "PUP-11469", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26589", "parentSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-03-01T08:23:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 7.15.0)", "timeSpent": "PT0S", "updated": "2022-03-01T08:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-02-22T17:14:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7093adae"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11460"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0elz2:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_783388_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2487227427"}], "description": "(Initial planned release date: 2022-03-15)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.descriptions\n", "duedate": "2022-03-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "estimate": "PT0S", "externalId": "26592", "fixedVersions": [], "id": "26592", "issueType": "Task", "key": "PUP-11468", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26589", "parentSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-03-23T13:21:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 7.15.0)", "timeSpent": "PT0S", "updated": "2022-03-23T13:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-02-22T17:14:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@fdb35f6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11460"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0elyu:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_13818_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2496520292"}], "description": "(Initial planned release date: 2022-03-15)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 7.15.0 is now available\"\n", "duedate": "2022-03-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "estimate": "PT0S", "externalId": "25547", "fixedVersions": [], "id": "25547", "issueType": "Task", "key": "PUP-11467", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26589", "parentSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-03-23T15:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Send release announcement (Puppet Platform 7.15.0)", "timeSpent": "PT0S", "updated": "2022-03-23T15:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-02-22T17:14:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@281ec7f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11460"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0elye:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_594531878_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1893462891"}], "description": "(Initial planned release date: 2022-03-15)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2022-03-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "estimate": "PT0S", "externalId": "23503", "fixedVersions": [], "id": "23503", "issueType": "Task", "key": "PUP-11466", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26589", "parentSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-03-23T13:21:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 7.15.0)", "timeSpent": "PT0S", "updated": "2022-03-23T13:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-02-22T17:14:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@540b211f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11460"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ely6:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_774394_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_49095_*|*_10005_*:*_1_*:*_2390075485"}], "description": "(Initial planned release date: 2022-03-15)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2022-03-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "estimate": "PT0S", "externalId": "22402", "fixedVersions": [], "id": "22402", "issueType": "Task", "key": "PUP-11465", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26589", "parentSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-03-22T10:22:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 7.15.0)", "timeSpent": "PT0S", "updated": "2022-03-22T10:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-02-22T17:14:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@47986688"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11460"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0elxq:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1277007483_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1210258400"}], "description": "(Initial planned release date: 2022-03-15)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:60e4906e4134aa006931a5d6] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2022-03-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "estimate": "PT0S", "externalId": "20240", "fixedVersions": [], "id": "20240", "issueType": "Task", "key": "PUP-11464", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26589", "parentSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-03-23T13:08:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Prepare release announcement (Puppet Platform 7.15.0)", "timeSpent": "PT0S", "updated": "2022-03-23T13:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-02-22T17:14:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@55dc1223"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11460"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0elxi:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_595812460_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1891755159"}], "description": "(Initial planned release date: 2022-03-15)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2022-03-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "estimate": "PT0S", "externalId": "29840", "fixedVersions": [], "id": "29840", "issueType": "Task", "key": "PUP-11463", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26589", "parentSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-03-23T13:13:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 7.15.0)", "timeSpent": "PT0S", "updated": "2022-03-23T13:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-02-22T17:14:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5da53862"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11460"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0elxa:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_782928_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_211857_*|*_10005_*:*_1_*:*_2390075884"}], "description": "(Initial planned release date: 2022-03-15)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2022-03-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "estimate": "PT0S", "externalId": "28740", "fixedVersions": [], "id": "28740", "issueType": "Task", "key": "PUP-11462", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26589", "parentSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-03-22T10:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 7.15.0)", "timeSpent": "PT0S", "updated": "2022-03-22T10:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-02-22T17:13:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@162d1384"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11460"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0elx2:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_774571_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_77918_*|*_10005_*:*_1_*:*_572106130"}], "description": "(Initial planned release date: 2022-03-15)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 7.15.0 and puppet-agent 7.15.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2022-03-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "estimate": "PT0S", "externalId": "27733", "fixedVersions": [], "id": "27733", "issueType": "Task", "key": "PUP-11461", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26589", "parentSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-03-01T08:23:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 7.15.0)", "timeSpent": "PT0S", "updated": "2022-03-01T08:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-02-22T17:13:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Phoenix"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@29007d9f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-11"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 7.15.0 Release - 2022-03-15"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "teal"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0e430:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1889335_*|*_6_*:*_1_*:*_0_*|*_10013_*:*_1_*:*_2916797413"}], "description": "Puppet Platform 7.15.0 Release - 2022-03-15", "duedate": "2022-03-15T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26589", "fixedVersions": [], "id": "26589", "issueType": "Epic", "key": "PUP-11460", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-03-28T12:58:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Platform 7.15.0 Release - 2022-03-15", "timeSpent": "PT0S", "updated": "2022-04-06T19:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 2c1ce461ab", "created": "2022-03-14T10:26:00.000000"}], "components": [], "created": "2022-02-17T21:47:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@425e8ebc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dvvl:y"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fixes a bug that prevented pdk unit tests from working when trying to test a resource with a Windows provider, such as \"service\" resources."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "47102"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_329614973_*|*_1_*:*_1_*:*_404454357_*|*_10007_*:*_1_*:*_1277794645_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_103615530_*|*_10005_*:*_1_*:*_42369"}], "description": "The file {{lib/puppet/util/windows.rb}} defines a set of constants that should be available on all platforms, such as {{Puppet::Util::Windows}}, {{Puppet::Util::Windows::Service}} and {{Puppet::Util::Windows::Service::DEFAULT_TIMEOUT}}.\n\nIt also requires Windows-specific code that is only safe to load on Windows, because the code tries to load native libraries, such as {{user32.dll}}.\n\nThe problem is when puppet is running on a non-Windows platform, then {{lib/puppet/util/windows.rb}} is never loaded. As a result, trying to test a {{service}} resource using rspec-puppet fails when trying to reference the {{Puppet::Util::Windows}} constant. See PDK-1760 for steps to reproduce.\n\nA quicker reproduction is:\n\n{code}\n$ bundle exec ruby -e \"require 'puppet'; puts Puppet::Util::Windows\"\nTraceback (most recent call last):\n-e:1:in `<main>': uninitialized constant Puppet::Util::Windows (NameError)\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25546", "fixedVersions": ["PUP 6.27.0", "PUP 7.15.0"], "id": "25546", "issueType": "Bug", "key": "PUP-11459", "labels": ["docs_reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2022-03-14T10:26:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet::Util::Windows is undefined on non-Windows platforms", "timeSpent": "PT0S", "updated": "2022-03-15T11:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623c156e562ab90069f8b4fd", "body": "The bug seems more at [fiddyspence/sysctl|https://forge.puppet.com/modules/fiddyspence/sysctl] module, casting the values to strings is solving the pb.", "created": "2022-02-17T07:16:00.000000"}, {"author": "623c156e562ab90069f8b4fd", "body": "Fix to be done at sysctl forge module", "created": "2022-02-22T02:33:00.000000"}], "components": ["Catalog Application"], "created": "2022-02-17T03:58:00.000000", "creator": "623c156e562ab90069f8b4fd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@56acfc52"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0egzq:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_3_*:*_808546603_*|*_6_*:*_2_*:*_9925325436"}], "description": "On linux (CentOS/RedHat) with puppet agent 6 the following error appears during puppet run :\n{code:java}Error: Transaction store file ..../state/transactionstore.yaml is corrupt ((..../state/transactionstore.yaml): Tried to load unspecified class: Puppet::Util::Execution::ProcessOutput); replacing\nWrapped exception:\nTried to load unspecified class: Puppet::Util::Execution::ProcessOutput\n{code}\nin transactionstore.yaml:\n{code}  Sysctl[net.ipv4.conf.all.send_redirects]:\n    parameters:\n      ensure:\n        system_value:\n        - :present\n      value:\n        system_value:\n        - !ruby/string:Puppet::Util::Execution::ProcessOutput '1'\n      permanent:\n        system_value:\n        - :false\n{code}\nsysctl module coming from : [https://forge.puppet.com/modules/fiddyspence/sysctl]\nuses :\n{code}module/sysctl/provider/sysctl/linux.rb:\n        Puppet::Provider::Command.new(@name, @path, Puppet::Util, Puppet::Util::Execution, { :failonfail => true, :combine => false, :custom_environment => @custom_environment })\n{code}\nadding the class Puppet::Util::Execution::ProcessOutput in @allowed_classes in transaction/persistence.rb seems to fix the pb.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20239", "fixedVersions": [], "id": "20239", "issueType": "Bug", "key": "PUP-11458", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c156e562ab90069f8b4fd", "resolution": "Done", "resolutionDate": "2022-06-21T10:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Transaction store file is corrupt with Puppet::Util::Execution::ProcessOutput", "timeSpent": "PT0S", "updated": "2022-06-21T10:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "60127129332636006a42a851", "created": "2022-02-16T07:49:00.000000", "name": "fedora-test.portswigger.internal.pem", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11720"}], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:60127129332636006a42a851] cert extensions are encoded using ASN.1, so every entry is an array of tag, length, value (TLV). The tag 12 corresponds to a UTF8String: https://ruby-doc.org/stdlib-2.7.0/libdoc/openssl/rdoc/OpenSSL/ASN1.html#module-OpenSSL::ASN1-label-Tag+constants So whatever library you're using to parse the extensions should take the tag and length into account and return the appropriate type of object, such as UTF8String vs PrintableString. In Ruby, you'd want to use \"OpenSSL::ASN1.decode\" and then call the \"value\" on the returned object.\n\nI'm going to close this as puppet is behaving as expected.", "created": "2022-02-16T12:55:00.000000"}, {"author": "60127129332636006a42a851", "body": "Excellent - thanks [~accountid:63d40628f6e1b543161789a7] ! \u00a0All working now :)", "created": "2022-02-17T02:54:00.000000"}], "components": [], "created": "2022-02-16T07:44:00.000000", "creator": "60127129332636006a42a851", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@202df662"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Debian 7"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0efta:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Feb/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18625347_*|*_6_*:*_1_*:*_0"}], "description": "I'm trying to use the CSR extensions to pass data across in the request, via the documented extensions process.\n\nI've (programatically) created csr_attributes.yaml files, an example of which is shown below:\n{code:java}custom_attributes:\n\u00a0 1.2.840.113549.1.9.7: RNo6/fdbnbQsPt8zn0uP3IWWGhAMYsjVVs9erOv+veY=\nextension_requests:\n\u00a0 pp_preshared_key: RNo6/fdbnbQsPt8zn0uP3IWWGhAMYsjVVs9erOv+veY=\n\u00a0 pp_hostname: a-322vcjyt8x22e.portswigger.internal\n\u00a0 1.3.6.1.4.1.34380.1.2.2: ewogICJhY2NvdW50SWQiIDogIjM2ODMyMTAyMDI5MCIsCiAgImFyY2hpdGVjdHVyZSIgOiAieDg2XzY0IiwKICAiYXZhaWxhYmlsaXR5Wm9uZSIgOiAiZXUtd2VzdC0xYSIsCiAgImJpbGxpbmdQcm9kdWN0cyIgOi\nBudWxsLAogICJkZXZwYXlQcm9kdWN0Q29kZXMiIDogbnVsbCwKICAibWFya2V0cGxhY2VQcm9kdWN0Q29kZXMiIDogbnVsbCwKICAiaW1hZ2VJZCIgOiAiYW1pLTAxZTYwNDNlYjBmZmFjMzM2IiwKICAiaW5zdGFuY2VJZCIgOiAiaS0wYzkxMmRhY2F\nlNzUwMDRiNiIsCiAgImluc3RhbmNlVHlwZSIgOiAidDMubWVkaXVtIiwKICAia2VybmVsSWQiIDogbnVsbCwKICAicGVuZGluZ1RpbWUiIDogIjIwMjItMDItMTRUMTM6MDM6MjRaIiwKICAicHJpdmF0ZUlwIiA6ICIxOTIuMTY4Ljk1LjEyNCIsCiAg\nInJhbWRpc2tJZCIgOiBudWxsLAogICJyZWdpb24iIDogImV1LXdlc3QtMSIsCiAgInZlcnNpb24iIDogIjIwMTctMDktMzAiCn0=\n\u00a0 1.3.6.1.4.1.34380.1.2.3: TUlBR0NTcUdTSWIzRFFFSEFxQ0FNSUFDQVFFeER6QU5CZ2xnaGtnQlpRTUVBZ0VGQURDQUJna3Foa2lHOXcwQkJ3R2dnQ1NBQklJQgozM3NLSUNBaVlXTmpiM1Z1ZEVsa0lpQTZJQ0l6Tmpnek1qRXdNakF5T1RBaU\nxBb2dJQ0poY21Ob2FYUmxZM1IxY21VaUlEb2dJbmc0Ck5sODJOQ0lzQ2lBZ0ltRjJZV2xzWVdKcGJHbDBlVnB2Ym1VaUlEb2dJbVYxTFhkbGMzUXRNV0VpTEFvZ0lDSmlhV3hzYVc1blVISnYKWkhWamRITWlJRG9nYm5Wc2JDd0tJQ0FpWkdWMmNHRjV\nVSEp2WkhWamRFTnZaR1Z6SWlBNklHNTFiR3dzQ2lBZ0ltMWhjbXRsZEhCcwpZV05sVUhKdlpIVmpkRU52WkdWeklpQTZJRzUxYkd3c0NpQWdJbWx0WVdkbFNXUWlJRG9nSW1GdGFTMHdNV1UyTURRelpXSXdabVpoCll6TXpOaUlzQ2lBZ0ltbHVjM1Jo\nYm1ObFNXUWlJRG9nSW1rdE1HTTVNVEprWVdOaFpUYzFNREEwWWpZaUxBb2dJQ0pwYm5OMFlXNWoKWlZSNWNHVWlJRG9nSW5RekxtMWxaR2wxYlNJc0NpQWdJbXRsY201bGJFbGtJaUE2SUc1MWJHd3NDaUFnSW5CbGJtUnBibWRVYVcxbApJaUE2SUNJe\nU1ESXlMVEF5TFRFMFZERXpPakF6T2pJMFdpSXNDaUFnSW5CeWFYWmhkR1ZKY0NJZ09pQWlNVGt5TGpFMk9DNDVOUzR4Ck1qUWlMQW9nSUNKeVlXMWthWE5yU1dRaUlEb2diblZzYkN3S0lDQWljbVZuYVc5dUlpQTZJQ0psZFMxM1pYTjBMVEVpTEFvZ0\nlDSjIKWlhKemFXOXVJaUE2SUNJeU1ERTNMVEE1TFRNd0lncDlBQUFBQUFBQU1ZSUNMekNDQWlzQ0FRRXdhVEJjTVFzd0NRWURWUVFHRXdKVgpVekVaTUJjR0ExVUVDQk1RVjJGemFHbHVaM1J2YmlCVGRHRjBaVEVRTUE0R0ExVUVCeE1IVTJWaGRIUnN\naVEVnTUI0R0ExVUVDaE1YClFXMWhlbTl1SUZkbFlpQlRaWEoyYVdObGN5Qk1URU1DQ1FEcTVxaDdtbExkTHpBTkJnbGdoa2dCWlFNRUFnRUZBS0NCbURBWUJna3EKaGtpRzl3MEJDUU14Q3dZSktvWklodmNOQVFjQk1Cd0dDU3FHU0liM0RRRUpCVEVQ\nRncweU1qQXlNVFF4TXpBek1qWmFNQzBHQ1NxRwpTSWIzRFFFSk5ERWdNQjR3RFFZSllJWklBV1VEQkFJQkJRQ2hEUVlKS29aSWh2Y05BUUVMQlFBd0x3WUpLb1pJaHZjTkFRa0VNU0lFCklFSnltOEVnYzV6R2pXOXNsbk43dFpwS05wMnVYUVYzdUVSY\nzd5QzJvb2xuTUEwR0NTcUdTSWIzRFFFQkN3VUFCSUlCQUJ6bzdjRk4KTksvRnM3UEJSTnYwV1FueWh5K1pYYlVNUngxYmtER2E5bDBUTVB4Um9xL0diVXU2TnhGN3NvakFncUNWWGZLNVlSRzFYZ0R5Q243UwovN3dvUjREOW5MWUg4WFk3ZVlqVEJZQ0\nJRcmcydVdYeUpUQUtGVWhhd2JNaFk4VmVnQzRhUjV2K3c3YnZ2QUJWT2t6Z0k1Q1RGOHl6CnVGeTh5Q3NNM0s3NDNIYUhiM2dkc3FkR3hsYUgzcGE2MDduYlFZTHUweE1ub0JRQzBLNkdVakpvYVYydFhJRCtoTXQvQnMrRmpQL0sKcm5QbEZzT3dRV2Z\nBOUl0K0FoalNSQ1Vwd0ZTYnlPUWdseit0aXN5emNEM1EzUFdrVGxMWEpldGFQY0xjMkFBVE1PM015QW5hRG5PcQpWdkVWWjlNd041Yk40ZVlKR3hWdkRieVRaS21vcWNRQUFBQUFBQUE9\n\u00a0 pp_cost_center: \"368321020290\"\n\u00a0 pp_region: eu-west-1a\n\u00a0 pp_instance_id: i-0c912dacae75004b6\n\u00a0 pp_image_name: ami-01e6043eb0ffac336\n\u00a0 pp_cloudplatform: AWS\n {code}\nWhen running puppet, it successfully generates the CSR and includes the data in the extensions I expect. \u00a0However, this data is not the same as the data it should be - there are extra bytes at the beginning. \u00a0For example, the OID 1.2.840.113549.1.9.7 which I'm using for a PSK, in bytes, should be:\n\n[82 78 111 54 47 102 100 98 110 98 81 115 80 116 56 122 110 48 117 80 51 73 87 87 71 104 65 77 89 115 106 86 86 115 57 101 114 79 118 43 118 101 89 61]\n\nHowever, extracting those from the CSR gives me two extra bytes for free :)\n\n[12 44 82 78 111 54 47 102 100 98 110 98 81 115 80 116 56 122 110 48 117 80 51 73 87 87 71 104 65 77 89 115 106 86 86 115 57 101 114 79 118 43 118 101 89 61]\n\nThe solution I'm extracting those bytes with is written in Go, so I asked a colleague to try the same in Java - we got the same results :(\n\nPlease note, that it's *all* the extension fields that have extra bytes, with the first byte being 12 and the next byte being different.\n\nThe client which is generating this CSR is a Fedora box, running \"Fedora release 35 (Thirty Five)\". \u00a0It's running puppet\u00a07.14.0, installed via the RPM \"puppet-agent-7.14.0-1.fc34.x86_64\"\n\nOutput CSR attached.\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27731", "fixedVersions": [], "id": "27731", "issueType": "Bug", "key": "PUP-11457", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "60127129332636006a42a851", "resolution": "Incomplete", "resolutionDate": "2022-02-16T12:55:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "CSR Custom Attributes / Extensions issue", "timeSpent": "PT0S", "updated": "2022-02-17T02:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This looks to be caused by https://github.com/rspec/rspec-mocks/issues/1460. I'll put up a PR", "created": "2022-02-16T18:39:00.000000"}], "components": [], "created": "2022-02-15T10:34:00.000000", "creator": "5a1beb0b007eb21a79e5d6de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet::Confiner unit test passes"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4bc57a4d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk41x:2"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Feb/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_9360943_*|*_1_*:*_1_*:*_12993005_*|*_10007_*:*_1_*:*_510438754_*|*_3_*:*_1_*:*_595093_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_102421009_*|*_10005_*:*_1_*:*_95679"}], "description": "We've started to see rspec failures on one unit test for Puppet::Confiner with Ruby 3. You can see an example of this in this GitHub Action running Ruby 3.0.3 and rspec 3.11.0 on Ubuntu 18.04: [https://github.com/puppetlabs/puppet/runs/5192746837?check_suite_focus=true#step:6:202]\n{code:java}1) Puppet::Confiner should delegate its confine method to its confine collection\n     Failure/Error: confine_collection.confine(hash)\n       #<Double \"collection\"> received :confine with unexpected arguments\n         expected: ({:bee=>:baz, :foo=>:bar})\n              got: ({:bee=>:baz, :foo=>:bar})\n     # ./lib/puppet/confiner.rb:27:in `confine'\n     # ./spec/unit/confiner_spec.rb:27:in `block (2 levels) in <top (required)>'\n     # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n     # util/rspec_runner:44:in `run'\n     # util/rspec_runner:59:in `<main>'\nFinished in 13.16 seconds (files took 1.78 seconds to load)\n\nFinished in 2 minutes 6 seconds\n25193 examples, 1 failure, 22 pending\n\nFailed examples:\nrspec ./spec/unit/confiner_spec.rb:23 # Puppet::Confiner should delegate its confine method to its confine collection{code}\nThe expected and actual output look identical and running the test on its own, locally, it shows an empty diff between expected and actual.\n\nWe need to investigate what changes in Ruby 3 are causing this behavior.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20238", "fixedVersions": ["PUP 7.15.0"], "id": "20238", "issueType": "Task", "key": "PUP-11456", "labels": ["ruby3.0.3"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a1beb0b007eb21a79e5d6de", "resolution": "Fixed", "resolutionDate": "2022-02-22T19:12:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Puppet::Confiner Ruby 3 rspec failure", "timeSpent": "PT0S", "updated": "2022-02-22T19:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2022-02-10T10:56:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3f9cb583"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ebz2:"}], "description": "Puppet currently only supports a single terminus implementation per model (node, facts, catalog, etc). However, there are times when users want to route to multiple endpoints, such as saving facts to puppetdb and splunk, etc.\n\nFrom [~accountid:557058:7a74b545-c5d8-450e-a2bf-92db19a94d6f] \nhttps://puppetcommunity.slack.com/archives/C0W1X7ZAL/p1629318412042600\n\nFrom [~accountid:557058:3c7b6e34-de5c-45e8-86c5-b3529fff42e3] https://puppetcommunity.slack.com/archives/C0W1X7ZAL/p1629391266056000\n\nComposable termini thread \nhttps://puppetcommunity.slack.com/archives/C0W1X7ZAL/p1629406416062500\n\nA common workaround for this limitation is to create a new terminus that inherit from another, perform the operation and delegate to the base class. For example, see\n\nhttps://github.com/puppetlabs/puppetlabs-splunk_hec/blob/ebf4f4c206ce29c09e654f4dcfb476e0cc73fd67/lib/puppet/indirector/facts/splunk_hec.rb#L33\n\nhttps://github.com/puppetlabs/puppetlabs-satellite_pe_tools/blob/73b479b8471d734a414ae87ef8af0738c39b40c3/lib/puppet/indirector/facts/satellite.rb#L26\n\nhttps://github.com/puppetlabs/puppetlabs-hdp/blob/d78b33e98a40c85d3ef1d96621fbc6c11ab1b096/lib/puppet/indirector/facts/hdp.rb#L36", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28738", "fixedVersions": [], "id": "28738", "issueType": "Improvement", "key": "PUP-11455", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Composable termini", "timeSpent": "PT0S", "updated": "2022-02-15T14:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61bb63041baa2b0069ef30a1", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "We had a similar issue in macOS 10.15 PUP-11026", "created": "2022-02-23T19:44:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The issue is macOS requires the salt to be a 32-byte value, see [https://developer.apple.com/documentation/devicemanagement/passwordhash/salted-sha512-pbkdf2] It may be that earlier macOS versions didn't have this requirement (?) but at least 10.15 and up require 32-bytes. Puppet's user resource requires the value to be hex encoded (so it must be a string of length 64).\n\nFor puppet, we should reject salt values whose length != 64 and if the value contains non-hex characters. Also update the description in https://github.com/puppetlabs/puppet/blob/79a6ffa87e540053f3a0f87240a996401e6bfe50/lib/puppet/type/user.rb#L224-L229\n\nWe should file a separate MODULES ticket to ensure the {{str2saltedpbkdf2}} produces salt values that match those requirements, and update the documentation to show a valid salt. Also there's a typo in the module docs, it reference \"interations\" instead of \"iterations\".", "created": "2022-04-08T10:21:00.000000"}], "components": [], "created": "2022-02-10T04:52:00.000000", "creator": "5a2002856a747c0e71aae0d2", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@636ecdcb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4217"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0eblq:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "On macOS, puppet now validates that the \"salt\" parameter for the \"user\" resource is a hex encoded string of length 64 (exactly)."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Feb/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_466513919_*|*_10007_*:*_1_*:*_503895234_*|*_3_*:*_1_*:*_603355685_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_2_*:*_4331567708"}], "description": "I create a new user using code example from\u00a0 stdlib docs\n{code}$pw = Sensitive.new('Pa55w0rd')\n$salt = Sensitive.new('Using s0m3 s@lt')\n$pw_info = Sensitive.new(str2saltedpbkdf2($pw, $salt, 50000))\nuser { 'jdoe':\n  ensure     => present,\n  iterations => unwrap($pw_info)['iterations'],\n  password   => unwrap($pw_info)['password_hex'],\n  salt       => unwrap($pw_info)['salt_hex'],\n}\n{code}\nEverything applies with no error, but I can't login until I change password via system preferences. \nSystem:\n{code} uname -prsv\nDarwin 21.2.0 Darwin Kernel Version 21.2.0: Sun Nov 28 20:28:54 PST 2021; root:xnu-8019.61.5~1/RELEASE_X86_64 i386\n{code}\nPuppet:\n{code}puppet --version\n7.14.0\n{code}", "epicLinkSummary": "Add macOS 12 (x86_64) FOSS support", "estimate": "PT0S", "externalId": "25544", "fixedVersions": ["PUP 7.17.0"], "id": "25544", "issueType": "Bug", "key": "PUP-11454", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": "55917", "parentSummary": "Add macOS 12 (x86_64) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a2002856a747c0e71aae0d2", "resolution": "Fixed", "resolutionDate": "2022-04-19T14:14:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Cannot login under user created by Puppet on MacOS 12.1", "timeSpent": "PT0S", "updated": "2022-05-23T10:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a1beb0b007eb21a79e5d6de", "attachments": [], "comments": [{"author": "5a1beb0b007eb21a79e5d6de", "body": "PRs open for both branches:\n * [https://github.com/puppetlabs/puppet/pull/8877]\n * [https://github.com/puppetlabs/puppet/pull/8878]\n\nPR #8878 is failing one unit test unrelated to the PR itself, follow up work is ticketed out in https://puppet.atlassian.net/browse/PUP-11456", "created": "2022-02-15T10:59:00.000000"}], "components": [], "created": "2022-02-09T22:44:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1d0b4c95"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dvut:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Feb/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_56988927_*|*_1_*:*_1_*:*_38208252_*|*_10007_*:*_2_*:*_86196987_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_2855297_*|*_10006_*:*_1_*:*_371887644"}], "description": "In puppet#6.x and main:\n\n# Remove the cron trigger from https://github.com/puppetlabs/puppet/blob/6.x/.github/workflows/snyk_monitor.yaml#L5\n# Ask security to add the {{SNYK_FOSS_KEY}} organizational secret to the repo\n# Update the snyk workflow to use the {{SNYK_FOSS_KEY}} \n# Delete the {{SNYK_TOKEN}} secret from the repo", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27730", "fixedVersions": [], "id": "27730", "issueType": "Task", "key": "PUP-11453", "labels": [], "originalEstimate": "PT0S", "parent": "56352", "parentSummary": "Add Snyk Monitoring for Agent", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2022-02-16T09:12:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Remove cron trigger and use snyk org token", "timeSpent": "PT0S", "updated": "2022-02-16T09:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:79f2fdd6-baee-43c4-91af-c7e647173c95", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Thanks for digging into this issue [~accountid:5e3375e183d74c0e821851f3] I agree that it's better to shell out than try to list gems \"in process\" as the puppetserver_gem provider is currently doing. Could you submit your changes (https://github.com/jarretlavallee/puppetlabs-puppetserver_gem/commit/327c7c90f40874d3c7d5f31d8708cf12366cca63) as a PR to puppet#6.x? We can help with the tests if needed.", "created": "2022-02-08T15:29:00.000000"}, {"author": "5e3375e183d74c0e821851f3", "body": "Thanks for reviewing this [~accountid:63d40628f6e1b543161789a7]. I opened up [https://github.com/puppetlabs/puppet/pull/8872] with the changes.", "created": "2022-02-09T08:26:00.000000"}], "components": ["Types and Providers"], "created": "2022-02-07T08:31:00.000000", "creator": "5e3375e183d74c0e821851f3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6fd751b"}, {"fieldName": "Bug Environment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Production"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Customer Feedback"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2q2s:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fixes a bug that prevented the \"puppetserver_gem\" provider from managing gems that were first loaded by facter."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "47197"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Feb/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_860546771_*|*_1_*:*_1_*:*_107069187_*|*_10007_*:*_1_*:*_5642591299_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_65727860"}], "description": "The {{puppetserver_gem}} package provider fails to list the correct gem list in puppetserver when there is a gem installed with `puppet_gem` and added by a `require` during the agent run or apply. In this scenario, the gem is listed as already installed by the {{puppetserver_gem}} provider when it is not installed in the puppetserver gem space.\n\n*Logs*\nThe gem is only installed into the puppet gem space\n{code}# puppetserver gem list aws-sdk-s3\n\n*** LOCAL GEMS ***\n\n# /opt/puppetlabs/puppet/bin/gem list aws-sdk-s3\n\n*** LOCAL GEMS ***\n\naws-sdk-s3 (1.112.0)\n{code}\nRunning the agent or apply shows the gem is prefetched in the {{puppetserver_gem}} provider\n{code}# puppet apply install.pp --debug |& grep aws-sdk-s3\nDebug: /Package[aws-sdk-s3]: Provider puppetserver_gem does not support features targetable; not managing attribute command\nDebug: /Package[aws-sdk-s3]: Provider puppetserver_gem does not support features install_only; not managing attribute install_only\nDebug: /Package[aws-sdk-s3]: Provider puppetserver_gem does not support features virtual_packages; not managing attribute allow_virtual\nDebug: Puppet::Type::Package::ProviderPuppetserver_gem: Prefetched instance: aws-sdk-s3 via command: default\n{code}\n*Reproduction*\n1) On a 7.x Puppetserver - PE 2021.4.0 in this example\n2) Install the gem using the `puppet_gem` provider: {{puppet resource package aws-sdk-s3 ensure=installed provider=puppet_gem}}\n3) Add the following fact into the environment and ensure it is downloaded with {{puppet plugin download}}\n{code}Facter.add(:testing) do\n  setcode do\n    require 'aws-sdk-s3'\n    Aws::S3::GEM_VERSION\n  end\nend\n{code}\n4) Apply the following manifest to observe that the {{puppetserver_gem}} package is not installed\n{code} package{'aws-sdk-s3':\n  ensure => installed,\n  provider => puppetserver_gem\n}\n{code}\n*Potential Fix*\nThis looks to be an issue due to the {{puppetserver_gem}} not forking the gem list command, so the [loaded gems are listed in these lines|https://github.com/puppetlabs/puppet/blob/main/lib/puppet/provider/package/puppetserver_gem.rb#L162-L170].\n\nIf I replace those lines with one that uses the {{/opt/puppetlabs/puppet/bin/gem}} command, the issue no longer appears. For example:\n{code}output = execute_gem_command(Puppet::Type::Package::ProviderPuppet_gem.provider_command, [\"list\",\"--local\"], gem_env)\ngem_list = output.lines.reject { |gem| gem =~ / \\(default\\: / }\n{code}\nThere is a significant difference in the number of gems listed between the two outputs.\n{code}# The current implementation\n> sio_out.string.lines.reject { |gem| gem =~ / \\(default\\: / }.length\n=> 56\n# Shelling out to `gem`\n> output.lines.reject { |gem| gem =~ / \\(default\\: / }.length\n=> 25\n{code}\nThis aligns with the `puppetserver gem list` and `gem list` commands.\n{code}# /opt/puppetlabs/puppet/bin/gem list |grep -v default | wc -l56# puppetserver gem list |grep -v default | wc -l\n25\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28737", "fixedVersions": ["PUP 6.28.0", "PUP 7.17.0"], "id": "28737", "issueType": "Bug", "key": "PUP-11452", "labels": ["docs_reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5e3375e183d74c0e821851f3", "resolution": "Fixed", "resolutionDate": "2022-04-25T15:56:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "puppetserver_gem doesn't install gems when they are loaded by facter", "timeSpent": "PT0S", "updated": "2022-05-23T10:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "This does seem like a simple settings addition + modification of the resource collector behavior.\n\nBut, I wonder if adding a setting that causes exported resources to be silently ignored is really the right solution because it would be confusing to debug if someone missed the release note. If exported resource collections are disallowed for some reason, it seems better to remove their use from the Puppet codebase and use lint checks to prohibit any re-introduction. ", "created": "2022-03-01T17:07:00.000000"}, {"author": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "body": "Likewise, I'm curious to hear about the use case.\n\nMy concern with this would be the situation where someone enabled this setting maybe not knowing what it did, or forgetting about it later, or maybe not communicating that setting to others on the team, etc. And then later on, a user of that same infrastructure installed a module that used exported resources, say puppetlabs-haproxy or the like, and everything appeared to work fine but it just didn't do anything. That could be immensely frustrating and confusing, and difficult to debug since querying for the exported resources would show them in the database as expected.\n\nAsking for community help probably wouldn't even be terribly productive since this setting would be such a change.", "created": "2022-03-01T17:25:00.000000"}, {"author": "623c13e0a1d81f0069d8e29a", "body": "Hi Charlie, Ben,\n\nThanks for your input.\n\nOur use case is a multi tenant configuration management infrastructure based on Puppet where somebody could accidentally or maliciously export a resource to be collected by somebody else that could lead to broken or malicious configuration being applied. In our case, the usage of exported resources can normally easily be replaced by PuppetDB queries so we'd like to disable resource collection to reduce the risks.\n\nReplying to your comment Charlie, unfortunately we as admins don't have full control on the code that our masters compile and our users are not enforced (only encouraged) to implement lint checks.\n\nBen, I understand your concerns but I don't think bad communication from the admins justifies not having the functionality. In my opinion, as long as the defaults are not modified and the setting well documented, it should be okay. We cannot influence how configuration changes on the masters are communicated everywhere :)\n\nAnyway, thanks for your input and please let us know at your earliest convenience if you'd like us to contribute a change request. Otherwise, we'll most likely carry a local patch to disable exported resources collection.\n\nThanks again.\n\n/cc [~accountid:623c0dfe50bb2b0070b6b0b3]", "created": "2022-03-16T01:12:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "After taking a second look at this, I think the goal can already be accomplished without introducing a new setting. Exported resource collection is implemented via the Indirector subsystem using the Resource terminus. Configuration of this subsystem can be specified via the {{routes.yaml}} file.\n\nSo, disabling exported resources is just a matter of creating a new \"none\" terminus for Resource that returns an empty array for {{search}} operations:\n\n{code:ruby}\n# cat /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/resource/none.rb\nrequire 'puppet/indirector/none'\n\n# A none terminus type, meant to always return nil\nclass Puppet::Resource::None < Puppet::Indirector::None\n  def find(request)\n    return nil\n  end\n\n  def search(request)\n    return Array.new\n  end\nend\n{code}\n\nAnd then configuring that in {{routes.yaml}} along with other PuppetDB settings:\n\n{code:yaml}\n# cat /etc/puppetlabs/puppet/routes.yaml\nmaster:\n      facts:\n        terminus: puppetdb\n        cache: yaml\n      resource:\n        terminus: none\n{code}", "created": "2022-03-17T13:30:00.000000"}, {"author": "623c13e0a1d81f0069d8e29a", "body": "Hi Charlie,\n\nThat's great. As long as this does not prevent catalogs and resources from being stored in PuppetDB it could definitely fly for us. Would you be willing to distribute {{puppet/indirector/resource/none.rb}} as part of Puppet? Happy to submit a MR myself if that makes your life easier.", "created": "2022-03-24T07:01:00.000000"}, {"author": "623c13e0a1d81f0069d8e29a", "body": "Thinking twice for us it'd be even better to stop the compilation than just collecting \"nothing\". \n\nSomething like this seems to work:\n\n{code:ruby}\nrequire 'puppet/indirector/none'\n\nclass Puppet::Resource::Fail < Puppet::Indirector::None\n  def find(request)\n    raise Puppet::Indirector::ValidationError, _(\"Collecting exported resources is disabled.\")\n  end\n\n  def search(request)\n    raise Puppet::Indirector::ValidationError, _(\"Collecting exported resources is disabled.\")\n  end\nend\n{code}\n\n{code:yaml}\n---\nmaster:\n  facts:\n    terminus: puppetdb\n    cache: yaml\n  resource:\n    terminus: fail\n{code}\n\nwhich would result in something like:\n\n{noformat}\nInfo: Using environment 'qa'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Loading facts\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Collecting exported resources is disabled. on node node.example.org.\nWarning: Not using cache on failed catalog\nError: Could not retrieve catalog", "created": "2022-03-28T09:43:00.000000"}], "components": [], "created": "2022-02-04T07:08:00.000000", "creator": "623c13e0a1d81f0069d8e29a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@bf3aea3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0e8nq:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Feb/22"}], "description": "According to the documentation, storing catalogs and facts in PuppetDB and using exported resources are two actions that are governed by the same configuration option ({{storeconfigs}}):\n\n{quote}Whether to store each client's configuration, including catalogs, facts, and related data. This also enables the import and export of resources in the Puppet language - a mechanism for exchange resources between nodes.{quote}\n\nhttps://puppet.com/docs/puppet/7/configuration.html#storeconfigs\n\nIt'd be useful for us in our deployment if those two things were not tied to each other. In other words, if it was possible to keep \"storing configs\" but exported resource collectors were ignored. This is rather cheap to achieve by introducing a new configuration option and patching the exported resources collector, something like:\n\n{code:diff}\n@@ -18,7 +18,7 @@ class Puppet::Pops::Evaluator::Collectors::ExportedCollector < Puppet::Pops::Eva\n   # Ensures that storeconfigs is present before calling AbstractCollector's\n   # evaluate method\n   def evaluate\n-    if Puppet[:storeconfigs] != true\n+    if Puppet[:storeconfigs] != true || Puppet[:collect_exported_resources] == false\n       return false\n     end\n{code}\n\nhttps://github.com/puppet/puppet/blob/389dbf644582560c704304a7e7e7b0801efc2c83/lib/puppet/pops/evaluator/collectors/exported_collector.rb#L21\n\nWould you be happy to review and eventually merge a patch adding this new configuration option with default value {{true}} and, as consequence, to modify the semantics of {{storeconfigs}}?\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28736", "fixedVersions": [], "id": "28736", "issueType": "New Feature", "key": "PUP-11451", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c13e0a1d81f0069d8e29a", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Make collecting exported resources optional", "timeSpent": "PT0S", "updated": "2022-03-28T09:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "We don't specify Centos on FOSS docs, so closing", "created": "2022-09-16T12:06:00.000000"}], "components": [], "created": "2022-02-02T17:32:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@21c8a339"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4287"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0e6tq:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_30046_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_19503226344"}], "description": "Update Public-facing Puppet docs with removal of this platform\n", "epicLinkSummary": "Remove CentOS 8 FOSS support", "estimate": "PT0S", "externalId": "25543", "fixedVersions": [], "id": "25543", "issueType": "Task", "key": "PUP-11449", "labels": ["os"], "originalEstimate": "PT0S", "parent": "56695", "parentSummary": "Remove CentOS 8 FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Incomplete", "resolutionDate": "2022-09-16T12:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Public-facing Puppet docs to remove CentOS 8", "timeSpent": "PT0S", "updated": "2022-09-16T12:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Fedora 32 was removed in 7.18.0 and 6.28.0\n\nhttps://puppet.com/docs/puppet/7/release_notes_puppet.html#deprecations_puppet_x-7-18-0-PA-4328\nhttps://puppet.com/docs/puppet/6/release_notes_puppet.html#deprecations_puppet_x-28-0-deprecation-application-orchestration-features\n", "created": "2022-09-26T12:35:00.000000"}], "components": [], "created": "2022-02-02T17:21:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@62d28763"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4269"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0e6hi:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_32089_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_18803231207"}], "description": "Update Public-facing Puppet docs with removal of this platform\n", "epicLinkSummary": "Remove Fedora 32 FOSS support", "estimate": "PT0S", "externalId": "20237", "fixedVersions": [], "id": "20237", "issueType": "Task", "key": "PUP-11447", "labels": ["os"], "originalEstimate": "PT0S", "parent": "59013", "parentSummary": "Remove Fedora 32 FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2022-09-08T09:28:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Update Public-facing Puppet docs to remove Fedora 32", "timeSpent": "PT0S", "updated": "2022-09-26T12:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Our intention is for Facter 4 to handle null fact value the same as was done in 3 (and 2 to a lesser extent). I believe null fact values are ignored, so facter will continue searching for another resolution and use that.\n\nWe've talked about being able to use the puppet type system to write facts. Then you could specify a type like {{Binary}}, {{Sensitive}}, {{Undef}}, etc but that work was never prioritized, see PUP-478.\n\nAlso you should be able to run facter with --debug to see what each fact resolves to for example:\n\n{code}\n[2022-02-07 20:46:17.110406 ] DEBUG Facter::Util::Fact - value for myfact is still nil \n{code}\n\nI would expect that to work for all types of facts (custom vs external), but I don't know if that's true?", "created": "2022-02-07T21:47:00.000000"}, {"author": "623a4a827910a200718ac35d", "body": "[~accountid:63d40628f6e1b543161789a7] To be clear, what I observed and reported doesn't seem to be a facter issue. In fact, interestingly, facter by itself seem to have the inverse behavior as to what I saw versus when the facts are presented in Puppet.\n\nGiven two Ruby facts, one simple fact which returns \"nil\" and one which returns a hash containing a single key with a nil value you get these results with the facter CLI:\n\n{code}\nfacter --version\n3.14.17 (commit ce1f2bb4a91a1ac4ae5852091c96ae6ee3712e23)\n\nfacter -p --json mysimplefact mystructuredfact\n{\n  \"mysimplefact\": \"\",\n  \"mystructuredfact\": {\n    \"mykey\": null\n  }\n}\n{code}\n\nFacter does the correct thing with the structured fact, but turns the simple fact nil value into a string.\n\nNow, those same Facts as presented by Puppet:\n\n{code}\nNotice: mystructuredfact: {\"mykey\":\"\"}\nNotice: mysimplefact: null\nNotice: mysimplefact is key in facts hash: false\n{code}\n\nThe value of the structured fact key is now the empty string, the simple fact value is now null, and on top of that the fact doesn't even get added to the $facts hash.\n\nThe behavior I think we should have is that the data types returned by Facter should be preserved when used in Puppet. I think that a fact which returns nil as its only value should continue to not be present in the facts hash. At the very least, the behavior should be consistent between Puppet and Facter.\n\nYou can see the quick module I put together for the above testing here: https://github.com/seanmil/facttest\n\nAs an aside to this issue, Puppet type system support in facts would be awesome!\n\n\n", "created": "2022-02-08T04:42:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I confirmed that Facter 3 and 4 behave inconsistently with respect to fact values that return nil. I'll file that as a separate FACT ticket. This ticket partially masks that issue because when using Facter 4, puppet converts nil fact values to an empty string. So from a puppetserver/puppet code perspective, the fact values that resolve to nil are always converted to empty string, regardless of which facter implementation is used.\n\nSome history on fact values:\n\nIn Puppet 3, puppet used to stringify facts, so all fact values were stringified, including nil to \"\".\n\nThis was made configurable in Puppet 4.x, see https://github.com/puppetlabs/puppet/commit/3a19fff52c15266a3171b9bcf93bc1db1788c3b8, so that it was possible to preserve String, Integer, Array, Hash, etc. However, the \"sanitize\" method doesn't have an explicit case for {{NilClass}} so we continued to stringify nil to \"\".\n\nIn Puppet 4, we removed the stringify facts option (see https://github.com/puppetlabs/puppet/commit/e1c8724df80190946ebde0559eb15fb4902797cc), so that \"basic\" types like boolean, integer, string, etc were preserved, but nil is still converted to \"\"", "created": "2022-03-30T10:46:00.000000"}], "components": [], "created": "2022-02-02T13:15:00.000000", "creator": "623a4a827910a200718ac35d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fact values which return true to \".nil?\" should be exposed in the Puppet $facts hash as undef values."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5f1bc860"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fcui:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Feb/22"}], "description": "In [sanitize_facts|https://github.com/puppetlabs/puppet/blob/main/lib/puppet/node/facts.rb#L138-L164] null fact results are not preserved. With the modern data type support Puppet can and should properly preserve null values returned in fact data OR, at least, remove the fact from the data entirely so a reference to it, as an undefined key, returns undef.\n\nI understand that this would likely need to be done on a major version change, but I just wasted hours trying to figure out why my undef-expecting code was not behaving as intended.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23500", "fixedVersions": [], "id": "23500", "issueType": "Bug", "key": "PUP-11446", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4a827910a200718ac35d", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Facts returning nil are converted to empty string", "timeSpent": "PT0S", "updated": "2023-02-13T06:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is filed as PUP-10928, so I'm going to close this as a dup.", "created": "2022-02-07T22:06:00.000000"}], "components": [], "created": "2022-02-02T03:04:00.000000", "creator": "999854:6ad73c68-4f6b-442b-8146-97dbf25c0e9f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@82ad415"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "RHEL 7 (x86_64)"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0e5ue:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Feb/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_500586408_*|*_6_*:*_1_*:*_0"}], "description": "We noticed that under certain circumstances, catalogs with Deferred types were breaking - e.g. specifically if we used an inline_epp inside a deferred type, the file would mis-render:\n\n\u00a0\n{code:java}\n--- /tmp/test.key \u00a0 \u00a0 \u00a0 2022-02-02 04:34:40.045388413 -0500\n+++ /tmp/puppet-file20220202-128374-86xb8b \u00a0 \u00a0 \u00a02022-02-02 04:49:12.886008617 -0500\n@@ -1 +1 @@\n-hi\n\\ No newline at end of file\n+Deferred({'name' => 'sprintf', 'arguments' => ['hi']})\n\\ No newline at end of file\n {code}\nAt the same time, running puppetserver with debug logging enabled yielded:\n\n\u00a0\n{code:java}\n2022-02-02T04:49:08.814-05:00 DEBUG [qtp1187621108-381] [puppetserver] Puppet Could not render to Puppet::Network::Format[json]: source sequence is illegal/malformed utf-8\njson/ext/GeneratorMethods.java:70:in `to_json'\n\n[snip]\n\n2022-02-02T04:49:08.866-05:00 WARN \u00a0[qtp1187621108-381] [puppetserver] Puppet File[/tmp/test.key]['content'] contains a Deferred value. It will be converted to the String 'Deferred({'name' => 'sprintf', 'arguments' => ['hi']})' (file: /path/to/manifest.pp, line: 18) {code}\nSure enough - we had a binary file in the catalogue, which upon removal fixed both the JSON rendering error and rectified the deferred issue...\n\nThis seems like a bug - somehow the rendering error was causing Deferreds to be handled badly...\n\nThanks\n\nNick\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28734", "fixedVersions": [], "id": "28734", "issueType": "Bug", "key": "PUP-11445", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "999854:6ad73c68-4f6b-442b-8146-97dbf25c0e9f", "resolution": "Duplicate", "resolutionDate": "2022-02-07T22:07:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Catalogs that aren't renderable as JSON break Deferred types", "timeSpent": "PT0S", "updated": "2022-02-07T22:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-01-31T18:28:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6c1f73c4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4249"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fwkq:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "0.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_45627_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_15870209237"}], "description": "Update Public-facing Puppet docs to include this platform\nThis ticket will be set with the fix version of the first release containing the new platform and checked with doc team during the Platform release process.\n", "epicLinkSummary": "Add Windows 11 Enterprise (x86_64) FOSS support", "estimate": "PT0S", "externalId": "20236", "fixedVersions": ["PUP 6.28.0", "PUP 7.18.0"], "id": "20236", "issueType": "Task", "key": "PUP-11444", "labels": ["os"], "originalEstimate": "PT0S", "parent": "57725", "parentSummary": "Add Windows 11 Enterprise (x86_64) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2022-08-03T11:52:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "17. Update Public-facing Puppet docs to include Windows 11 Enterprise (x86_64)", "timeSpent": "PT0S", "updated": "2022-08-03T11:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-01-31T18:23:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1a000678"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4233"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0fwkr:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "0.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_48290_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_15870526343"}], "description": "Update Public-facing Puppet docs to include this platform\nThis ticket will be set with the fix version of the first release containing the new platform and checked with doc team during the Platform release process.\n", "epicLinkSummary": "Add Ubuntu 22.04 (x86_64) FOSS support", "estimate": "PT0S", "externalId": "23498", "fixedVersions": ["PUP 6.28.0", "PUP 7.18.0"], "id": "23498", "issueType": "Task", "key": "PUP-11443", "labels": ["os"], "originalEstimate": "PT0S", "parent": "59052", "parentSummary": "Add Ubuntu 22.04 (x86_64) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2022-08-03T11:52:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "17. Update Public-facing Puppet docs to include Ubuntu 22.04 (x86_64)", "timeSpent": "PT0S", "updated": "2022-08-03T11:52:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-01-31T18:18:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1b5995bb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4217"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0f2k0:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_46526_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_6193450386"}], "description": "Update Public-facing Puppet docs to include this platform\nThis ticket will be set with the fix version of the first release containing the new platform and checked with doc team during the Platform release process.\n", "epicLinkSummary": "Add macOS 12 (x86_64) FOSS support", "estimate": "PT0S", "externalId": "26582", "fixedVersions": ["PUP 6.27.0", "PUP 7.16.0"], "id": "26582", "issueType": "Task", "key": "PUP-11442", "labels": ["os"], "originalEstimate": "PT0S", "parent": "55917", "parentSummary": "Add macOS 12 (x86_64) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2022-04-13T11:43:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "17. Update Public-facing Puppet docs to include macOS 12 (x86_64)", "timeSpent": "PT0S", "updated": "2022-04-13T11:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "In the non-strict mode case, we do want the agent run to continue and have the server redirect the agent to a valid environment. Otherwise, if you've configured all 50k agents to use a specific environment and you delete the environment from the server, then all agents will be stuck and you can't use puppet to fix itself.\n\nIn the strict mode case, if we detect that the environment doesn't exist on the server prior to pluginsync, then we should abort the run, since we know there's no point in continuing.\n\nThis seems to work as expected:\n\n{code:diff}\ndiff --git a/lib/puppet/configurer.rb b/lib/puppet/configurer.rb\nindex d97c73bc46..457b9eed8e 100644\n--- a/lib/puppet/configurer.rb\n+++ b/lib/puppet/configurer.rb\n@@ -327,12 +327,16 @@ class Puppet::Configurer\n         push_current_environment_and_loaders\n       end\n \n+      # store original value so it can be restored later\n       temp_value = options[:pluginsync]\n \n       # only validate server environment if pluginsync is requested\n-      options[:pluginsync] = valid_server_environment? if options[:pluginsync] == true\n+      options[:pluginsync] = valid_server_environment? if options[:pluginsync]\n \n+      # get_facts relies on the pluginsync option\n       query_options, facts = get_facts(options) unless query_options\n+\n+      # restore value as get_facts may be called again during convergence\n       options[:pluginsync] = temp_value\n \n       query_options[:configured_environment] = configured_environment\n@@ -443,7 +447,11 @@ class Puppet::Configurer\n       true\n     rescue Puppet::HTTP::ResponseError => detail\n       if detail.response.code == 404\n-        Puppet.notice(_(\"Environment '%{environment}' not found on server, skipping initial pluginsync.\") % { environment: @environment })\n+        if Puppet[:strict_environment_mode]\n+          raise Puppet::Error.new(_(\"Environment '%{environment}' not found on server, aborting run.\") % { environment: @environment })\n+        else\n+          Puppet.notice(_(\"Environment '%{environment}' not found on server, skipping initial pluginsync.\") % { environment: @environment })\n+        end\n       else\n         Puppet.log_exception(detail, detail.message)\n       end\n\n{code}\n\nWhich results in:\n\n{noformat}\n$ bundle exec puppet agent -t -E fake      \nInfo: Using environment 'fake'\nNotice: Environment 'fake' not found on server, skipping initial pluginsync.\nNotice: Local environment: 'fake' doesn't match server specified environment 'production', restarting agent run with environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Caching catalog for localhost\nInfo: Applying configuration version '1644480167'\nNotice: Applied catalog in 0.01 seconds\n\n$ bundle exec puppet agent -t -E fake --strict_environment_mode\nInfo: Using environment 'fake'\nError: Failed to apply catalog: Environment 'fake' not found on server, aborting run.\n{noformat}", "created": "2022-02-10T01:05:00.000000"}, {"author": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "body": "Having strict mode abort early sounds good to me.\n\nBut switching to the \"production\" environment by default in the non-strict mode is still a bit concerning to me.\n\nIn a setup where there is no server-specified environment, how can we be sure that \"production\" is the correct one to fall back to? For example, if a chunk of nodes normally run against a canary environment (e.g. {{-E canary}}) then want to run against a feature branch but a human typos the name, that node will then revert to {{production}} for a run rather than the usual {{canary}} environment.\n\nWe don't currently see this auto-switching behavior in our systems that are running 6.19.1. When did that make it in to Puppet?\n\nI see that we should start using strict mode to guard against this problem, but I'm not sure when we need to and when we can. Is that a Puppet 7 only feature?\n\n", "created": "2022-02-10T10:19:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "{quote}But switching to the \"production\" environment by default in the non-strict mode is still a bit concerning to me.{quote}\n\nNote this only occurs if the agent requests an environment that doesn't exist on the server.\n\n{quote}how can we be sure that \"production\" is the correct one to fall back to?{quote}\n\nTechnically, the server will instruct the agent to fallback to Puppet[:environment] as configured on the server, which will typically be \"production\". Note the agent may go through several \"hops\" until it converges on the correct environment. In other words, \"production\" is just a stepping stone to get to the correct environment in the same way that a newly provisioned agent does (or if you delete the agent's cache directory).\n\n{quote}We don't currently see this auto-switching behavior in our systems that are running 6.19.1{quote}\n\nThe change was introduced in PUP-6802. Previously if the agent requested a non-existent environment, the entire run failed, even when the ENC was controlling the environment. Worst case, agents are configured to use an environment in puppet.conf and you delete the environment from the server. Then every agent is stuck and you can't use puppet to fix itself. So you have to bolt/ssh to every agent node and delete the setting.\n\nNow (after PUP-6802) when server-specified environments are used, the ENC is given an opportunity to redirect the agent to the correct environment. So agents are self-healing. When agent-specified environment are used, the server tells the agent to fallback (as described above). When the agent receives a catalog (compiled in production), it will abort the run when \"strict_environment_mode\" is set. However, when this bug is fixed, the agent will fail early, because it knows the environment doesn't exist on the server so there's no point in requesting a catalog.\n\n{quote}Is that a Puppet 7 only feature?{quote}\n\nPUP-6802 was fixed in both 6 and 7 streams. You can use the \"strict_environment_mode\" option/setting in both streams as it's been around for a long time. And it really *should* be used in cases where you're wanting to use agent-specified environments. Otherwise you can't really guarantee which environment was used to compile the catalog.", "created": "2022-02-15T13:18:00.000000"}, {"author": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "body": "Ah, thank you [~accountid:63d40628f6e1b543161789a7]", "created": "2022-02-22T13:57:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 2c1ce461ab", "created": "2022-03-14T10:25:00.000000"}], "components": [], "created": "2022-01-31T15:18:00.000000", "creator": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "When using \"strict_environment_mode=true\", if the agent requests an environment that doesn't exist on the server, then the agent should fail the run without pluginsyncing or requesting a catalog. This is true for both server and agent specified environments.\n\nPreviously the agent skipped pluginsync, requested a catalog, the server redirected the agent to \"production\" and the agent compared the catalog's environment with the environment it requested. If those were mismatched it failed the run, but it was \"too late\"."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@16991e6d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master Config", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Monolithic"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "CentOS 7"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dvus:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "When running in strict environment mode, we now fail the run early if the requested environment does not exist on the server or if the server does not allow the agent to specify it's own environment."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Feb/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_983637059_*|*_1_*:*_1_*:*_8201416_*|*_10007_*:*_1_*:*_338386939_*|*_3_*:*_1_*:*_271200931_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_119127626_*|*_10006_*:*_1_*:*_1050907403_*|*_10005_*:*_1_*:*_836180268"}], "description": "*Puppet Version:*\n*Puppet Server Version:*\n*OS Name/Version:*\n\nDescribe your issue in as much detail as possible\u2026\nDescribe steps to reproduce\u2026\n\n*Desired Behavior:*\n\n\n*Actual Behavior:*\n\n\nPlease take a moment and attach any relevant log output and/or manifests. This will help us immensely when troubleshooting the issue.\n\nExamples:\nRun puppet agent with --test --trace --debug\n\nRelevant sections of {{/var/log/puppetlabs/puppetserver/puppetserver.log}} or any applicable logs from the same directory.\n\nFor more detailed information turn up the server logs by upping the log level in the server's logback.xml\n\nRelevant sections of configurations files (puppet.conf, hiera.conf, Server's conf.d, defaults/sysconfig)\n\nFor memory issues with server heap dumps are also helpful.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25540", "fixedVersions": ["PUP 6.27.0", "PUP 7.15.0"], "id": "25540", "issueType": "Bug", "key": "PUP-11440", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "resolution": "Fixed", "resolutionDate": "2022-03-14T10:25:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "No option to fail fast when agent-specified environment does not exist", "timeSpent": "PT0S", "updated": "2022-03-15T11:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c08e7a1d81f0069d8dd26", "attachments": [], "comments": [], "components": [], "created": "2022-01-30T10:38:00.000000", "creator": "623c08e7a1d81f0069d8dd26", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@52b6488a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0e1b4:"}], "description": "Ruby 3.0 ships ruby-openssl 3.0, which support Ed25519 through the generic {{OpenSSL::PKey::PKey}} interface.\n\nPuppet 7.14.0 fails with Ed25519 agent certificate/key:\n{code}\nError: Unsupported key 'OpenSSL::PKey::PKey'\n{code}\n\nThe reason for this is a check in {{lib/puppet/x509/cert_provider.rb}}, which checks for specific key types preventing the generic key type support from working. Simply removing the check is sufficient.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29839", "fixedVersions": [], "id": "29839", "issueType": "Improvement", "key": "PUP-11439", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Trivial", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c08e7a1d81f0069d8dd26", "status": "Ready for Merge", "statusCategory": "In Progress", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Ed25519 support", "timeSpent": "PT0S", "updated": "2022-03-02T11:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:623e77a0b75ca800705811f4] It seems like this has never worked. Is there another way to accomplish your use case?", "created": "2022-02-01T14:22:00.000000"}, {"author": "623e77a0b75ca800705811f4", "body": "Yes, there is. I have actually chatted about this with Henrik Lindberg and his workaround to coerce the tree_each output into an array before passing on to reduce works for me. Nevertheless he considered it to be a bug that should be fixed and asked me to submit it. I do agree with him because there is really no reason for this not to work.\n{code:java}\n$tree = {}\nnotice Array($tree.tree_each).reduce({}) |$m, $v| { $m }        # works!{code}\nIf there are no plans to fix that, I think the documentation should be updated to exclude reduce from the list of the functions that could be chained to tree_each.", "created": "2022-02-01T17:14:00.000000"}, {"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "We currently don't plan to address this, you can submit a PR if you would like us to review it. We will update our documentation to remove it from our list. cc/[~accountid:5b0340d43eafdb09dee5bc3a]", "created": "2022-02-08T14:46:00.000000"}], "components": ["Language"], "created": "2022-01-28T10:27:00.000000", "creator": "623e77a0b75ca800705811f4", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@39fe0adc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0e14g:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Just a docs change to make things clear reduce isn't supported."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Feb/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_965989336_*|*_10009_*:*_1_*:*_2683564127_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_15452_*|*_10005_*:*_1_*:*_2823423"}], "description": "_tree_each_ function returns an iterator, which is supposed to chain with\u00a0_revers_each,_\u00a0_filter, map_ and\u00a0_reduce_ according to the [documentation|https://puppet.com/docs/puppet/7/function.html#tree-each|#tree-each]. In practice one of the chained functions,\u00a0_reduce_ does not work.\n\nThe minimal code to reproduce with\u00a0{_}puppet apply{_}:\n{code:java}$tree = {}\nnotice $tree.tree_each.reduce({}) |$m, $v| { $m } {code}\nThis results in an error:\n{code:java}Error: Evaluation Error: Error while evaluating a Method call, undefined method `reduce' for #<Puppet::Pops::Types::Iterable::DepthFirstTreeIterator:0x00005653899c8280>\nDid you mean?\u00a0 rescue (file: /srv/production/site/profile/manifests/test.pp, line: 2, column: 30) on node ruthenium-dev{code}\n[~accountid:63d40628f6e1b543161789a7]\u00a0", "environment": "Tested on Debian 10,11/Ubuntu 18.04,20.04/Red Hat 7,8/Oracle Linux 7,8/CentOS 7,8. Tested on the latest puppet agent versions, but likely this has been around since forever.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24629", "fixedVersions": ["PUP 6.27.0"], "id": "24629", "issueType": "Bug", "key": "PUP-11438", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e77a0b75ca800705811f4", "resolution": "Won't Do", "resolutionDate": "2022-03-11T17:00:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "An iterable returned by tree_each iterator does not work with reduce ", "timeSpent": "PT0S", "updated": "2022-04-01T16:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The problem is that if {{--environment}} is specified, then we [create a Node|https://github.com/puppetlabs/puppet/blob/94367437fc075a48d279a7f481a708ae0e0faae0/lib/puppet/application/lookup.rb#L378], but never call {{Node#facts_merge}} which is what populates the node's parameters. Normally this occurs in the [plain|https://github.com/puppetlabs/puppet/blob/4772afa194402a3876069785a178611797a8eb7d/lib/puppet/indirector/node/plain.rb#L18] or [classifier|https://github.com/puppetlabs/classifier/blob/c17d2f7f1b2edd86b5c90edc3ff4371c8d10ed56/puppet/lib/puppet/indirector/node/classifier.rb#L91-L95] node termini.", "created": "2022-01-27T17:26:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I think we want to do something like the following (ignoring whitespace changes):\n\n{code:diff}\ndiff --git a/lib/puppet/application/lookup.rb b/lib/puppet/application/lookup.rb\nindex cfbcfab81e..b9e6f22c87 100644\n--- a/lib/puppet/application/lookup.rb\n+++ b/lib/puppet/application/lookup.rb\n@@ -374,12 +374,9 @@ Copyright (c) 2015 Puppet Inc., LLC Licensed under the Apache 2.0 License\n \n     unless node.is_a?(Puppet::Node) # to allow unit tests to pass a node instance\n       facts = retrieve_node_facts(node, given_facts)\n-      if Puppet.settings.set_by_cli?('environment')\n-        node = Puppet::Node.new(node, :classes => nil, :parameters => nil, :facts => facts, :environment => Puppet.settings.value('environment'))\n-      else\n       ni = Puppet::Node.indirection\n       tc = ni.terminus_class\n-        if options[:compile]\n+      if options[:compile] && !Puppet.settings.set_by_cli?('environment')\n         if tc == :plain\n           node = ni.find(node, facts: facts)\n         else\n@@ -402,10 +399,9 @@ Copyright (c) 2015 Puppet Inc., LLC Licensed under the Apache 2.0 License\n         end\n       else\n         ni.terminus_class = :plain\n-          node = ni.find(node, facts: facts)\n+        node = ni.find(node, facts: facts, environment: Puppet[:environment])\n         ni.terminus_class = tc\n       end\n-      end\n     else\n       node.add_extra_facts(given_facts) if given_facts\n     end\n\n{code}\n\nSo if an environment is specified on the command line, then we always use the {{plain}} node terminus **and pass in our current environment** so that the returned node object has all of the correct node parameters. If the environment doesn't exist locally then the command should fail (with and without the --compile) option.", "created": "2022-02-10T00:25:00.000000"}, {"author": "557058:79f2fdd6-baee-43c4-91af-c7e647173c95", "body": "I typoed the ticket number on my PR, link to it is https://github.com/puppetlabs/puppet/pull/8892", "created": "2022-03-09T13:08:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 2c1ce461ab", "created": "2022-03-14T10:22:00.000000"}, {"author": "60e4906e4134aa006931a5d6", "body": "Thanks, will do!", "created": "2022-03-14T10:37:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "Hi [~accountid:63d40628f6e1b543161789a7],\nI'm currently testing on PE 2019 with Puppet Agent 6.27.0 and PE 2021 with Puppet Agent 7.16.0. I have topscope *variables* set in nodegroups in the PE console. I use those in hiera.yaml. Normal puppet agent runs works fine. I'm not able to lookup keys in Hiera with `puppet lookup` because it cannot resolve the topscope variables. I think fixing that wasn't the intention of the PR? puppet lookup now resolves facts, that are written as topscope variables, but not all topscope variables?\n\nIf my assumption is true I think the text in the release notes should be updated, it's a bit missleading.", "created": "2022-06-20T07:00:00.000000"}], "components": [], "created": "2022-01-27T17:11:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The puppet lookup command should resolve topscope variables when an environment is specified on the command line in the same way it does when the environment is specified in puppet.conf."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@596cfb63"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dvur:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "(Note from Heston: I've added the known issue to the docs, it will need to be removed when the fix goes live in the versions above.)\n\nPuppet 6.26 and 7.14 will fail to resolve toplevel facts in hiera configs when using the --environment option for puppet lookup. As a workaround use trusted facts or specify the fact value using the \"facts\" hash, such as  \"%{facts.hostname}\""}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "49053"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Mar/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_334467769_*|*_1_*:*_1_*:*_422413249_*|*_10007_*:*_1_*:*_84179155_*|*_3_*:*_1_*:*_690325444_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1654224618_*|*_10005_*:*_1_*:*_760803518"}], "description": "A regression introduced in PUP-7479 causes \"puppet lookup --environment <env> <key>\" to no longer set node parameters as topscope variables. If hiera.yaml is configured to interpolate based on topscope variables, such as \"nodes/%\\{fqdn}.yaml\", then the variable will be interpolated as an empty string.\n\nGiven a basic setup:\n{code}# tree /etc/puppetlabs/code/environments/\n/etc/puppetlabs/code/environments/\n\u251c\u2500\u2500 production\n\u2514\u2500\u2500 test\n    \u251c\u2500\u2500 data\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 common.yaml\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 iron-judgement.yaml\n    \u2514\u2500\u2500 hiera.yaml\n\n3 directories, 3 files\n# cat /etc/puppetlabs/code/environments/test/hiera.yaml \n---\nversion: 5\nhierarchy:\n  - name: \"node\"\n    paths:\n      - \"%{hostname}.yaml\"\n  - name: \"common\"\n    paths:\n      - \"common.yaml\"\n# cat /etc/puppetlabs/code/environments/test/data/common.yaml \n---\nfoo: defined in common\n# cat /etc/puppetlabs/code/environments/test/data/iron-judgement.yaml \n--- {}\n{code}\nThen a warning is generated trying to resolve the `hostname` variable:\n{code}# bundle exec puppet lookup -E test foo --explain\nWarning: Undefined variable 'hostname'; \n   (file & line not available)\nSearching for \"lookup_options\"\n  Global Data Provider (hiera configuration version 5)\n    No such key: \"lookup_options\"\n  Environment Data Provider (hiera configuration version 5)\n    Using configuration \"/etc/puppetlabs/code/environments/test/hiera.yaml\"\n    Merge strategy hash\n      Hierarchy entry \"node\"\n        Path \"/etc/puppetlabs/code/environments/test/data/.yaml\"\n          Original path: \"%{hostname}.yaml\"\n          Path not found\n      Hierarchy entry \"common\"\n        Path \"/etc/puppetlabs/code/environments/test/data/common.yaml\"\n          Original path: \"common.yaml\"\n          No such key: \"lookup_options\"\n{code}\nNote the path \"/etc/puppetlabs/code/environments/test/data/.yaml\"\n\nThe issue does not occur when an environment is omitted from the command line or when hiera interpolation uses facts such as \"nodes/%\\{facts.hostname}.yaml\".", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22460", "fixedVersions": ["PUP 6.27.0", "PUP 7.15.0"], "id": "22460", "issueType": "Bug", "key": "PUP-11437", "labels": ["docs_reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2022-03-14T10:25:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "puppet lookup fails to interpolate topscope variables when an environment is specified", "timeSpent": "PT0S", "updated": "2022-07-25T07:17:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5a6067ef7b4e6b6c2a81b790", "body": "Given that leaving older files around will increase the likelihood of more security issues, please can you update all future Puppet agent installers to remove legacy folders if found on a system.\n\nIE, If we upgrade a Agent from 6->7 and the server previously had 5, then upgrade process should clean up the mess that the previous upgrade left.", "created": "2022-01-26T06:02:00.000000"}], "components": [], "created": "2022-01-26T05:51:00.000000", "creator": "5bb243ee607be0205f96d28d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@18988783"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dxvc:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Jan/22"}], "description": "There were changes to the location of files between Puppet 5 and Puppet 6 in windows:\n\nFrom https://github.com/puppetlabs/puppet-specifications/blob/master/file_paths.md#puppet-agent-6-windows\n * To make the paths in the Windows agent more consistent with other platforms, install paths have changed as follows:\n ** The base of the ruby installation has moved from\u00a0{{C:\\Program Files\\Puppet Labs\\Puppet\\sys\\ruby}}\u00a0to\u00a0{{C:\\Program Files\\Puppet Labs\\Puppet\\puppet}}\n ** Tools (like\u00a0{{{}elevate.exe{}}}) have similarly moved from\u00a0{{C:\\Program Files\\Puppet Labs\\Puppet\\sys\\tools}}\u00a0to\u00a0{{C:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin}}\n ** The agent components facter, hiera, and pxp-agent no longer have their own dedicated install locations at\u00a0{{{}C:\\Program Files\\Puppet Labs\\Puppet\\<component-name>{}}}; they are installed to the same prefix as other projects ({{{}C:\\Program Files\\Puppet Labs\\Puppet\\puppet{}}})\n\nCurrently, on an upgrade from puppet 5 to puppet 6 these old files and directories are left in place. This results in issues such as security scanners flagging vulns in old versions that are no longer actually used.\n\nOld files and directories no longer used should be cleaned up as part of the upgrade process.\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25538", "fixedVersions": [], "id": "25538", "issueType": "Improvement", "key": "PUP-11436", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5bb243ee607be0205f96d28d", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "No longer used files and directories should be cleaned on upgrade", "timeSpent": "PT0S", "updated": "2023-02-13T06:28:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5b64ddd7d1e8dc2d916c6289", "body": "Found more instances of this cropping up.  When we want to use our own test facts, the {{facter.reset}} seems to change things to have it start reading facts from the node you are running tests on instead.  For example, https://github.com/puppetlabs/puppet-enterprise-modules/blob/main/modules/pe_install/spec/hosts/monolithic_spec.rb is loading up a set of facts from rspec-puppet-facts for different OS types and doing {{let(:facts}}} to set them (https://github.com/puppetlabs/puppet-enterprise-modules/blob/main/modules/pe_install/spec/shared/contexts.rb#L11-L18).  \n\nAt https://github.com/puppetlabs/puppet-enterprise-modules/blob/main/modules/pe_install/spec/hosts/monolithic_spec.rb#L267 which runs https://github.com/puppetlabs/puppet-enterprise-modules/blob/main/modules/pe_install/spec/hosts/monolithic_spec.rb#L4-L6, the first compile uses the test's facts, but the second one ends up picking up the test runner node's facts, I assume because the {{facter.reset}} happened in there somewhere.\n\nVerified this happens with Puppet 6.26 but not 6.25.1.", "created": "2022-01-26T15:14:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Interestingly, pdk has a command to generate a new custom fact and related unit test. The pdk automatically adds a {{Facter.clear}} in a \"before each\":\n\n{code:ruby}\n# frozen_string_literal: true\n\nrequire 'spec_helper'\nrequire 'facter'\nrequire 'facter/foo'\n\ndescribe :foo, type: :fact do\n\u00a0 subject(:fact) { Facter.fact(:foo) }\n\n\u00a0 before :each do\n\u00a0 \u00a0 # perform any action that should be run before every test\n\u00a0 \u00a0 Facter.clear\n\u00a0 end\nend\n{code}\n\nwhere \"clear\" does even more than \"reset\". That said, I agree puppet should call \"Facter.reset\" (or perhaps \"Facter.clear\") in its spec_helper so it executes before each test, instead of in the settings code.", "created": "2022-01-31T17:46:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "In the case where things work, only one instance of {{Packages}} is created (early on when inventory.rb is loaded) and is shared across tests, which means there is the potential for state to leak across tests.\n\nIn the case where things don't work, the call to {{Facter.reset}} unregisters the fact. So the *next* call to {{Facter.value('_puppet_inventory_1')}} will force the fact to be *reloaded* via {{{}Kernel.load{}}}. My theory is that the {{{}allow_any_instance_of(...).to receive(:enabled?)}} redefines the method on the class, but {{Kernel.load}} reloads the class, effectively overwriting rspec's hook. As a result, the real {{enabled?}} method is called, which breaks the test.\n\nI think we should just remove the call to {{Facter.reset}} like [~accountid:5b64ddd7d1e8dc2d916c6289] suggested earlier.", "created": "2022-02-09T22:35:00.000000"}, {"author": "557058:79f2fdd6-baee-43c4-91af-c7e647173c95", "body": "This looks good, with the change in puppet I tested the puppet-enterprise-modules failure.\nLocally in my puppet repo I pulled down the changes on the 6.x branch, then I updated puppet-enterprise-module's gemfile to have this line `  gem 'puppet', :path => '../puppet'` and ran bundle install in order to get bundle to use the puppet that has the fix.\nThen I re-ran the puppet_enterprise module's spec test and that is now passing. \n", "created": "2022-02-14T13:46:00.000000"}], "components": [], "created": "2022-01-25T17:57:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "# Change is made to 6.x and main\n# The puppet_enterprise_module rspec tests should pass given the reproduction steps in the description"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@c62a4b5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dvli:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Rspec tests with custom facts failed on some modules\n\nThis release fixes an issue where rspec module tests would compile with the runner node\u2019s facts instead of using the custom facts supplied by the test."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Jan/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_261493915_*|*_1_*:*_1_*:*_503728603_*|*_10007_*:*_1_*:*_12086767_*|*_10009_*:*_1_*:*_156673352_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_531627_*|*_10006_*:*_1_*:*_6840_*|*_10005_*:*_1_*:*_935138534"}], "description": "Commit 78246ca8d08dee770886f0940a6472c45483d627 first released in 6.26.0 and 7.13.0 speeds up rspec tests but breaks puppet-enteprise-modules due to the way {{Facter.reset}} breaks stubbing for a custom fact.\n\n[https://github.com/puppetlabs/puppet/commit/78246ca8d08dee770886f0940a6472c45483d627]\n\nThis ticket is to:\n\n1. Delete the call to {{Facter.reset}} line in [https://github.com/puppetlabs/puppet/blob/4772afa194402a3876069785a178611797a8eb7d/lib/puppet/defaults.rb#L1998]\n2. Optional (attempt 1), try adding {{Facter.reset}} to puppet's [spec_helper.rb|https://github.com/puppetlabs/puppet/blob/4772afa194402a3876069785a178611797a8eb7d/sec/spec_helper.rb]. That way the facter search path is reset across tests, but it's only triggered when running puppet's spec tests. But not when a module runs tests and calls puppet as a library.\n3. Optional (attempt 2), if attempt 1 doesn't work, try adding {{Facter.reset}} to puppet's [test helper|https://github.com/puppetlabs/puppet/blob/4772afa194402a3876069785a178611797a8eb7d/lib/puppet/test/test_helper.rb#L145-L146] This likely has to be done after the call to {{{}Puppet.runtime[:facter]{}}}. Note this code will be invoked by modules that are using puppetlabs_spec_helper.\n4. If neither work, just omit the call to Facter.reset entirely.\n5. A more complete fix is to understand why this issue affects PE modules, but not a custom module generated via pdk (see comment below).\n\nTo reproduce the issue:\n{code}\n$ git clone git@github.com:puppetlabs/puppet_enterprise_modules\n$ cd puppet_enterprise_modules\n$ git revert f8ec0e5d9234be99b3566034e921d797fb85ea43\n$ PUPPET_VERSION=\"6.26.0\" bundle install --without system_tests\u00a0\n$ cd modules/puppet_enterprise\n$ PUPPET_VERSION=\"6.26.0\" bundle exec rake spec SPEC=spec/unit/facter/inventory_spec.rb\n...\nFailures:\u00a0 \n1) inventory facts the inventory and metadata facts when setting the inventory fact wil be populated when enabled\n\u00a0 \u00a0 \u00a0Failure/Error: expect(Facter.value('_puppet_inventory_1')).not_to be nil\n\u00a0 \u00a0 \u00a0\n\u00a0 \u00a0 \u00a0 \u00a0expected not #<NilClass:8> => nil\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 got #<NilClass:8> => nil\n\u00a0 \u00a0 \u00a0\n\u00a0 \u00a0 \u00a0 \u00a0Compared using equal?, which compares object identity.\n\u00a0 \u00a0 \u00a0# ./spec/unit/facter/inventory_spec.rb:77:in `block (4 levels) in <top (required)>'\u00a0 \n2) inventory facts the inventory and metadata facts when setting the metadata fact sets enabled to true if enabled\n\u00a0 \u00a0 \u00a0Failure/Error: expect(Facter.value('puppet_inventory_metadata')['packages']['collection_enabled']).to be true\n\u00a0 \u00a0 \u00a0\n\u00a0 \u00a0 \u00a0 \u00a0expected true\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 got false\n\u00a0 \u00a0 \u00a0# ./spec/unit/facter/inventory_spec.rb:89:in `block (4 levels) in <top (required)>'Finished in 0.16165 seconds (files took 0.97491 seconds to load)\n9 examples, 2 failures\nFailed examples:\nrspec ./spec/unit/facter/inventory_spec.rb:75 # inventory facts the inventory and metadata facts when setting the inventory fact wil be populated when enabled\nrspec ./spec/unit/facter/inventory_spec.rb:87 # inventory facts the inventory and metadata facts when setting the metadata fact sets enabled to true if enabled{code}\nBut if then if you downgrade to 6.25.1 it works:\n{code}$ PUPPET_VERSION=\"6.25.1\" bundle update\n...\nUsing puppet 6.25.1 (was 6.26.0)\n...\n$ PUPPET_VERSION=\"6.25.1\" bundle exec rake spec SPEC=spec/unit/facter/inventory_spec.rb\n...\nFinished in 0.08799 seconds (files took 0.97687 seconds to load)\n9 examples, 0 failures\n{code}\n\nIf you go back to 6.26.0 and comment out the {{Facter.reset}} line in defaults.rb it works:\n\n{code}\n$ PUPPET_VERSION=\"6.26.0\" bundle update\n$ vi $(PUPPET_VERSION=\"6.26.0\" bundle exec gem which puppet/defaults.rb)\n# comment out the call to \"facter.reset\" and it should now pass\n$ PUPPET_VERSION=\"6.26.0\" bundle exec rake spec SPEC=spec/unit/facter/inventory_spec.rb\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29838", "fixedVersions": ["PUP 6.27.0", "PUP 7.15.0"], "id": "29838", "issueType": "Bug", "key": "PUP-11435", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2022-02-16T09:18:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Puppet 6.26 and 7.13 may cause specs to fail", "timeSpent": "PT0S", "updated": "2022-03-15T11:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:264d98ab-191e-423f-9df5-80b0dedb254e] this is most likely caused by a mismatched versions of code between the running puppetserver instance and the puppet-agent package. Can you please restart the puppetserver service after upgrading the puppet-agent package (on the server)? See\u00a0 also SERVER-1756", "created": "2022-01-25T16:18:00.000000"}, {"author": "557058:87794f03-5ebb-463b-a83b-14e61f55aa9c", "body": "Restarting the server worked for us.", "created": "2022-01-30T11:00:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:5b0340d43eafdb09dee5bc3a] [~accountid:60e4906e4134aa006931a5d6] could we add something to the platform release notes to the effect that if the puppet-agent package is updated on the puppetserver host, then the puppetserver service needs to be restarted?", "created": "2022-02-01T14:41:00.000000"}, {"author": "60e4906e4134aa006931a5d6", "body": "Added notes specifying server needs to be restarted after upgrade", "created": "2022-03-29T21:52:00.000000"}], "components": ["Functions"], "created": "2022-01-25T02:34:00.000000", "creator": "557058:264d98ab-191e-423f-9df5-80b0dedb254e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@bb06835"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "CentOS 7"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dwqo:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Jan/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_653073639_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_4855991629"}], "description": "After upgrading puppet agent from 6.25.1 to 6.26.0, puppet is hard failing with errors such as:\n\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Function Call,\nwrong number of arguments (given 3, expected 2) (file: /etc/puppetlabs/code/environments/production/vendor-modules/puppet_agent/manifests/prepare/puppet_config.pp, line: 27, column: 9) on node web1.alpha.clusters.3pth.com\n\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Function Call,\nwrong number of arguments (given 3, expected 2) (file: /etc/puppetlabs/code/environments/production/vendor-modules/ssh/manifests/init.pp, line: 150, column: 10) on node web1.prontospot.clients.3pth.com\n\n\u00a0\n\nAll signs are pointing to an error with the versioncmp() function, which was recently updated for version 6.26.0 (https://puppet.atlassian.net/browse/PUP-11235). It seems that an unintended change in how versioncmp() works is affecting multiple critical packages (e.g. puppet_agent, ssh). It seems that versioncmp is acting as if additional arguments are being supplied to it which causes a 500 and failure of puppet agent runs.\n\nThe issue can be resolved by downgrading puppet-agent to the previous version on puppet server.\n\n`yum downgrade puppet-agent`", "environment": "Puppet 6 with Centos7 and all patches applied", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22459", "fixedVersions": [], "id": "22459", "issueType": "Bug", "key": "PUP-11434", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:264d98ab-191e-423f-9df5-80b0dedb254e", "resolution": "Fixed", "resolutionDate": "2022-03-29T21:52:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "versioncmp - Error while evaluating a Function Call, wrong number of arguments (given 3, expected 2)", "timeSpent": "PT0S", "updated": "2022-03-29T21:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Modules"], "created": "2022-01-24T05:29:00.000000", "creator": "70121:905a82c3-3318-42bc-85c9-71dce0bfea0e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@42512249"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dvqo:"}], "description": "Since RHEL7/CentOS7, systemd is used to manage services.\n\nHowever in RHEL/CentOS, the old \"redhat\" provider is used by default, and the module should be updated when adding support for a new version.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29837", "fixedVersions": [], "id": "29837", "issueType": "Bug", "key": "PUP-11433", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:905a82c3-3318-42bc-85c9-71dce0bfea0e", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Use systemd provider by default in RHEL/CentOS", "timeSpent": "PT0S", "updated": "2022-06-21T10:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Thoughts about this [~accountid:557058:31c596d1-7e27-4c91-bc18-1254edb3caab]? Is there something that needs to be updated in vanagon or our build automation?", "created": "2022-02-01T14:50:00.000000"}, {"author": "70121:64260ba9-b0ac-48da-a645-42085c6d8d09", "body": "I understand that \"me too\" is not too productive kind of comments.. but we just hit the issue too after buster -> bullseye upgrade. Could you please adjust the package naming for future releases?", "created": "2022-04-20T07:59:00.000000"}, {"author": "557058:a5061931-3141-4af9-ad1a-6379500a9ef1", "body": "hi,\n\n\u00a0same here, know that you can use the version NAME but after a ~.\u00a0 Like mydumper for exemple\n\nVersion: 0.12.7-3~buster\n\nthe part after the tilde will not be an issue here.\n\n\u00a0\n\nif not you'll have\n\ndpkg: warning: downgrading puppet-agent from 6.28.0-1buster to 6.28.0-1bullseye\nPreparing to unpack .../220-puppet-agent_6.28.0-1bullseye_amd64.deb ...\nUnpacking puppet-agent (6.28.0-1bullseye) over (6.28.0-1buster) ...\n\n\u00a0\n\nbest regards,\n\nGhislain.\n\n\u00a0", "created": "2022-11-30T09:55:00.000000"}], "components": [], "created": "2022-01-22T11:37:00.000000", "creator": "623a4a598d8b9c0068b7e31a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7c586942"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dvpc:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Feb/22"}], "description": "Please use Debian package versions that sort properly across Debian releases. Currently, when upgrading from Debian 10 buster to Debian 11 bullseye for example, the buster package versions are higher than the bullseye versions, which means you have to manually upgrade these packages:\n\n{code}\n% apt policy puppet-agent puppetserver puppetdb               \npuppet-agent:\n  Installed: 7.14.0-1buster\n  Candidate: 7.14.0-1buster\n  Version table:\n *** 7.14.0-1buster 100\n        100 /var/lib/dpkg/status\n     7.14.0-1bullseye 500\n        500 https://apt.puppet.com bullseye/puppet amd64 Packages\n     7.13.1-1bullseye 500\n        500 https://apt.puppet.com bullseye/puppet amd64 Packages\n     7.12.1-1bullseye 500\n        500 https://apt.puppet.com bullseye/puppet amd64 Packages\n     7.12.0-1bullseye 500\n        500 https://apt.puppet.com bullseye/puppet amd64 Packages\n     7.11.0-1bullseye 500\n        500 https://apt.puppet.com bullseye/puppet amd64 Packages\n     7.10.0-1bullseye 500\n        500 https://apt.puppet.com bullseye/puppet amd64 Packages\n     7.9.0-1bullseye 500\n        500 https://apt.puppet.com bullseye/puppet amd64 Packages\npuppetserver:\n  Installed: 7.6.0-1buster\n  Candidate: 7.6.0-1buster\n  Version table:\n *** 7.6.0-1buster 100\n        100 /var/lib/dpkg/status\n     7.6.0-1bullseye 500\n        500 https://apt.puppet.com bullseye/puppet amd64 Packages\n        500 https://apt.puppet.com bullseye/puppet all Packages\npuppetdb:\n  Installed: 7.9.0-1buster\n  Candidate: 7.9.0-1buster\n  Version table:\n *** 7.9.0-1buster 100\n        100 /var/lib/dpkg/status\n     7.9.0-1bullseye 500\n        500 https://apt.puppet.com bullseye/puppet amd64 Packages\n        500 https://apt.puppet.com bullseye/puppet all Packages\n{code}\n\nFor example, replacing the codename (\"bullseye\") with the numerical version (\"debian11\") would solve the problem.\n\nVersion number format reference: https://manpages.debian.org/unstable/dpkg-dev/deb-version.7.en.html\n\nVersion comparison tool: https://manpages.debian.org/unstable/dpkg/dpkg.1.en.html#compare", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22458", "fixedVersions": [], "id": "22458", "issueType": "Bug", "key": "PUP-11432", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4a598d8b9c0068b7e31a", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Debian package versions don't allow for clean upgrades", "timeSpent": "PT0S", "updated": "2024-02-26T15:18:00.000000", "votes": "3", "watchers": []}, {"affectedVersions": [], "assignee": "61bb63041baa2b0069ef30a1", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68] we tried switching puppet builtin providers to using structured facts, but that introduced problems within the puppet ecosystem. I've linked this ticket to the other one. I agree we'd need to do this in puppet 8 as modules would need to be updated to stub the appropriate set of facts for provider suitability/confining logic.", "created": "2022-02-01T15:00:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Once PUP-11662 is implemented it should be trivial to change the default in puppet 8.", "created": "2022-10-20T17:16:00.000000"}], "components": [], "created": "2022-01-20T02:54:00.000000", "creator": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5f096ce6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4664"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3fk:i00019ci"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Feb/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_345034863_*|*_1_*:*_1_*:*_1080391280_*|*_10007_*:*_2_*:*_65999183_*|*_3_*:*_1_*:*_169123964_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_22551770820_*|*_10005_*:*_1_*:*_6485220135"}], "description": "Hi!\nhttps://puppet.com/docs/puppet/7/core_facts.html mentions a few facts that are listed as legacy for some time. I think puppet 8 (or facter 5?) would be a good time to drop them. The structured facts provide alternatives and the reduced amount of facts would be helpful to reduce the data sent to puppetdb. \nDo you already have a timeline here?", "epicLinkSummary": "Puppet 8", "estimate": "PT0S", "externalId": "29836", "fixedVersions": ["PUP 8.0.0"], "id": "29836", "issueType": "Improvement", "key": "PUP-11430", "labels": [], "originalEstimate": "PT0S", "parent": "57676", "parentSummary": "Puppet 8", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "resolution": "Fixed", "resolutionDate": "2023-01-10T10:00:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Don't include legacy facts by default", "timeSpent": "PT0S", "updated": "2023-01-10T10:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623c16c7a9575800695acff5", "body": "[Pullrequest on Github|https://github.com/puppetlabs/puppet/pull/8858]\n\n\u00a0", "created": "2022-01-18T03:12:00.000000"}], "components": [], "created": "2022-01-18T03:07:00.000000", "creator": "623c16c7a9575800695acff5", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@61ee650e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3z5:r9090000j9000i"}], "description": "Make split() sensitive-aware", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28732", "fixedVersions": [], "id": "28732", "issueType": "Improvement", "key": "PUP-11429", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c16c7a9575800695acff5", "status": "Ready for Merge", "statusCategory": "In Progress", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Make split() sensitive-aware", "timeSpent": "PT0S", "updated": "2022-07-27T15:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Moved to PUP project", "created": "2022-01-12T09:49:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:5dcc169191a0610e03b83549] This is indeed a bug, but it's yet another reason (out of many) to run puppet from cron or scheduled task. Most folks use that combined with the fqdn_rand function to space agent runs out across the 30 minute interval. As such, we're not likely to fix this any time soon.", "created": "2022-02-08T15:07:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Note Windows and AIX agents don't have this issue because they effectively run `puppet agent --onetime\" every 30 minutes, see https://github.com/puppetlabs/puppet/blob/d2ae297f13e48aca57e44a48083f8c1a4fb7d39f/ext/windows/service/daemon.rb#L83 and https://github.com/puppetlabs/puppet-agent/blob/main/resources/aix/puppet.service", "created": "2022-02-23T11:48:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 45464318f", "created": "2022-04-20T10:39:00.000000"}], "components": [], "created": "2022-01-11T08:50:00.000000", "creator": "5dcc169191a0610e03b83549", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@459b6661"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dvuy:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet agent now reloads its CA and CRL bundles during each run every 30 minutes. Previously it only loaded it when the process started, which meant the service had to be restarted if the CA/CRL files changed on disk."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Jan/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_579746681_*|*_1_*:*_1_*:*_2441362032_*|*_10007_*:*_1_*:*_713153926_*|*_3_*:*_1_*:*_428738591_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_4393554675"}], "description": "We have setup our puppet server's with a SubCA issued from our internal root. We have also setup a script to automatically load the Root CRLs into the PuppetServer CRL using the 'puppet-ca/v1/certificate_revocation_list' API endpoint. Finally, we have set crl_refresh_interval = 1d in puppet.conf on all of our agents.\n\nHowever, the behavior we are seeing is that the CRL is only refreshed when puppet is manually run (eg. using puppet agent --test from a root shell) or if the existing CRL is >1d old the first time puppet runs after the service is restarted. If the puppet agent is just left running (automatic runs every 30 minutes) the CRL is never refreshed and eventually expires.", "environment": "* OS: CentOS 7\n* Puppet Agent: 7.13.1-1\n* Puppet Server: 7.5.0-1\n* Puppet DB: 7.8.0-1\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21432", "fixedVersions": ["PUP 6.28.0", "PUP 7.17.0"], "id": "21432", "issueType": "Bug", "key": "PUP-11428", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5dcc169191a0610e03b83549", "resolution": "Fixed", "resolutionDate": "2022-04-20T10:39:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet Agent does not automatically refresh CRLs on crl_refresh_interval", "timeSpent": "PT0S", "updated": "2022-05-23T11:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623c0af91c7f6a007049e4e1", "body": "Update:\n\n\u00a0 \u00a0Re-install with Stock ubuntu from Canonical\u00a0\n\n\u00a0cat /etc/lsb-release\u00a0\nDISTRIB_ID=Ubuntu\nDISTRIB_RELEASE=21.10\nDISTRIB_CODENAME=impish\nDISTRIB_DESCRIPTION=\"Ubuntu 21.10\"\n\nKernel 5.13.0.25\n\n\u00a0Puppetserver and puppetdb install correctly as well as the dashboard.\u00a0\n\n\u00a0 \u00a0 \u00a0expected result :\u00a0\n\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0puppetserver installed\n\n\u00a0 \u00a0 \u00a0actual result:\n\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 puppetserver installed\n\n\u00a0 \u00a0\n\nprevious version on multipass was\n\ncat /etc/lsb-release\u00a0\nDISTRIB_ID=Ubuntu\nDISTRIB_RELEASE=20.04\nDISTRIB_CODENAME=focal\nDISTRIB_DESCRIPTION=\"Ubuntu 20.04.3 LTS\"\n\nKernel 5.4.0-92\n\n\u00a0this Still has the same Issue\n\n\u00a0 \u00a0\u00a0", "created": "2022-01-11T05:47:00.000000"}, {"author": "623c0af91c7f6a007049e4e1", "body": "update:\n\n\u00a0 \u00a0 \u00a0dump: /var/log/puppetlabs/puppetserver/puppetserver.log\n\nat clojure.core.async.impl.ioc_macros$run_state_machine.invokeStatic(ioc_macros.clj:973)\n\n\u00a0 \u00a0 \u00a0 \u00a0 at clojure.core.async.impl.ioc_macros$run_state_machine.invoke(ioc_macros.clj:972)\n\n\u00a0 \u00a0 \u00a0 \u00a0 at clojure.core.async.impl.ioc_macros$run_state_machine_wrapped.invokeStatic(ioc_macros.clj:977)\n\n\u00a0 \u00a0 \u00a0 \u00a0 at clojure.core.async.impl.ioc_macros$run_state_machine_wrapped.invoke(ioc_macros.clj:975)\n\n\u00a0 \u00a0 \u00a0 \u00a0 at clojure.core.async$ioc_alts_BANG_$fn__11920.invoke(async.clj:384)\n\n\u00a0 \u00a0 \u00a0 \u00a0 at clojure.core.async$do_alts$fn__11860$fn__11863.invoke(async.clj:253)\n\n\u00a0 \u00a0 \u00a0 \u00a0 at clojure.core.async.impl.channels.ManyToManyChannel$fn__6524$fn__6525.invoke(channels.clj:95)\n\n\u00a0 \u00a0 \u00a0 \u00a0 at clojure.lang.AFn.run(AFn.java:22)\n\n\u00a0 \u00a0 \u00a0 \u00a0 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n\n\u00a0 \u00a0 \u00a0 \u00a0 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n\n\u00a0 \u00a0 \u00a0 \u00a0 at java.lang.Thread.run(Thread.java:748)\n\nCaused by: org.jruby.embed.EvalFailedException: (Error) Cannot determine basic system flavour\n\n\u00a0 \u00a0 \u00a0 \u00a0 at org.jruby.embed.internal.EmbedEvalUnitImpl.run(EmbedEvalUnitImpl.java:131)\n\n\u00a0 \u00a0 \u00a0 \u00a0 at org.jruby.embed.ScriptingContainer.runUnit(ScriptingContainer.java:1295)\n\n\u00a0 \u00a0 \u00a0 \u00a0 at org.jruby.embed.ScriptingContainer.runScriptlet(ScriptingContainer.java:1288)\n\n\u00a0 \u00a0 \u00a0 \u00a0 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\n:", "created": "2022-01-11T12:44:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:623c0af91c7f6a007049e4e1] Ubuntu 21.04 and 21.10 are not supported agent or server platforms, see [https://puppet.com/docs/puppet/7/server/install_from_packages.html] You'll need to continue using 20.04 or wait for 22.04 support.", "created": "2022-01-11T12:58:00.000000"}, {"author": "623c0af91c7f6a007049e4e1", "body": "Thanks [~accountid:63d40628f6e1b543161789a7]\u00a021.10 dose work , as per my last but one entry . but its the Ubuntu 20.04.3 LTS that dose not.\u00a0\n\n\u00a0 see below:\n\nUpdate:\n\n\u00a0 \u00a0Re-install with Stock ubuntu from Canonical\u00a0\n\n\u00a0cat /etc/lsb-release\u00a0\nDISTRIB_ID=Ubuntu\nDISTRIB_RELEASE=21.10\nDISTRIB_CODENAME=impish\nDISTRIB_DESCRIPTION=\"Ubuntu 21.10\". \u00a0<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n\nKernel 5.13.0.25\n\n\u00a0Puppetserver and puppetdb install correctly as well as the dashboard.\u00a0\n\n\u00a0 \u00a0 \u00a0expected result :\u00a0\n\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0puppetserver installed\n\n\u00a0 \u00a0 \u00a0actual result:\n\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 puppetserver installed \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<. \u00a0Working\n\n\u00a0 \u00a0\n\nprevious version on multipass was\n\ncat /etc/lsb-release\u00a0\nDISTRIB_ID=Ubuntu\nDISTRIB_RELEASE=20.04\nDISTRIB_CODENAME=focal\nDISTRIB_DESCRIPTION=\"Ubuntu 20.04.3 LTS\" \u00a0 \u00a0<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n\nKernel 5.4.0-92\n\n\u00a0this Still has the same Issue \u00a0 \u00a0 \u00a0 \u00a0<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Not Working\n\n\u00a0\n\n\u00a0", "created": "2022-01-11T15:36:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:63d40628f6e1b543161789a7] Is this something your team can look into? We think it's a facter issue.", "created": "2022-01-20T11:31:00.000000"}, {"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "[~accountid:623c0af91c7f6a007049e4e1] can you provide detailed instructions for how to reproduce on Ubuntu 20.04", "created": "2022-02-15T14:42:00.000000"}, {"author": "623c0af91c7f6a007049e4e1", "body": "Hi Nirupama Mantha ,\n\nPlease see hopefully information provided below , \u00a0To produce the error by simply running\u00a0\n\n\u00a0 ' systemctl start puppetserver '\n\nhope there is enough info for you.\n\npuppet initilisation information:\n\n2022-01-11T01:52:56.222Z INFO \u00a0[async-dispatch-2] [p.t.s.w.jetty9-service] Initializing web server(s).\n2022-01-11T01:52:56.260Z INFO \u00a0[async-dispatch-2] [p.t.s.s.status-service] Registering status callback function for service 'puppet-profiler', version 7.5.0\n2022-01-11T01:52:56.267Z INFO \u00a0[async-dispatch-2] [p.s.j.jruby-puppet-service] Initializing the JRuby service\n2022-01-11T01:52:56.277Z INFO \u00a0[async-dispatch-2] [p.s.j.jruby-pool-manager-service] Initializing the JRuby service\n2022-01-11T01:52:56.291Z INFO \u00a0[async-dispatch-2] [p.s.j.jruby-puppet-service] JRuby version info: jruby 9.2.17.0 (2.5.8) 2021-03-29 84d363da97 OpenJDK 64-Bit Server VM 25.312-b07 on 1.8.0_312-8u312-b07-0ubuntu1~20.04-b07 +jit [linux-aarch64]\n\n\u00a0\n\n\u00a0 Puppet that is installed is :\n\npuppet-agent/focal,now 7.14.0-1focal arm64 [installed]\npuppet-tools-release/focal,focal,now 1.0.0-6focal all [installed]\npuppet7-release/focal,focal,now 7.0.0-2focal all [installed]\npuppetserver/focal,focal,now 7.6.0-1focal all [installed]\n\n\u00a0\n\n\u00a0 Puppet install details:\n\n\u00a0path => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin\npuppet_environmentpath => /etc/puppetlabs/code/environments\npuppet_server => puppetdb\npuppet_vardir => /opt/puppetlabs/puppet/cache\npuppetversion => 7.14.0\nsitedir => \"/opt/puppetlabs/puppet/lib/ruby/site_ruby/2.7.0\",\n\nPuppet config :\n\n\u00a0 \u00a0/opt/puppetlabs/bin# puppet config print all\nagent_catalog_run_lockfile = /opt/puppetlabs/puppet/cache/state/agent_catalog_run.lock\nagent_disabled_lockfile = /opt/puppetlabs/puppet/cache/state/agent_disabled.lock\nallow_duplicate_certs = false\nalways_retry_plugins = true\nautoflush = true\nautosign = /etc/puppetlabs/puppet/autosign.conf\nbasemodulepath = /etc/puppetlabs/code/modules:/opt/puppetlabs/puppet/modules\nbinder_config =\nbucketdir = /opt/puppetlabs/puppet/cache/bucket\nca_fingerprint =\nca_name = Puppet CA: legendary-stickleback.fritz.box\nca_port = 8140\nca_server = puppetdb\nca_ttl = 157680000\ncacert = /etc/puppetlabs/puppetserver/ca/ca_crt.pem\ncacrl = /etc/puppetlabs/puppetserver/ca/ca_crl.pem\ncadir = /etc/puppetlabs/puppetserver/ca\ncakey = /etc/puppetlabs/puppetserver/ca/ca_key.pem\ncapub = /etc/puppetlabs/puppetserver/ca/ca_pub.pem\ncatalog_cache_terminus =\ncatalog_terminus = compiler\ncert_inventory = /etc/puppetlabs/puppetserver/ca/inventory.txt\ncertdir = /etc/puppetlabs/puppet/ssl/certs\ncertificate_revocation = chain\ncertname = legendary-stickleback.fritz.box\nciphers = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256\nclassfile = /opt/puppetlabs/puppet/cache/state/classes.txt\nclient_datadir = /opt/puppetlabs/puppet/cache/client_data\nclientbucketdir = /opt/puppetlabs/puppet/cache/clientbucket\nclientyamldir = /opt/puppetlabs/puppet/cache/client_yaml\ncode =\ncodedir = /etc/puppetlabs/code\ncolor = ansi\nconfdir = /etc/puppetlabs/puppet\nconfig = /etc/puppetlabs/puppet/puppet.conf\nconfig_file_name = puppet.conf\nconfig_version =\nconfigprint =\ncrl_refresh_interval =\ncsr_attributes = /etc/puppetlabs/puppet/csr_attributes.yaml\ncsrdir = /etc/puppetlabs/puppetserver/ca/requests\ndaemonize = true\ndata_binding_terminus = hiera\ndefault_file_terminus = rest\ndefault_manifest = ./manifests\ndefault_schedules = true\ndeviceconfdir = /etc/puppetlabs/puppet/devices\ndeviceconfig = /etc/puppetlabs/puppet/device.conf\ndevicedir = /opt/puppetlabs/puppet/cache/devices\ndiff = diff\ndiff_args = -u\ndigest_algorithm = sha256\ndisable_i18n = true\ndisable_per_environment_manifest = false\ndisable_warnings = []\ndns_alt_names =\ndocument_all = false\nenvironment = production\nenvironment_data_provider =\nenvironment_timeout = 0\nenvironmentpath = /etc/puppetlabs/code/environments\nevaltrace = false\nexternal_nodes = none\nfact_name_length_soft_limit = 2560\nfact_value_length_soft_limit = 4096\nfactpath = /opt/puppetlabs/puppet/cache/lib/facter:/opt/puppetlabs/puppet/cache/facts\nfacts_terminus = facter\nfileserverconfig = /etc/puppetlabs/puppet/fileserver.conf\nfiletimeout = 15\nforge_authorization =\nfreeze_main = false\ngenconfig = false\ngenmanifest = false\ngraph = false\ngraphdir = /opt/puppetlabs/puppet/cache/state/graphs\ngroup = puppet\nhiera_config = /etc/puppetlabs/puppet/hiera.yaml\nhostcert = /etc/puppetlabs/puppet/ssl/certs/legendary-stickleback.fritz.box.pem\nhostcrl = /etc/puppetlabs/puppet/ssl/crl.pem\nhostcsr = /etc/puppetlabs/puppet/ssl/certificate_requests/legendary-stickleback.fritz.box.pem\nhostprivkey = /etc/puppetlabs/puppet/ssl/private_keys/legendary-stickleback.fritz.box.pem\nhostpubkey = /etc/puppetlabs/puppet/ssl/public_keys/legendary-stickleback.fritz.box.pem\nhttp_connect_timeout = 120\nhttp_debug = false\nhttp_extra_headers = []\nhttp_keepalive_timeout = 4\nhttp_proxy_host = none\nhttp_proxy_password = none\nhttp_proxy_port = 3128\nhttp_proxy_user = none\nhttp_read_timeout = 600\nhttp_user_agent = Puppet/7.14.0 Ruby/2.7.5-p203 (aarch64-linux)\nignore_plugin_errors = false\nignoremissingtypes = false\nignoreschedules = false\nkey_type = rsa\nkeylength = 4096\nlastrunfile = /opt/puppetlabs/puppet/public/last_run_summary.yaml\nlastrunreport = /opt/puppetlabs/puppet/cache/state/last_run_report.yaml\nldapattrs = all\nldapbase =\nldapclassattrs = puppetclass\nldapparentattr = parentnode\nldappassword =\nldapport = 389\nldapserver = ldap\nldapssl = false\nldapstackedattrs = puppetvar\nldapstring = (&(objectclass=puppetClient)(cn=%s))\nldaptls = false\nldapuser =\nlibdir = /opt/puppetlabs/puppet/cache/lib\nlocalcacert = /etc/puppetlabs/puppet/ssl/certs/ca.pem\nlocaledest = /opt/puppetlabs/puppet/cache/locales\nlocalesource = puppet:///locales\nlocation_trusted = false\nlog_level = notice\nlogdest =\nlogdir = /var/log/puppetlabs/puppet\nmanage_internal_file_permissions = true\nmanifest = /etc/puppetlabs/code/environments/production/manifests\nmasterport = 8140\nmax_deprecations = 10\nmax_errors = 10\nmax_warnings = 10\nmaximum_uid = 4294967290\nmaxwaitforcert = unlimited\nmaxwaitforlock = 60\nmerge_dependency_warnings = false\nmkusers = false\nmodule_groups =\nmodule_repository = https://forgeapi.puppet.com\nmodule_working_dir = /opt/puppetlabs/puppet/cache/puppet-module\nmodulepath = /etc/puppetlabs/code/environments/production/modules:/etc/puppetlabs/code/modules:/opt/puppetlabs/puppet/modules\nname = config\nnamed_curve = prime256v1\nno_proxy = localhost, 127.0.0.1\nnode_cache_terminus =\nnode_name_fact =\nnode_name_value = legendary-stickleback.fritz.box\nnode_terminus = plain\nnoop = false\nnumber_of_facts_soft_limit = 2048\nonetime = false\npassfile = /etc/puppetlabs/puppet/ssl/private/password\npath = none\npayload_soft_limit = 16777216\npidfile = /var/run/puppetlabs/main.pid\nplugindest = /opt/puppetlabs/puppet/cache/lib\npluginfactdest = /opt/puppetlabs/puppet/cache/facts.d\npluginfactsource = puppet:///pluginfacts\npluginsignore = .svn CVS .git .hg\npluginsource = puppet:///plugins\npluginsync = true\npostrun_command =\npreferred_serialization_format = json\nprerun_command =\npreview_outputdir = /opt/puppetlabs/puppet/cache/preview\npriority =\nprivatedir = /etc/puppetlabs/puppet/ssl/private\nprivatekeydir = /etc/puppetlabs/puppet/ssl/private_keys\nprofile = false\npublicdir = /opt/puppetlabs/puppet/public\npublickeydir = /etc/puppetlabs/puppet/ssl/public_keys\npuppet_trace = false\npuppetdlog = /var/log/puppetlabs/puppet/puppetd.log\nreport = true\nreport_include_system_store = false\nreport_port = 8140\nreport_server = puppetdb\nreportdir = /opt/puppetlabs/puppet/cache/reports\nreports = store\nreporturl = http://localhost:3000/reports/upload\nrequestdir = /etc/puppetlabs/puppet/ssl/certificate_requests\nresourcefile = /opt/puppetlabs/puppet/cache/state/resources.txt\nresubmit_facts = false\nrich_data = true\nroute_file = /etc/puppetlabs/puppet/routes.yaml\nrundir = /var/run/puppetlabs\nruninterval = 1800\nruntimeout = 3600\nserial = /etc/puppetlabs/puppetserver/ca/serial\nserver = puppetdb\nserver_datadir = /opt/puppetlabs/puppet/cache/server_data\nserver_list =\nserverport = 8140\nsettings_catalog = true\nshow_diff = false\nsigneddir = /etc/puppetlabs/puppetserver/ca/signed\nskip_tags =\nsourceaddress =\nsplay = false\nsplaylimit = 1800\nsrv_domain = fritz.box\nssl_client_header = HTTP_X_CLIENT_DN\nssl_client_verify_header = HTTP_X_CLIENT_VERIFY\nssl_lockfile = /etc/puppetlabs/puppet/ssl/ssl.lock\nssl_trust_store =\nssldir = /etc/puppetlabs/puppet/ssl\nstatedir = /opt/puppetlabs/puppet/cache/state\nstatefile = /opt/puppetlabs/puppet/cache/state/state.yaml\nstatettl = 2764800\nstatic_catalogs = true\nstoreconfigs = false\nstoreconfigs_backend = puppetdb\nstrict = warning\nstrict_environment_mode = false\nstrict_variables = false\nsummarize = false\nsupported_checksum_types = [\"sha256\", \"sha384\", \"sha512\", \"sha224\", \"md5\"]\nsyslogfacility = daemon\ntags =\ntasks = false\ntop_level_facts_soft_limit = 512\ntrace = false\ntransactionstorefile = /opt/puppetlabs/puppet/cache/state/transactionstore.yaml\ntrusted_external_command =\ntrusted_oid_mapping_file = /etc/puppetlabs/puppet/custom_trusted_oid_mapping.yaml\nuse_cached_catalog = false\nuse_last_environment = true\nuse_srv_records = false\nusecacheonfailure = true\nuser = puppet\nvardir = /opt/puppetlabs/puppet/cache\nvendormoduledir = /opt/puppetlabs/puppet/vendor_modules\nversioned_environment_dirs = false\nwaitforcert = 120\nwaitforlock = 0\nwrite_catalog_summary = true\nyamldir = /opt/puppetlabs/puppet/cache/yaml\n\n\u00a0\n\npuppetserver details\n\nJAVA_ARGS=\"-Xms1g -Xmx1g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger\"\n\npuppetserver service\u00a0\n\n[Unit]\nDescription=puppetserver Service\nAfter=syslog.target network.target nss-lookup.target\n\n[Service]\nType=forking\nEnvironmentFile=/etc/default/puppetserver\nUser=puppet\nTimeoutStartSec=300\nTimeoutStopSec=60\nRestart=on-failure\nStartLimitBurst=5\nPIDFile=/run/puppetlabs/puppetserver/puppetserver.pid\n\n\u00a0\n\n\u00a0\n\nHost server details :\n\n\u00a0 Mac m1 Arm / running Multipass 1.81+Mac\n\n\u00a0 ubuntu image : Ubuntu 20.04 LT\n\n\u00a0 \u00a0Memory :\n\n\u00a0 \u00a0free\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 total \u00a0 \u00a0 \u00a0 \u00a0used \u00a0 \u00a0 \u00a0 \u00a0free \u00a0 \u00a0 \u00a0shared \u00a0buff/cache \u00a0 available\nMem: \u00a0 \u00a0 \u00a0 \u00a0 993316 \u00a0 \u00a0 \u00a0252544 \u00a0 \u00a0 \u00a0181132 \u00a0 \u00a0 \u00a0 \u00a01180 \u00a0 \u00a0 \u00a0559640 \u00a0 \u00a0 \u00a0644984\nSwap: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0\n\n\u00a0 CPU:\n\nlscpu\nArchitecture: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0aarch64\nCPU op-mode(s): \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a064-bit\nByte Order: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Little Endian\nCPU(s): \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a01\nOn-line CPU(s) list: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0\nThread(s) per core: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a01\nCore(s) per socket: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a01\nSocket(s): \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1\nNUMA node(s): \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a01\nVendor ID: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ARM\nModel: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 3\nModel name: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Cortex-A72\nStepping: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0r0p3\nBogoMIPS: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a048.00\nNUMA node0 CPU(s): \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0\nVulnerability Itlb multihit: \u00a0 \u00a0 Not affected\nVulnerability L1tf: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Not affected\nVulnerability Mds: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Not affected\nVulnerability Meltdown: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Not affected\nVulnerability Spec store bypass: Vulnerable\nVulnerability Spectre v1: \u00a0 \u00a0 \u00a0 \u00a0Mitigation", "created": "2022-02-15T16:25:00.000000"}, {"author": "623c0af91c7f6a007049e4e1", "body": "Hi ,\n\n\u00a0\n\n\u00a0 Additional information added .\n\n\u00a0\n\nThanks\n\n\u00a0", "created": "2022-03-31T15:52:00.000000"}, {"author": "6243b272258562006fa2e229", "body": "Same issue for me. Trying to run Puppet in Docker on Apple M1 via Vagrant because VirtualBox isn't available on M1.\nh2. Log output journalctl -xe\n\n{{Apr 05 09:12:27 vpuppet puppetserver[20259]: WARNING: An illegal reflective access operation has occurred}}\n{{Apr 05 09:12:27 vpuppet puppetserver[20259]: WARNING: Illegal reflective access by dynapath.defaults$fn__15898$fn__15899 (file:/opt/puppetlabs/server/apps/puppetserver/puppet-server-release.jar) to method java.net.URLClassLoader.addURL>}}\n{{Apr 05 09:12:27 vpuppet puppetserver[20259]: WARNING: Please consider reporting this to the maintainers of dynapath.defaults$fn__15898$fn__15899}}\n{{Apr 05 09:12:27 vpuppet puppetserver[20259]: WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations}}\n{{Apr 05 09:12:27 vpuppet puppetserver[20259]: WARNING: All illegal access operations will be denied in a future release}}\n{{Apr 05 09:12:31 vpuppet puppetserver[20259]: Puppet::Error: Cannot determine basic system flavour}}\n{{Apr 05 09:12:31 vpuppet puppetserver[20259]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <main> at /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/feature/base.rb:19}}\n{{Apr 05 09:12:31 vpuppet puppetserver[20259]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0require at org/jruby/RubyKernel.java:974}}\n{{Apr 05 09:12:31 vpuppet puppetserver[20259]: \u00a0 require_relative at org/jruby/RubyKernel.java:1002}}\n{{Apr 05 09:12:31 vpuppet puppetserver[20259]: \u00a0 \u00a0<module:Puppet> at /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:94}}\n{{Apr 05 09:12:31 vpuppet puppetserver[20259]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <main> at /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:41}}\n{{Apr 05 09:12:31 vpuppet puppetserver[20259]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0require at org/jruby/RubyKernel.java:974}}\n{{Apr 05 09:12:31 vpuppet puppetserver[20259]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0require at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:83}}\n{{Apr 05 09:12:31 vpuppet puppetserver[20259]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <main> at uri:classloader:/puppetserver-lib/puppet/server.rb:1}}\n{{Apr 05 09:12:31 vpuppet puppetserver[20259]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0require at org/jruby/RubyKernel.java:974}}\n{{Apr 05 09:12:31 vpuppet puppetserver[20259]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0require at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:83}}\n{{Apr 05 09:12:31 vpuppet puppetserver[20259]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <main> at uri:classloader:/puppetserver-lib/puppet/server/master.rb:1}}\n{{Apr 05 09:12:31 vpuppet puppetserver[20259]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0require at org/jruby/RubyKernel.java:974}}\n{{Apr 05 09:12:31 vpuppet puppetserver[20259]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0require at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:83}}\n{{Apr 05 09:12:31 vpuppet puppetserver[20259]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <main> at <script>:1}}\n{{Apr 05 09:12:31 vpuppet puppetserver[20259]: Execution error (RuntimeError) at RUBY/<main> (/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/feature/base.rb:19).}}\n{{Apr 05 09:12:31 vpuppet puppetserver[20259]: (Error) Cannot determine basic system flavour}}\n{{Apr 05 09:12:31 vpuppet puppetserver[20259]: Full report at:}}\n{{Apr 05 09:12:31 vpuppet puppetserver[20259]: /tmp/clojure-6564228683398235778.edn}}\n{{Apr 05 09:12:32 vpuppet puppetserver[20230]: Background process 20259 exited before start had completed}}\n{{Apr 05 09:12:32 vpuppet systemd[1]: puppetserver.service: Control process exited, code=exited, status=1/FAILURE}}\n{{-- Subject: Unit process exited}}\n{{-- Defined-By: systemd}}\n{{-- Support: http://www.ubuntu.com/support}}\n{{--\u00a0}}\n{{-- An ExecStart= process belonging to unit puppetserver.service has exited.}}\n{{--\u00a0}}\n{{-- The process' exit code is 'exited' and its exit status is 1.}}\n{{{}Apr 05 09:12:32 vpuppet systemd[1]: puppetserver.service: Failed with result 'exit-code'.{}}}{{{}{}}}\nh2. {{Installed Packages:}}\n\n{{root@vpuppet:~# dpkg -l | grep puppet}}\n{{ii \u00a0puppet-agent \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a07.15.0-1focal \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 arm64 \u00a0 \u00a0 \u00a0 \u00a0The Puppet Agent package contains all of the elements needed to run puppet, including ruby, facter, and hiera.}}\n{{ii \u00a0puppet7-release \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 7.0.0-2focal \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0all \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Release packages for the Puppet 7 repository}}\n{{ii \u00a0puppetserver \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a07.6.1-1focal \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0all \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Puppet Labs puppetserver}}\n\n{{root@vpuppet:~# dpkg -l | grep ruby}}\n{{ii \u00a0libruby2.7:arm64 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a02.7.0-5ubuntu1.6 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0arm64 \u00a0 \u00a0 \u00a0 \u00a0Libraries necessary to run Ruby 2.7}}\n{{ii \u00a0puppet-agent \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a07.15.0-1focal \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 arm64 \u00a0 \u00a0 \u00a0 \u00a0The Puppet Agent package contains all of the elements needed to run puppet, including ruby, facter, and hiera.}}\n{{ii \u00a0rake \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a013.0.1-4 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0all \u00a0 \u00a0 \u00a0 \u00a0 \u00a0ruby make-like utility}}\n{{ii \u00a0ruby \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a01:2.7+1 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 arm64 \u00a0 \u00a0 \u00a0 \u00a0Interpreter of object-oriented scripting language Ruby (default version)}}\n{{ii \u00a0ruby-dev:arm64 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a01:2.7+1 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 arm64 \u00a0 \u00a0 \u00a0 \u00a0Header files for compiling extension modules for Ruby (default version)}}\n{{ii \u00a0ruby-minitest \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 5.13.0-1 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0all \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Ruby test tools supporting TDD, BDD, mocking, and benchmarking}}\n{{ii \u00a0ruby-net-telnet \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0.1.1-2 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 all \u00a0 \u00a0 \u00a0 \u00a0 \u00a0telnet client library}}\n{{ii \u00a0ruby-power-assert \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1.1.7-1 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 all \u00a0 \u00a0 \u00a0 \u00a0 \u00a0library showing values of variables and method calls in an expression}}\n{{ii \u00a0ruby-test-unit \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a03.3.5-1 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 all \u00a0 \u00a0 \u00a0 \u00a0 \u00a0unit testing framework for Ruby}}\n{{ii \u00a0ruby-xmlrpc \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0.3.0-2 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 all \u00a0 \u00a0 \u00a0 \u00a0 \u00a0XMLRPC library for Ruby}}\n{{ii \u00a0ruby2.7 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 2.7.0-5ubuntu1.6 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0arm64 \u00a0 \u00a0 \u00a0 \u00a0Interpreter of object-oriented scripting language Ruby}}\n{{ii \u00a0ruby2.7-dev:arm64 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 2.7.0-5ubuntu1.6 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0arm64 \u00a0 \u00a0 \u00a0 \u00a0Header files for compiling extension modules for the Ruby 2.7}}\n{{ii \u00a0rubygems-integration \u00a0 \u00a0 \u00a0 \u00a0 \u00a01.16 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0all \u00a0 \u00a0 \u00a0 \u00a0 \u00a0integration of Debian Ruby packages with Rubygems}}", "created": "2022-04-05T03:21:00.000000"}, {"author": "6243b272258562006fa2e229", "body": "Issue hits both versions 6 and 7:\n\n-- The job identifier is 1858.\nApr 26 08:18:15 vpuppet puppetserver[23017]: WARNING: An illegal reflective access operation has occurred\nApr 26 08:18:15 vpuppet puppetserver[23017]: WARNING: Illegal reflective access by dynapath.defaults$fn__15898$fn__15899 (file:/opt/puppetlabs/server/apps/puppetserver/puppet-server-release.jar) to method java.net.URLClassLoader.addURL>\nApr 26 08:18:15 vpuppet puppetserver[23017]: WARNING: Please consider reporting this to the maintainers of dynapath.defaults$fn__15898$fn__15899\nApr 26 08:18:15 vpuppet puppetserver[23017]: WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations\nApr 26 08:18:15 vpuppet puppetserver[23017]: WARNING: All illegal access operations will be denied in a future release\nApr 26 08:18:19 vpuppet puppetserver[23017]: Puppet::Error: Cannot determine basic system flavour\nApr 26 08:18:19 vpuppet puppetserver[23017]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0<main> at /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/feature/base.rb:19\nApr 26 08:18:19 vpuppet puppetserver[23017]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 require at org/jruby/RubyKernel.java:974\nApr 26 08:18:19 vpuppet puppetserver[23017]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 require at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:83\nApr 26 08:18:19 vpuppet puppetserver[23017]: \u00a0 <module:Puppet> at /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:94\nApr 26 08:18:19 vpuppet puppetserver[23017]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0<main> at /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:41\nApr 26 08:18:19 vpuppet puppetserver[23017]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 require at org/jruby/RubyKernel.java:974\nApr 26 08:18:19 vpuppet puppetserver[23017]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 require at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:83\nApr 26 08:18:19 vpuppet puppetserver[23017]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0<main> at uri:classloader:/puppetserver-lib/puppet/server.rb:1\nApr 26 08:18:19 vpuppet puppetserver[23017]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 require at org/jruby/RubyKernel.java:974\nApr 26 08:18:19 vpuppet puppetserver[23017]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 require at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:83\nApr 26 08:18:19 vpuppet puppetserver[23017]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0<main> at uri:classloader:/puppetserver-lib/puppet/server/master.rb:1\nApr 26 08:18:19 vpuppet puppetserver[23017]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 require at org/jruby/RubyKernel.java:974\nApr 26 08:18:19 vpuppet puppetserver[23017]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 require at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:83\nApr 26 08:18:19 vpuppet puppetserver[23017]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0<main> at <script>:1\nroot@vpuppet:~# dpkg -l | grep puppet\nii \u00a0puppet-agent \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a06.27.1-1focal \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 arm64 \u00a0 \u00a0 \u00a0 \u00a0The Puppet Agent package contains all of the elements needed to run puppet, including ruby, facter, and hiera.\nii \u00a0puppet6-release \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 6.0.0-14focal \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 all \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Release packages for the Puppet 6 repository\nii \u00a0puppetserver \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a06.19.0-1focal \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 all \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Puppet Labs puppetserver", "created": "2022-04-26T02:21:00.000000"}], "components": [], "created": "2022-01-11T02:30:00.000000", "creator": "623c0af91c7f6a007049e4e1", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2020565a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0df5k:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Jan/22"}], "description": "Ubuntu 21.04\n\nhypervisor multipass\u00a0\n\npuppetserver version: 7.5.0\n\npuppet --version \u00a07.13.1\n\nPuppetserver installation on Centos 7 & Rhel 7 works fine , when installing on the latest version of ubuntu installation fails .\n\nexpected result , puppetserver service starts with no errors\n\nActual result ,\u00a0\n\nPuppet::Error: Cannot determine basic system flavour\n\nActions:\n\n\u00a0 \u00a0 Have tried to over mount tmp/ file without the no exec flag\u00a0\n\n\u00a0 \u00a0 Have also tried - -Djava.io.tmpdir=/etc/puppet/tmp\n\nknowledgeable \u00a0information found is:\n\n\u00a0 \u00a0https://puppet.atlassian.net/browse/SERVER-160\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29835", "fixedVersions": [], "id": "29835", "issueType": "Bug", "key": "PUP-11431", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0af91c7f6a007049e4e1", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Puppet::Error: Cannot determine basic system flavour", "timeSpent": "PT0S", "updated": "2022-04-26T02:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:55:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@75733ebb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11417"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dbsg:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_135511_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1725871276"}], "description": "(Initial planned release date: 2022-01-18)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2022-01-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "25536", "fixedVersions": [], "id": "25536", "issueType": "Task", "key": "PUP-11426", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24623", "parentSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2022-01-25T15:22:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 6.26.0)", "timeSpent": "PT0S", "updated": "2022-01-25T15:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:55:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6bc5f5cc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11417"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dbs8:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_132610_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1725863148"}], "description": "(Initial planned release date: 2022-01-18)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.descriptions\n", "duedate": "2022-01-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "24625", "fixedVersions": [], "id": "24625", "issueType": "Task", "key": "PUP-11425", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24623", "parentSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2022-01-25T15:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 6.26.0)", "timeSpent": "PT0S", "updated": "2022-01-25T15:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:55:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@741c2c0f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11417"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dbs0:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_15082_*|*_5_*:*_1_*:*_32856_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1725938745"}], "description": "(Initial planned release date: 2022-01-18)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 6.26.0 is now available\"\n", "duedate": "2022-01-18T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "23494", "fixedVersions": [], "id": "23494", "issueType": "Task", "key": "PUP-11424", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24623", "parentSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2022-01-25T15:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Send release announcement (Puppet Platform 6.26.0)", "timeSpent": "PT0S", "updated": "2022-01-25T15:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:54:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5a0b4130"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11417"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dbrk:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1620344648_*|*_6_*:*_2_*:*_5616696"}], "description": "(Initial planned release date: 2022-01-18)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2022-01-18T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "21430", "fixedVersions": [], "id": "21430", "issueType": "Task", "key": "PUP-11423", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24623", "parentSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2022-01-24T10:00:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 6.26.0)", "timeSpent": "PT0S", "updated": "2022-01-24T11:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:54:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@366137a1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11417"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dbrc:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_143925_*|*_5_*:*_1_*:*_24846_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1728248215"}], "description": "(Initial planned release date: 2022-01-18)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2022-01-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "20233", "fixedVersions": [], "id": "20233", "issueType": "Task", "key": "PUP-11422", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24623", "parentSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2022-01-25T16:01:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 6.26.0)", "timeSpent": "PT0S", "updated": "2022-01-25T16:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:54:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@724ed7b1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11417"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dbqw:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1626015247_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-01-18)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:60e4906e4134aa006931a5d6] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2022-01-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "28731", "fixedVersions": [], "id": "28731", "issueType": "Task", "key": "PUP-11421", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24623", "parentSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2022-01-24T11:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare release announcement (Puppet Platform 6.26.0)", "timeSpent": "PT0S", "updated": "2022-01-24T11:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:54:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6727e30e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11417"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dbqo:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1620346215_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-01-18)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2022-01-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "27728", "fixedVersions": [], "id": "27728", "issueType": "Task", "key": "PUP-11420", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24623", "parentSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2022-01-24T10:00:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 6.26.0)", "timeSpent": "PT0S", "updated": "2022-01-24T10:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:54:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@39f8b912"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11417"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dbqg:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_154518_*|*_5_*:*_1_*:*_50244_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1725742041"}], "description": "(Initial planned release date: 2022-01-18)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2022-01-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "26579", "fixedVersions": [], "id": "26579", "issueType": "Task", "key": "PUP-11419", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24623", "parentSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2022-01-25T15:19:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 6.26.0)", "timeSpent": "PT0S", "updated": "2022-01-25T15:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:54:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@69b5a5f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11417"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dbq8:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_154577_*|*_5_*:*_1_*:*_41965_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1725717495"}], "description": "(Initial planned release date: 2022-01-18)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 6.26.0 and puppet-agent 6.26.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2022-01-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "25534", "fixedVersions": [], "id": "25534", "issueType": "Task", "key": "PUP-11418", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24623", "parentSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2022-01-25T15:19:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 6.26.0)", "timeSpent": "PT0S", "updated": "2022-01-25T15:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:54:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Phoenix"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2ece6ec"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-12"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 6.26.0 Release - 2022-01-18"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "grey"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dbq0:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2425205596_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 6.26.0 Release - 2022-01-18", "duedate": "2022-01-18T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24623", "fixedVersions": [], "id": "24623", "issueType": "Epic", "key": "PUP-11417", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2022-02-02T17:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Platform 6.26.0 Release - 2022-01-18", "timeSpent": "PT0S", "updated": "2022-02-02T17:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:18:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7c1dcedd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11407"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dbjc:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_221141_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1704696862"}], "description": "(Initial planned release date: 2022-01-18)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2022-01-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "24590", "fixedVersions": [], "id": "24590", "issueType": "Task", "key": "PUP-11416", "labels": ["release"], "originalEstimate": "PT0S", "parent": "23490", "parentSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2022-01-25T08:53:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 7.14.0)", "timeSpent": "PT0S", "updated": "2022-01-25T08:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:18:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@51c7ec"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11407"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dbj4:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1207208033_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_520624089"}], "description": "(Initial planned release date: 2022-01-18)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.descriptions\n", "duedate": "2022-01-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "23492", "fixedVersions": [], "id": "23492", "issueType": "Task", "key": "PUP-11415", "labels": ["release"], "originalEstimate": "PT0S", "parent": "23490", "parentSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2022-01-25T15:15:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 7.14.0)", "timeSpent": "PT0S", "updated": "2022-01-25T15:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:18:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5cc42789"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11407"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dbiw:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_13598_*|*_5_*:*_1_*:*_219635_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1704747770"}], "description": "(Initial planned release date: 2022-01-18)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 7.14.0 is now available\"\n", "duedate": "2022-01-18T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "22457", "fixedVersions": [], "id": "22457", "issueType": "Task", "key": "PUP-11414", "labels": ["release"], "originalEstimate": "PT0S", "parent": "23490", "parentSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2022-01-25T08:50:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Send release announcement (Puppet Platform 7.14.0)", "timeSpent": "PT0S", "updated": "2022-01-25T08:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:18:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@39fa6ddc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11407"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dbig:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1622523950_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-01-18)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2022-01-18T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "20232", "fixedVersions": [], "id": "20232", "issueType": "Task", "key": "PUP-11413", "labels": ["release"], "originalEstimate": "PT0S", "parent": "23490", "parentSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2022-01-24T10:00:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 7.14.0)", "timeSpent": "PT0S", "updated": "2022-01-24T10:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:17:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@65069912"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11407"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dbi8:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_235829_*|*_5_*:*_1_*:*_520667374_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1206974712"}], "description": "(Initial planned release date: 2022-01-18)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2022-01-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "29834", "fixedVersions": ["PUP 7.14.0"], "id": "29834", "issueType": "Task", "key": "PUP-11412", "labels": ["release"], "originalEstimate": "PT0S", "parent": "23490", "parentSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2022-01-25T15:15:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 7.14.0)", "timeSpent": "PT0S", "updated": "2022-02-22T22:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:17:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6b664d35"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11407"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dbhs:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1628242618_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-01-18)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:60e4906e4134aa006931a5d6] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2022-01-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "27727", "fixedVersions": [], "id": "27727", "issueType": "Task", "key": "PUP-11411", "labels": ["release"], "originalEstimate": "PT0S", "parent": "23490", "parentSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2022-01-24T11:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare release announcement (Puppet Platform 7.14.0)", "timeSpent": "PT0S", "updated": "2022-01-24T11:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:17:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@16e3c80f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11407"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dbhk:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1622519809_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-01-18)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2022-01-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "26577", "fixedVersions": [], "id": "26577", "issueType": "Task", "key": "PUP-11410", "labels": ["release"], "originalEstimate": "PT0S", "parent": "23490", "parentSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2022-01-24T09:59:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 7.14.0)", "timeSpent": "PT0S", "updated": "2022-01-24T09:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:17:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5f4bf7a7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11407"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dbhc:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_251356_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1628735348"}], "description": "(Initial planned release date: 2022-01-18)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2022-01-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "25533", "fixedVersions": [], "id": "25533", "issueType": "Task", "key": "PUP-11409", "labels": ["release"], "originalEstimate": "PT0S", "parent": "23490", "parentSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2022-01-24T11:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 7.14.0)", "timeSpent": "PT0S", "updated": "2022-01-24T11:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:17:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@48bb0dd3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11407"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dbh4:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_250790_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1628655229"}], "description": "(Initial planned release date: 2022-01-18)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 7.14.0 and puppet-agent 7.14.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2022-01-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "24589", "fixedVersions": [], "id": "24589", "issueType": "Task", "key": "PUP-11408", "labels": ["release"], "originalEstimate": "PT0S", "parent": "23490", "parentSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2022-01-24T11:46:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 7.14.0)", "timeSpent": "PT0S", "updated": "2022-01-24T11:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323b22ced8abffd7ffdf4f4", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:17:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Phoenix"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@58b796da"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-10"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 7.14.0 Release - 2022-01-18"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "blue"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dbgw:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2427407377_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 7.14.0 Release - 2022-01-18", "duedate": "2022-01-18T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23490", "fixedVersions": [], "id": "23490", "issueType": "Epic", "key": "PUP-11407", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2022-02-02T17:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet Platform 7.14.0 Release - 2022-01-18", "timeSpent": "PT0S", "updated": "2022-02-02T17:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61bb63041baa2b0069ef30a1", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T10:19:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "It should be possible to run bundle exec rake parallel:spec with ruby 3.1.2"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1143b5d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4664"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3z5:rb"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_86843059_*|*_1_*:*_1_*:*_424639318_*|*_10007_*:*_1_*:*_240165675_*|*_3_*:*_1_*:*_340407177_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_23614264696"}], "description": "Puppet rspec tests currently fail on Ruby 3.1:\n\n{noformat}\nrspec ./spec/unit/reports/store_spec.rb:23 # Puppet::Reports::Store#process should create a report directory for the client if one doesn't exist\nrspec ./spec/unit/reports/store_spec.rb:29 # Puppet::Reports::Store#process should write the report to the file in YAML\nrspec ./spec/unit/reports/store_spec.rb:36 # Puppet::Reports::Store#process rejects invalid hostnames\nrspec ./spec/unit/util/storage_spec.rb:170 # Puppet::Util::Storage when loading from the state file when the state file/directory exists should load Time and Symbols\nrspec ./spec/unit/network/formats_spec.rb:506 # Puppet Network Format :console format when rendering face-related objects pretty prints facts\nrspec ./spec/unit/x509/cert_provider_spec.rb:127 # Puppet::X509::CertProvider when loading crls and input is invalid raises when invalid input is inside BEGIN-END block\nrspec ./spec/unit/http/service/compiler_spec.rb:591 # Puppet::HTTP::Service::Compiler when putting facts raises a serialization error if the report cannot be serialized\n{noformat}\n\nThe failures can be grouped into a few different buckets:\n\n1. Ruby 3.1 vendors Psych 4.0, which changed YAML.load to behave like YAML.safe_load. To get the unsafe behavior you have to call YAML.unsafe_load explicitly, which our tests are relying on to load an old report format.\n\n2. Ruby 3.1 no longer accepts certain Time strings:\n\n{noformat}\n  1) Puppet Network Format :console format when rendering face-related objects pretty prints facts\n     Failure/Error: tm = Time.new(\"2016-01-27T19:30:00\")\n     ArgumentError:\n       invalid value for Integer(): \"2016-01-27T19:30:00\"\n{noformat}\n\n3. Ruby 3.1 changed the error messages associated with some openssl and string encoding errors, e.g. \n\n{noformat}\n expected OpenSSL::X509::CRLError with \"nested asn1 error\", got #<OpenSSL::X509::CRLError: PEM_read_bio_X509_CRL: bad base64 decode>\n\nexpected Puppet::HTTP::SerializationError with message matching /Failed to serialize Puppet::Node::Facts to json: \"\\\\xE2\" from ASCII-8BIT to UTF-8/, got #<Puppet::HTTP::SerializationError: Failed to serialize Puppet::Node::Facts to json: partial character in source, but hit end\n{noformat}\n", "epicLinkSummary": "Puppet 8", "estimate": "PT0S", "externalId": "21429", "fixedVersions": ["PUP 8.0.0"], "id": "21429", "issueType": "Task", "key": "PUP-11406", "labels": [], "originalEstimate": "PT0S", "parent": "57676", "parentSummary": "Puppet 8", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2022-10-18T10:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Update tests for Ruby 3.1", "timeSpent": "PT0S", "updated": "2022-11-30T17:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c08e7a1d81f0069d8dd26", "attachments": [], "comments": [], "components": [], "created": "2022-01-04T13:32:00.000000", "creator": "623c08e7a1d81f0069d8dd26", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@bf3c28e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Community Contributors", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "tambry"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dabc:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet is now compatible with psych 4.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_434413781_*|*_1_*:*_1_*:*_77210661_*|*_5_*:*_1_*:*_0"}], "description": "Puppet uses the non-keyword variant of Psych's {{YAML.safe_load}}, which was deprecated in 3.1.0 with the replacement also introduced in that version. Psych 4.0.0 has removed the deprecated variant and thus we should switch to the new variant albeit with a version check since we still support older Ruby versions, which ship pre-3.1.0 Psych versions.\n\nFurthermore, {{YAML.load_file}} has been changed to a safe variant in 4.0.1 breaking some tests. Puppet's wrapper for it should be updated to use {{YAML.unsafe_load_file}} when available (since 3.3.2) to keep the same behaviour.\n\nAs a minor side issue rdoc has switched to Psych 4.0.0 in a minor version causing CI breakage due to rubocop not having been updated for the deprecation yet.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25531", "fixedVersions": ["PUP 6.26.0", "PUP 7.14.0"], "id": "25531", "issueType": "Task", "key": "PUP-11405", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Trivial", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c08e7a1d81f0069d8dd26", "resolution": "Fixed", "resolutionDate": "2022-01-10T11:39:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Replace deprecated/changed Psych YAML methods, pin rdoc", "timeSpent": "PT0S", "updated": "2022-02-22T22:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Types and Providers"], "created": "2022-01-04T03:31:00.000000", "creator": "70121:1451f10f-a80e-4207-82ba-72f2bde8f414", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@b85fa96"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0da0w:"}], "description": "The following puppet code which used the ISO 8601 week-based year and week number parsing as indicated in the [documentation|https://puppet.com/docs/puppet/7/function.html#conversion-to-timestamp] fails\n\n\u00a0\n{code:java}\nnotice(Timestamp.new('2022011', '%G%V%w')) {code}\nThe error is the following:\n{code:java}\nError: Evaluation Error: Error while evaluating a Method call, no implicit conversion of nil into Integer (file: /tmp/test.pp, line: 1, column: 21) on node {code}\nWhich is far from useful. This error seems to come from [https://github.com/puppetlabs/puppet/blob/main/lib/puppet/pops/time/timestamp.rb#L106] where the code expect parsed datetime to have a :year entry, unfortunaly the hash doesn't have this key:\n{code:java}\nirb(main):002:0> DateTime._strptime('2022011', '%G%V%w')\n=> {:cwyear=>2022, :cweek=>1, :wday=>1} {code}\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24588", "fixedVersions": [], "id": "24588", "issueType": "Bug", "key": "PUP-11404", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:1451f10f-a80e-4207-82ba-72f2bde8f414", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Timestamp.new function doesn't support ISO 8601 week-based year and week number", "timeSpent": "PT0S", "updated": "2022-01-10T08:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I believe this is already supported using the {{returns}} parameter, e.g.\n\n{noformat}\n$ bundle exec puppet apply -e 'exec { \"returns\": command => \"/bin/sh -c exit 42\", returns => [0, 42] }'\nNotice: Compiled catalog for localhost in environment production in 0.03 seconds\nNotice: /Stage[main]/Main/Exec[returns]/returns: executed successfully\n{noformat}", "created": "2022-01-04T08:54:00.000000"}, {"author": "5a8703306a4cf333658b446e", "body": "Returns defines acceptable exit codes to be interpreted as \"changes made.\"\u00a0 Returns does NOT, according to the documentation, define \"successful, but no changes made\".", "created": "2022-01-04T09:16:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Ah yeah right. Usually one defines {{onlyif}}, {{unless}} or {{creates}} parameter(s) to control whether the exec runs in the first place.\n\nUnfortunately, I think it would fairly difficult to add an {{unchanged}} type of parameter due to the way puppet's resource harness checks to see if the exec is insync before running the exec. In other words, puppet has already decided that the resource is not insync (and therefore there is a change) by the time the exec runs. Trying to \"undo\" the change after the fact would be difficult.", "created": "2022-01-04T10:08:00.000000"}], "components": [], "created": "2022-01-03T14:17:00.000000", "creator": "5a8703306a4cf333658b446e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1b40b9b8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0d9vk:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Jan/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_67060617_*|*_6_*:*_1_*:*_0"}], "description": "As a complement to onlyif and unless, sometimes the command itself is the best positioned to decide if a change needs to be made.\u00a0 It would be nice if there was an attribute to the Exec resource type that allowed to command to inform puppet that no changes were made.\n\nIf, for example, I had:\n{code:java}\nexec {'stuff':\n  command   => '/usr/local/bin/foo',\n  unchanged => '42',\n  notify    => Service['bar']\n}{code}\nIf /usr/local/bin/foo exited with code 42, the exec would show up as unchanged (instead of as a failure) in the puppet results and would NOT trigger the notify.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20231", "fixedVersions": [], "id": "20231", "issueType": "New Feature", "key": "PUP-11403", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a8703306a4cf333658b446e", "resolution": "Incomplete", "resolutionDate": "2022-01-04T08:55:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Add attribute to Exec resource type which defines an exit code(s) to mean \"no changes made\"", "timeSpent": "PT0S", "updated": "2022-01-04T10:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "602cd85ac0b285006f4f1dc7", "attachments": [], "comments": [{"author": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "body": "I did a bit of digging into recent changes since 7.12.1, and I found that this change https://github.com/puppetlabs/puppet/pull/8789 from PUP-8094 is most likely related.\nThat change was part of the unreleased 7.13.0 tag.\n\nThat change, which switches to using trusted information from the agent's cert when getting the node object for {{puppet lookup}}, creates a connection to the configured CA server to fetch the agent's cert. It's that connection that ultimately leads to the error in this ticket.\n\n{code}\n      service = Puppet.runtime[:http]\n      session = service.create_session\n      cert = session.route_to(:ca)           # <== This is where the error originates from. \n\n      cert = cert.get_certificate(node)\n      trusted = Puppet::Context::TrustedInformation.new(true, node, cert)\n{code} \n\nThat patch looks like it assumes the user will always want to fetch trusted information from the agent's cert on the CA server. That the patch also adds a certificate setup step to the acceptance tests also implies that.\n\nI think that assumption can't be made though since there are legitimate reasons to run {{puppet lookup}} without having an agent<->server relationship or trusted information (e.g. debugging local code deploys for a {{puppet apply}} workflow with {{puppet lookup}}).\n\n----\n\nAs a temporary workaround, this other recent change (https://github.com/puppetlabs/puppet/pull/8816) from PUP-7479 provides a way to skip the certificate fetch by adding the {{--environment}} flag to {{puppet lookup}}.\n\nFor example:\n{code}\npuppet lookup test --environment production\n{code}", "created": "2021-12-31T12:30:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in d90aaec90ca83d9846484bde5cd98f6d138b350e", "created": "2022-01-10T18:53:00.000000"}], "components": ["Hiera & Lookup"], "created": "2021-12-29T14:24:00.000000", "creator": "557058:e0340dee-9d48-48c3-8c6a-02597af847c9", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7f25f1c0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Customer Feedback"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0d8y0:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Restores the ability to run puppet lookup when the agent does not have certificates available locally."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Dec/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_321739438_*|*_1_*:*_1_*:*_608667139_*|*_10007_*:*_1_*:*_84976031_*|*_3_*:*_2_*:*_37591549_*|*_10009_*:*_1_*:*_152995180_*|*_5_*:*_1_*:*_0"}], "description": "Starting with Puppet 7.13.1 (as installed via YUM for EL7) `puppet lookup --explain` now fails.\n{code:java}\n puppet lookup --explain test\nError: Failed to initialize SSL: The CA certificates are missing from '/etc/puppetlabs/puppet/ssl/certs/ca.pem'\nError: Run `puppet agent -t`\nError: Connection to https://puppet:8140/puppet-ca/v1 failed, trying next route: Request to https://puppet:8140/puppet-ca/v1 failed after 0.001 seconds: The CA certificates are missing from '/etc/puppetlabs/puppet/ssl/certs/ca.pem'\nWrapped exception:\nThe CA certificates are missing from '/etc/puppetlabs/puppet/ssl/certs/ca.pem'\nError: Could not run: No more routes to ca{code}\n7.12.1 and prior do not have this issue.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29833", "fixedVersions": ["PUP 6.26.0", "PUP 7.14.0"], "id": "29833", "issueType": "Bug", "key": "PUP-11402", "labels": ["docs-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:e0340dee-9d48-48c3-8c6a-02597af847c9", "resolution": "Done", "resolutionDate": "2022-01-12T13:23:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "puppet lookup --explain fails out of the box starting with 7.13.1", "timeSpent": "PT0S", "updated": "2022-02-22T22:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:55b79215-bbd9-4ffc-aed3-b2881e0852be", "attachments": [{"attacher": "70121:55b79215-bbd9-4ffc-aed3-b2881e0852be", "created": "2021-12-22T02:10:00.000000", "name": "Screenshot 2021-12-22 at 11.09.52.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11963"}, {"attacher": "70121:55b79215-bbd9-4ffc-aed3-b2881e0852be", "created": "2021-12-22T01:53:00.000000", "name": "puppetserver", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12044"}, {"attacher": "70121:55b79215-bbd9-4ffc-aed3-b2881e0852be", "created": "2021-12-22T01:53:00.000000", "name": "puppetserver.conf", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12125"}], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Hi! Thanks for your bug report, these are great artifacts for debugging (I also just enjoyed looking through your heap analysis). A couple general questions:\n\n1. Have you run out of ReservedCodeCache before? I believe the JVM compiler will be disabled and everything will be interpretted. Though I don't know if there's any harm in the cache being 85-90% full.\n\n2. In the screenshot you gave, have any Jruby instances hit their max-requests limit and been recycled? I would expect to see significant turn over in the code cache after a JRuby instance is destroyed. Any logs you can provide that can correlate codecache usage and JRuby recycling would be valuable. (There should be an INFO level log line that matches {{{}/Creating JRubyInstance with id (\\d+)/{}}}. Conversely, I would expect more marginal code paths to be compiled to the codecache the longer the a JRuby instance is alive, which a logarithmic increase like your image shows.", "created": "2022-01-13T16:45:00.000000"}, {"author": "61af86343618cd006f430854", "body": "Please re-open if you have more information on this issue.", "created": "2022-02-08T11:49:00.000000"}], "components": [], "created": "2021-12-22T02:11:00.000000", "creator": "70121:55b79215-bbd9-4ffc-aed3-b2881e0852be", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5b0889c1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0d89k:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Jan/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1933930816_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1551696500_*|*_10005_*:*_1_*:*_696271933"}], "description": "We've faced with constantly growing of NonProfiledMethods CodeCache area. It's look like some kind of leak, because there is no difference of how much space would be configured for this area \u2013 it's just growing. I tried to fix it by using XX:NmethodSweepActivity JVM option with no success, the grows has slowed down but still exists. We haven't seen such kind behaviour if 6.x version. You can find configs and screenshot as attachments. Also [here|https://drive.google.com/file/d/1KnV63FpReAOZFCC_R63QWrMa7dcSKQRQ/view?usp=sharing] you can download CodeHeap Analytics which I've just got with\n{noformat}\n# jcmd <<PID>> Compiler.CodeHeap_Analytics > codeheap_analytics.txt{noformat}", "environment": "Debian 10\n\npuppet-agent/buster,now 7.13.1-1buster amd64 [installed]\n\npuppetdb-termini/buster,buster,now 7.8.0-1buster all [installed]\n\npuppetdb/buster,buster,now 7.8.0-1buster all [installed]\n\npuppetserver/buster,buster,now 7.5.0-1buster all [installed]\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26574", "fixedVersions": [], "id": "26574", "issueType": "Bug", "key": "PUP-11401", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:55b79215-bbd9-4ffc-aed3-b2881e0852be", "resolution": "Incomplete", "resolutionDate": "2022-02-08T11:49:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Non-profiled CodeHeap size is constantly growing", "timeSpent": "PT0S", "updated": "2022-02-08T11:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in 2a7b3ad1e2\nPassed CI in 5d7a81d87fc72c7c9a48d6779ae6ec950b5fdfc9", "created": "2022-01-04T08:59:00.000000"}], "components": [], "created": "2021-12-14T09:59:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@649b1e41"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0d30g:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet no longer fails when using \"purge_ssh_keys\" if the user's home directory doesn't exist yet."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1725595908_*|*_1_*:*_1_*:*_23050292_*|*_10007_*:*_1_*:*_62197751_*|*_5_*:*_1_*:*_0"}], "description": "We need to backport merge commit b011076f3789861b47ac79650d007508143562eb to 6.x\n\nAfter this change, the sshkeys_core module tests should pass", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22456", "fixedVersions": ["PUP 6.26.0"], "id": "22456", "issueType": "Task", "key": "PUP-11380", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2022-01-04T09:00:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Backport user/sshkey fixes to 6.x", "timeSpent": "PT0S", "updated": "2022-01-11T19:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "602cd85ac0b285006f4f1dc7", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/8a6ecc0a8b9be01fb7ced89e0919fd4f6617b60a", "created": "2022-01-10T18:19:00.000000"}], "components": [], "created": "2021-12-14T09:42:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@43ec229a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0d2ww:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "This introduces a puppet setting (use_last_environment=true|false) and a corresponding \"puppet agent -t --no-use_last_environment\" boolean command line option that can be used to force the agent to make a node request like it did prior to 7.12 and 6.25. By default, the agent will not make a node request."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Jan/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_155026933_*|*_1_*:*_1_*:*_1921633880_*|*_10007_*:*_1_*:*_442128314_*|*_6_*:*_1_*:*_0"}], "description": "As a result of changes made in the environment convergence epic, the agent no longer calls the {{Puppet::Node}} terminus to resolve the environment during the run (before doing pluginsync and the catalog request). If the agent is configured to use a **local** enc, then it will no longer be called.\n\nSee [~accountid:70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56] comment in https://puppet.atlassian.net/browse/PUP-11328?focusedCommentId=839470&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-839470 for more information.\n\nWe should re-add this capability with the following notes:\n\n1. The terminus should only be called when the following is true:\n\n{code:ruby}\n      unless (cached_catalog || options[:catalog] || Puppet[:strict_environment_mode])\n{code}\n\n2. The terminus should only be called if it's overridden from the default.\n\n3. If the terminus should be called with the same parameters as last time, e.g. transaction_uuid.\n\n4. If the terminus returns a node, then the agent should use its environment as the \"last known environment\" ignoring what is stored in the last run summary.\n\n5. If the terminus returns a node whose environment is nil, then I'm not sure. We should check what happened previously.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26572", "fixedVersions": ["PUP 6.26.0", "PUP 7.14.0"], "id": "26572", "issueType": "Bug", "key": "PUP-11379", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5e473069c8ec310c955b241d", "resolution": "Fixed", "resolutionDate": "2022-01-12T13:22:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Regression: agent no longer calls local enc script", "timeSpent": "PT0S", "updated": "2022-02-22T22:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "Can you use https://puppet.com/docs/puppet/6/types/user.html#user-attribute-forcelocal parameter to force puppet to use the local user\n", "created": "2021-12-14T02:03:00.000000"}, {"author": "557058:1134d60c-31df-407a-b573-e0cfaef8865e", "body": "The force local parameter was enough to resolve this", "created": "2022-01-04T05:12:00.000000"}], "components": [], "created": "2021-12-13T11:27:00.000000", "creator": "557058:1134d60c-31df-407a-b573-e0cfaef8865e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@565a9e71"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0d22g:"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "46670"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Dec/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1878271101_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet version: 6.22.1 (PE Agent from PE 2019.8.6)*\n*Puppet Server Version: 6.15.3*\n*OS Name/Version: rhel 7 and rhel 8*\n\nIn this case, both systems have a local and domain user called administrator, in rhel 8 this results in corrective changes on each run as it tries to manage the domain user whereas this seems to be ignored on the rhel 7 box, and only the local user is managed.\n\n*Desired Behaviour:* Behaviour is consistent across OS versions. What that should be, I'm not exactly sure, should the local user take precedence in this case?\n\n*Actual Behaviour:* rhel 7, puppet only acts on the local user, rhel 8 has a corrective change on every run as it manages the domain administrator:\n\n{code:java}\nDec 7 13:01:43 <hostname> puppet-agent[18320]: (/Stage[main]/Profile::Base/User[administrator]/uid) change from 1553200500 to 1000 failed: Could not set uid on user[administrator]: Execution of '/usr/sbin/usermod -u 1000 administrator' returned 4: usermod: UID '1000' already exists (corrective)\n{code}\n\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20229", "fixedVersions": [], "id": "20229", "issueType": "Bug", "key": "PUP-11378", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:1134d60c-31df-407a-b573-e0cfaef8865e", "resolution": "Done", "resolutionDate": "2022-01-04T05:12:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "User resource difference in functionality between rhel 7 and 8", "timeSpent": "PT0S", "updated": "2022-01-11T04:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a1beb0b007eb21a79e5d6de", "attachments": [], "comments": [{"author": "5a1beb0b007eb21a79e5d6de", "body": "I've opened PUP-11766 to track further work", "created": "2023-03-02T17:56:00.000000"}], "components": [], "created": "2021-12-09T19:02:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@63ec9fc5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0d13c:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Mar/23"}], "description": "Rubocop is pinned to an older rubocop version 0.49.1 from 2017, and many improvements have been made since then.\n\n # Update puppet's Gemfile to use \"~> 1.0\"\n # This may require updating rubocop-i18n too\n # Delete all of the cops from \".rubocop.yml\"\n # Run {{bundle exec rubocop --auto-gen-config}}\u00a0 to regenerate the todo list\n # Move all {{Metrics}} cops from the todo to the main file and disable them\n # File tickets for each of the high level groups of todo's: e.g. Layout, Lint, Naming, etc.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23487", "fixedVersions": [], "id": "23487", "issueType": "Task", "key": "PUP-11376", "labels": ["tbd"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Ready for CI", "statusCategory": "In Progress", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Update rubocop dependencies", "timeSpent": "PT0S", "updated": "2023-03-03T14:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I think this is the \"puppet doesn't reverse the dependency order when ensure=absent\" as described in the registry module, see PUP-2451. When ensure=absent, generated or eval_generated resources children need to be processed before the parent. In this case, we need to purge the authorized_key entries before deleting the user.", "created": "2021-12-09T12:38:00.000000"}], "components": [], "created": "2021-12-09T07:44:00.000000", "creator": "623c12ff94742a00683e41fd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5ff15758"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0d0a8:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Dec/21"}], "description": "How to reproduce:\n{code:puppet}\u279c cat create_user.pp\nuser {'luchi':\n\u00a0 ensure => present,\n\u00a0 managehome => true,\n\u00a0 purge_ssh_keys => true\n}\n\u279c cat add_ssh_key.pp\nssh_authorized_key { 'luchi@example.com':\n\u00a0 ensure => present,\n\u00a0 user \u00a0 => 'luchi',\n\u00a0 type \u00a0 => 'ssh-rsa',\n\u00a0 key \u00a0 \u00a0=> 'my-key'\n}\n\u279c cat remove_user.pp\nuser {'luchi':\n\u00a0 ensure => absent,\n\u00a0 purge_ssh_keys => true\n}\n\u279c puppet apply create_user.pp\n...\n\u279c puppet apply add_ssh_key.pp\n...\n\u279c puppet apply remove_user.pp --debug --trace\n...\nDebug: User[luchi] parsed for purging Ssh_authorized_key[luchi@example.com]\nDebug: /Stage[main]/Main/User[luchi]: Nothing to manage: no ensure and the resource doesn't exist\nDebug: Prefetching parsed resources for ssh_authorized_key\nNotice: /Stage[main]/Main/Ssh_authorized_key[luchi@example.com]/ensure: removed\nError: /Stage[main]/Main/Ssh_authorized_key[luchi@example.com]: Could not evaluate: User 'luchi' does not exist\n/etc/puppetlabs/code/modules/sshkeys_core/lib/puppet/provider/ssh_authorized_key/parsed.rb:71:in `flush'\n/root/puppet/lib/puppet/type.rb:1022:in `flush'\n/root/puppet/lib/puppet/transaction/resource_harness.rb:25:in `evaluate'\n/root/puppet/lib/puppet/transaction.rb:267:in `apply'\n/root/puppet/lib/puppet/transaction.rb:287:in `eval_resource'\n...\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24586", "fixedVersions": [], "id": "24586", "issueType": "Bug", "key": "PUP-11375", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c12ff94742a00683e41fd", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Cannot ensure user absent and purge its ssh keys in same manifest", "timeSpent": "PT0S", "updated": "2021-12-13T08:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:623c0c4cee1b5a007029321b] -in feature branch workflows, usually you tell the agent which environment to run in, e.g. {{puppet agent -t --environment 317_new_feature}}, and it won't run into the issue you're describing.-\n\nNevermind about that, I was conflating this with a different problem someone was running into. For the issue you're talking about, you need to upgrade the puppet-agent package on the server host. When the agent requests a catalog from the environment that no longer exists, the server will redirect it to the correct environment, based on the latest classification. Please upgrade the puppet-agent package on the server host and restart the puppetserver.", "created": "2021-12-09T12:19:00.000000"}, {"author": "623c0c4cee1b5a007029321b", "body": "[~accountid:63d40628f6e1b543161789a7] I updated the agent on the server host and restarted the puppetserver as suggested. I can confirm it works now as desired. I don't understand why the agent code is relevant in this scenario, but I tip my hat to you for providing the solution so quickly.", "created": "2021-12-10T05:09:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Sure no problem [~accountid:623c0c4cee1b5a007029321b]. The issue is puppetserver uses puppet, facter, etc code as libraries, and those are contained in the puppet-agent package.", "created": "2021-12-10T09:07:00.000000"}], "components": [], "created": "2021-12-09T06:32:00.000000", "creator": "623c0c4cee1b5a007029321b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4905482a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0d08o:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Dec/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_20833201_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_74886442"}], "description": "Code changes introduced with PUP-10216 break \"feature branch\" workflow.\u00a0\n\n[release notes excerpt|https://puppet.com/docs/pe/2019.8/osp/release_notes_puppet.html#enhancements_puppet_x-6-25-1]:\n{quote}Failure to fetch node definition results in bad pluginsync and cascading failure - Previously, Puppet agents would make a node definition request to the server to find out the correct environment to run in. This request has now been removed, and the agent saves its last used environment in the last_run_summary.yaml file. If the environment is not set in the CLI or config, agents attempt to use the environment in last_run_summary.yaml \u2014 only if the previous run had an agent/server environment mismatch.\u00a0PUP-10216\n{quote}\nWe manage our environments within Foreman (ENC) and r10k. If an environment does not exist anymore (for example because of a merge in git), the next agent run fails:\n\n{{# puppet agent -t}}\n{{Info: Using environment '317_new_feature'}}\n{{Notice: Environment '317_new_feature' not found on server, skipping initial pluginsync.}}\n{{Info: Loading facts}}\n{{Error: Could not retrieve catalog from remote server: Find /puppet/v3/catalog/server11 resulted in 404 with the message: \\{\"message\":\"Not Found: Could not find environment '317_new_feature'\",\"issue_kind\":\"RUNTIME_ERROR\"}}}\n{{Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run}}\n\nWhen working with feature branches environments get created and deleted often. A possible solution may be to introduce a config option to re-enable the initial query to ENC.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27726", "fixedVersions": [], "id": "27726", "issueType": "Bug", "key": "PUP-11374", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0c4cee1b5a007029321b", "resolution": "Incomplete", "resolutionDate": "2021-12-10T09:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Agent 6.25+ breaks feature branch workflow", "timeSpent": "PT0S", "updated": "2021-12-10T09:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [{"attacher": "70121:55b79215-bbd9-4ffc-aed3-b2881e0852be", "created": "2021-12-01T07:09:00.000000", "name": "env", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11719"}, {"attacher": "70121:55b79215-bbd9-4ffc-aed3-b2881e0852be", "created": "2021-12-01T07:12:00.000000", "name": "ps_grafana.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11645"}, {"attacher": "70121:55b79215-bbd9-4ffc-aed3-b2881e0852be", "created": "2021-12-01T07:12:00.000000", "name": "ps_mem.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11573"}, {"attacher": "70121:55b79215-bbd9-4ffc-aed3-b2881e0852be", "created": "2021-12-01T07:08:00.000000", "name": "puppetserver-1.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11962"}, {"attacher": "70121:55b79215-bbd9-4ffc-aed3-b2881e0852be", "created": "2021-12-01T07:09:00.000000", "name": "puppetserver.conf", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11798"}, {"attacher": "70121:55b79215-bbd9-4ffc-aed3-b2881e0852be", "created": "2021-12-01T07:08:00.000000", "name": "threaddump.tdump", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11874"}], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:70121:55b79215-bbd9-4ffc-aed3-b2881e0852be] Thanks for filing this and including the threaddump. It looks like there's a deadlock due to multithreaded being enabled. We'll need to take a closer look.", "created": "2021-12-01T11:52:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Thread qtp346358872-67 has locked the Environment (<bd0f663>) in [https://github.com/puppetlabs/puppet/blob/7.12.1/lib/puppet/pops/loader/loader.rb#L153]\n and is waiting to lock the TypeCollection (<3f27e688>) in [https://github.com/puppetlabs/puppet/blob/7.12.1/lib/puppet/resource/type_collection.rb#L188]\n\nThread qtp346358872-131 has locked the TypeCollection (<3f27e688>) in [https://github.com/puppetlabs/puppet/blob/7.12.1/lib/puppet/resource/type_collection.rb#L188]\n and is waiting to lock the Environment (<bd0f663>) in [https://github.com/puppetlabs/puppet/blob/7.12.1/lib/puppet/node/environment.rb#L248]", "created": "2021-12-01T12:37:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is probably triggered due to [https://github.com/puppetlabs/puppet/commit/ec319d778150eade0b6128c2ddd11cbf3926183b], because previously the loader didn't lock the environment (which was the cause of a different deadlock PUP-10959)", "created": "2021-12-01T12:49:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Could you give this a try: https://github.com/joshcooper/puppet/commit/107426595261935da8c6e96aa6d3cba6343dfc64?", "created": "2021-12-01T22:16:00.000000"}, {"author": "70121:55b79215-bbd9-4ffc-aed3-b2881e0852be", "body": "[~accountid:63d40628f6e1b543161789a7]\u00a0 I have been testing for 5 hours, have no issues with multithread, thank you!", "created": "2021-12-02T04:05:00.000000"}, {"author": "70121:55b79215-bbd9-4ffc-aed3-b2881e0852be", "body": "The only issue I've found is sometimes puppetserver returns 500 error with a log like\n{noformat}\nDec 02 10:40:29 tor1-infra-puppet puppetserver[1874859]: ERROR [qtp580967019-3852] [puppetserver] Puppet Server Error: Evaluation Error: Error while evaluating a Method call, Internal Error: Attempt to redefine loader named 'wazuh private' (file: /etc/puppetlabs/code/environments/production/modules/wazuh/manifests/init.pp, line: 6, column: 11) on node tor1-prod-pathpuzzle-android-app-1.etrigan.net\n{noformat}\nIt's periodically happened with almost any node and module. Could it be related to this issue or it's another problem?\n\n\u00a0", "created": "2021-12-02T04:11:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Thanks [~accountid:70121:55b79215-bbd9-4ffc-aed3-b2881e0852be]! The {{Attempt to redefine loader named 'xxx private'}} error is filed as PUP-11324 (as it happens in 6.x).", "created": "2021-12-02T10:01:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed in 2e131b4ff9", "created": "2022-01-12T15:55:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I removed the 7.15.0 fix version because the code was first fixed and released in 7.14.0", "created": "2022-02-22T12:44:00.000000"}], "components": [], "created": "2021-12-01T07:19:00.000000", "creator": "70121:55b79215-bbd9-4ffc-aed3-b2881e0852be", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@23b6b3e9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "SERVER-2911"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0cigk:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fixes a deadlock when running puppetserver in multithreaded mode between the environment and type collection."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Dec/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_78044584_*|*_1_*:*_1_*:*_19816454_*|*_10007_*:*_1_*:*_3484781075_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_77158976"}], "description": "After upgrading from Puppet v6 to v7, the server hangs after ~10 min of work. More precisely, *there are no free JRuby Instances*. All configs (puppetserver, puppetdb, puppetagent) including resources are absolutely equal between v6 and v7.\u00a0 We have ~300 agents, the server is configured according to an official guideline. v6 has worked with no issues.\u00a0\n\nConfig, environment, thread dump, graphs, and logs are attached.\u00a0\n\n[Heapdump is here.|https://drive.google.com/file/d/1STOr8L9YzbzbDGmH8YyiOeUSDuOM6rTR/view?usp=sharing]\u00a0", "environment": "Debian: 10\n\nPuppetDB: 7.7.1\n\nPuppetServer: 7.4.2\n\nAgent: 7.12.1\n\nJVM Report:\nawt.toolkit=sun.awt.X11.XToolkit\ncom.sun.management.jmxremote=\ncom.sun.management.jmxremote.authenticate=false\ncom.sun.management.jmxremote.local.only=false\ncom.sun.management.jmxremote.port=9132\ncom.sun.management.jmxremote.rmi.port=9133\ncom.sun.management.jmxremote.ssl=false\nfile.encoding=UTF-8\nfile.separator=/\njava.awt.graphicsenv=sun.awt.X11GraphicsEnvironment\njava.awt.printerjob=sun.print.PSPrinterJob\njava.class.path=/opt/puppetlabs/server/apps/puppetserver/puppet-server-release.jar:/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter.jar:/opt/puppetlabs/server/data/puppetserver/jars/*\njava.class.version=55.0\njava.home=/usr/lib/jvm/java-11-openjdk-amd64\njava.io.tmpdir=/tmp\njava.library.path=/usr/java/packages/lib:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib\njava.rmi.server.hostname=localhost\njava.rmi.server.randomIDs=true\njava.runtime.name=OpenJDK Runtime Environment\njava.runtime.version=11.0.12+7-post-Debian-2deb10u1\njava.specification.name=Java Platform API Specification\njava.specification.vendor=Oracle Corporation\njava.specification.version=11\njava.vendor=Debian\njava.vendor.url=https://tracker.debian.org/openjdk-11\njava.vendor.url.bug=https://bugs.debian.org/openjdk-11\njava.version=11.0.12\njava.version.date=2021-07-20\njava.vm.compressedOopsMode=Zero based\njava.vm.info=mixed mode, sharing\njava.vm.name=OpenJDK 64-Bit Server VM\njava.vm.specification.name=Java Virtual Machine Specification\njava.vm.specification.vendor=Oracle Corporation\njava.vm.specification.version=11\njava.vm.vendor=Debian\njava.vm.version=11.0.12+7-post-Debian-2deb10u1\njdk.debug=release\njdk.tls.ephemeralDHKeySize=matched\njetty.git.hash=526006ecfa3af7f1a27ef3a288e2bef7ea9dd7e8\njruby.invokedynamic.yield=false\njruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger\nline.separator=\\n\nos.arch=amd64\nos.name=Linux\nos.version=5.8.0-0.bpo.2-amd64\npath.separator=:\nsun.arch.data.model=64\nsun.boot.library.path=/usr/lib/jvm/java-11-openjdk-amd64/lib\nsun.cpu.endian=little\nsun.cpu.isalist=\nsun.io.unicode.encoding=UnicodeLittle\nsun.java.command=clojure.main -m puppetlabs.trapperkeeper.main --config /etc/puppetlabs/puppetserver/conf.d --bootstrap-config /etc/puppetlabs/puppetserver/services.d/,/opt/puppetlabs/server/apps/puppetserver/config/services.d/ --restart-file /opt/puppetlabs/server/data/puppetserver/restartcounter\nsun.java.launcher=SUN_STANDARD\nsun.jnu.encoding=UTF-8\nsun.management.compiler=HotSpot 64-Bit Tiered Compilers\nsun.os.patch.level=unknown\nuser.country=US\nuser.dir=/\nuser.home=/opt/puppetlabs/server/data/puppetserver\nuser.language=en\nuser.name=puppet\n\n\n\n\n\u00a0", "epicLinkSummary": "Multithreaded Fixes", "estimate": "PT0S", "externalId": "23486", "fixedVersions": ["PUP 7.14.0"], "id": "23486", "issueType": "Bug", "key": "PUP-11373", "labels": ["docs-reviewed"], "originalEstimate": "PT0S", "parent": "17234", "parentSummary": "Multithreaded Fixes", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:55b79215-bbd9-4ffc-aed3-b2881e0852be", "resolution": "Fixed", "resolutionDate": "2022-01-12T15:55:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Server with multithreaded enabled hangs after upgrade v6 -> v7", "timeSpent": "PT0S", "updated": "2022-02-22T12:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-11-30T14:20:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@344c6d22"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-3"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Agent Sensitive Data Handling"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "yellow"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0cse0:"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28848", "fixedVersions": [], "id": "28848", "issueType": "Epic", "key": "PUP-11372", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Agent Sensitive Data Handling", "timeSpent": "PT0S", "updated": "2021-11-30T14:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-11-30T14:13:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1ebcc7eb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-1"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Server Sensitive Data Handling"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_grey"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0csds:"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27665", "fixedVersions": [], "id": "27665", "issueType": "Epic", "key": "PUP-11371", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Server Sensitive Data Handling", "timeSpent": "PT0S", "updated": "2021-11-30T14:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "I'm not sure if we should use windows-latest or windows-2019, my thoughts:\n * if we use windows-latest this could be bumped from windows-2019 to windows-2022 without our control/knowledge\n * if we use windows-2019 we will need to manually update runner again when windows-2019 will be EOL", "created": "2021-12-02T04:18:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "adding PR here since it will not be automatically linked: https://github.com/puppetlabs/puppet/pull/8831", "created": "2021-12-02T04:21:00.000000"}, {"author": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "body": "Facter 3.x PR: [https://github.com/puppetlabs/facter/pull/2471]\n\nFacter main PR: [https://github.com/puppetlabs/facter/pull/2472]\n\nsshkeys_core PR: [https://github.com/puppetlabs/puppetlabs-sshkeys_core/pull/56]\n\naugeas_core PR: [https://github.com/puppetlabs/puppetlabs-augeas_core/pull/48]\n\ncron_core PR: [https://github.com/puppetlabs/puppetlabs-cron_core/pull/49]\n\nhost_core PR: [https://github.com/puppetlabs/puppetlabs-host_core/pull/33]\n\nmailalias_core PR: [https://github.com/puppetlabs/puppetlabs-mailalias_core/pull/38]\n\nmount_core PR: [https://github.com/puppetlabs/puppetlabs-mount_core/pull/36]\n\nselinux_core PR: [https://github.com/puppetlabs/puppetlabs-selinux_core/pull/34]\n\nyumrepo_core PR: [https://github.com/puppetlabs/puppetlabs-yumrepo_core/pull/43]\n\nzfs_core PR: [https://github.com/puppetlabs/puppetlabs-zfs_core/pull/49]\n\nzone_core PR: https://github.com/puppetlabs/puppetlabs-zone_core/pull/34", "created": "2022-01-11T07:17:00.000000"}], "components": [], "created": "2021-11-30T09:26:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@80304f9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0cs1c:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Dec/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_1867028462_*|*_1_*:*_2_*:*_2190092032_*|*_3_*:*_1_*:*_240173219_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_99730421_*|*_10006_*:*_1_*:*_82442386"}], "description": "Github has deprecated the \"windows-2016\" environment and will remove it March 15, 2022. We need to use \"windows-latest\" instead. See https://github.com/actions/virtual-environments/issues/4312\n\nThe .github/workflows/* actions in the following repos need to be updated, including older supported branches, e.g. puppet#6.x:\n\n* puppet\n* facter\n* core modules\n* ...?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27664", "fixedVersions": [], "id": "27664", "issueType": "Improvement", "key": "PUP-11370", "labels": ["tbd"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2022-01-21T05:44:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Move to windows-latest github runner", "timeSpent": "PT0S", "updated": "2022-01-21T05:44:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8b915655-a6c3-4c09-9070-53484ff60ff3", "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "PR is draft", "created": "2021-12-21T05:54:00.000000"}, {"author": "70121:e83e1a27-3346-490e-9e8f-a84f75436063", "body": "can you provide evidence that this is actually failing, the comment in the PR dose not indicate any bug to me", "created": "2022-09-06T05:43:00.000000"}], "components": ["Types and Providers"], "created": "2021-11-28T14:19:00.000000", "creator": "557058:8b915655-a6c3-4c09-9070-53484ff60ff3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@707226c0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0cr3s:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Dec/21"}], "description": "When managing users with system=true, the pw provider should restrict uid / gid to system users.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21426", "fixedVersions": [], "id": "21426", "issueType": "Bug", "key": "PUP-11369", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8b915655-a6c3-4c09-9070-53484ff60ff3", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "The pw user provider should support creating system users", "timeSpent": "PT0S", "updated": "2022-09-06T05:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is a bug in semantic_puppet when comparing prerelease versions of a module against the constraint \">= 0.0.0\" as can be seen from:\n\n{noformat}\n(byebug) SemanticPuppet::VersionRange.parse(\">= 0.0.0\") === SemanticPuppet::Version.parse(\"2.12.0-0-4\")\nfalse\n(byebug) SemanticPuppet::VersionRange.parse(\">= 0.0.0\") === SemanticPuppet::Version.parse(\"2.12.0\")\ntrue\n{noformat}\n\nBoth of those should return true.\n\nThings go wrong here: https://github.com/puppetlabs/semantic_puppet/blob/dbb613b2124fba772861b680916e6fd19ce5f0d6/lib/semantic_puppet/dependency/graph.rb#L19\n\nwhere {{===}} is aliased to {{include?}}. Since it returns {{false}} then the PMT thinks the release doesn't satisfy the constraint, leading to the error message. It works when using force, because we ignore those constraints.\n\nWe've had troubles with prereleases before, e.g. PUP-6264.\n\nGiven other priorities we're unlikely to fix the puppet module tool anytime soon, but perhaps we should stop including prerelease version in the psdscresources module that we publish to the forge. Thoughts [~accountid:557058:6d857d90-8994-48d7-b10d-fb3191606f48]?", "created": "2021-11-19T12:05:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b], any opinion?", "created": "2021-11-29T08:15:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "It looks like all of the autogenerated dsc modules have prerelease versions in them: https://forge.puppet.com/modules/dsc", "created": "2021-11-30T09:44:00.000000"}, {"author": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "body": "The reason for this problem is complex. The simple version is that we don't just import the DSC resource directly from the PowerShell Gallery, we run it through a build process that repackages and vendors it into a Puppet module along with helper functions. Sometimes we have to make updates to the tool that does that build process, and when we do that, we need to rebuild a new version of the module.\n\nWe can't just republish the same version number of the module, because there be dragons, so we have to distinguish between and rank builds. We chose to do that via pre-release numbering ({{{}version-prerelease{}}} (see below), so the referenced {{dsc-psdscresources-2.0.0-0-3}} module is the third build of the {{psdscresources v2.0.0}} DSC module.\n\nSo why did we use prerelease instead of the build identifier ({{{}version+build{}}})? [Because semver explicitly discards the build identifier when comparing versions|https://semver.org/#spec-item-11], so {{dsc-psdscresources-2.0.0+0-1}} = {{dsc-psdscresources-2.0.0+0-2}} = {{{}dsc-psdscresources-2.0.0+0-3{}}}. So this still doesn't let us have a \"latest\" version.\n\n*Correcting this means fixing {{semantic-puppet}} such that it compares pre-release versions properly.*\n\nThe problem is in the assumption made with the first bullet point of [https://github.com/puppetlabs/semantic_puppet/pull/23]. If you specify the range as described, it does work according to that design requirement. I believe that is incorrect.\n{code}> SemanticPuppet::VersionRange.parse(\">= 2.12.0-0\") === SemanticPuppet::Version.parse(\"2.12.0-0-4\")\n => true\n{code}\n{*}Related{*}: we also need to iterate on the release numbering anyways, since this scheme will break as soon as we get to double digits. {{dsc-psdscresources-2.0.0+0-2}} will sort lexicographically as greater than {{{}dsc-psdscresources-2.0.0+0-12{}}}.\n\n{*}Tangent{*}: During development, we also specifically chose to require version pinning, since the ecosystem was more volatile than usual. That's no longer the case though.", "created": "2021-12-07T15:08:00.000000"}, {"author": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "body": "https://jubianchi.github.io/semver-check/#/%3E%3D%200.0.0/2.12.0-0-4", "created": "2021-12-07T15:19:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "The issues is not on how semantic_puppet compares versions (as `SemanticPuppet::Version.parse(\"0.0.0\") <= SemanticPuppet::Version.parse(\"2.12.0-0-4\") => true` is evaluated properly), and it is more about how puppet_semantic implements VersionRange inclusion.\n\nThis seems to be inline with the Node SemVer specifications as described in the ticket https://puppet.atlassian.net/browse/PUP-6373. referenced with the commit ([https://github.com/puppetlabs/semantic_puppet/pull/23/commits/4ced1fac803468ca22e1e9bba79d024e1ef17981] - Make VersionRange comply with Node Semver) - [https://docs.npmjs.com/cli/v6/using-npm/semver] while not inline with the Ruby/Gem implementation as tested bellow.\n\nThe side-effect of such change needs to be estimated and agreed before doing deciding the implementation.\n{code:java}2.6.4 :019 > Gem::Version.create(\"0.0.0\") <= Gem::Version.create(\"2.12.0-0-4\")\n => true \n2.6.4 :021 > Gem::Requirement.create(\">= 0.0.0\") === Gem::Version.create(\"2.12.0-0-4\")\n => true \n2.6.4 :024 > Gem::Requirement.create(\">= 2.12.0-0\") === Gem::Version.create(\"2.12.0-0-4\")\n => false (this is surprisingly) \n{code}\n{code:java}> semver.lt('0.0.0', '2.12.0-0-4')\ntrue\n> semver.satisfies('2.12.0-0-4', '>= 0.0.0')\nfalse\n> semver.satisfies('2.12.0-0-4', '>= 2.12.0-0')\ntrue\n{code}\n{code:java}2.6.4 :003 > SemanticPuppet::Version.parse(\"0.0.0\") <= SemanticPuppet::Version.parse(\"2.12.0-0-4\")\n => true \n2.6.4 :006 > SemanticPuppet::VersionRange.parse(\">= 0.0.0\") === SemanticPuppet::Version.parse(\"2.12.0-0-4\")\n => false \n2.6.4 :005 > SemanticPuppet::VersionRange.parse(\">= 2.12.0-0\") === SemanticPuppet::Version.parse(\"2.12.0-0-4\")\n => true \n{code}\n\u00a0", "created": "2022-01-10T05:17:00.000000"}, {"author": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "body": "[~accountid:557058:6d857d90-8994-48d7-b10d-fb3191606f48] should probably be in this conversation too", "created": "2022-01-19T10:59:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Ah ok I see now. Looking at [the nodejs docs|https://docs.npmjs.com/cli/v6/using-npm/semver#prerelease-tags]:\n\n{quote}\nIf a version has a prerelease tag (for example, 1.2.3-alpha.3) then it will only be allowed to satisfy comparator sets if at least one comparator with the same [major, minor, patch] tuple also has a prerelease tag.\n{quote}\n\nRubygems behaves similarly in that you have to explicitly ask for a prerelease gem, such as \"gem install --pre <name>\". See https://github.com/rubygems/rubygems/blob/459b12b3c3ea0890076e4cb5e1951d9169db5aca/test/rubygems/test_kernel.rb#L64\n\nAnd semantic_puppet behaves similarly [as seen in this test|https://github.com/puppetlabs/semantic_puppet/blob/490dafae2691a9ff4e2d1bc399aa354e726b6a48/spec/unit/semantic_puppet/version_range_spec.rb#L75-L78] since the version \"1.2.4-0\" is not considered to be included in the open-ended range \"> 1.2.3\".\n\nSo [~accountid:557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b] I think if you want to rely on prerelease numbering for DSC mopdules then we'd need an option like \"puppet module install --prerelease dsc/psdscresources\".\n\nAlso it looks like the semver checker you linked to has issues with prereleases: https://github.com/jubianchi/semver-check/issues/106", "created": "2022-02-16T00:08:00.000000"}], "components": [], "created": "2021-11-19T06:24:00.000000", "creator": "557058:2268636a-3880-4b3c-a73a-6200f2fd381a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "It should be possible to run puppet module install like;\n{noformat}puppet module install --ignore-dependencies dsc/psdscresources\n{noformat}\nWith the result being that the latest release should be installed."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@78535c0c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0c9jc:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Nov/21"}], "description": "{noformat}$ puppet module install --ignore-dependencies --force --target-dir `pwd` dsc/psdscresources\nNotice: Preparing to install into /tmp/tmp.F6tr8BbJhO ...\nNotice: Downloading from https://forgeapi.puppet.com ...\nError: Could not install 'dsc-psdscresources' (latest)\n \u00a0No releases are available from https://forgeapi.puppet.com\n \u00a0\u00a0\u00a0Does 'dsc-psdscresources' have at least one published release?\n{noformat}\nThis seems to be related to how Puppet handles module versions, as it's possible to get it to install an open-ended version definition - albeit not the correct latest one - by doing something like;\n{noformat}$ puppet module install --ignore-dependencies --force --target-dir `pwd` dsc/psdscresources --version '>=2.0.0-0-0'\nNotice: Preparing to install into /tmp/tmp.F6tr8BbJhO ...\nNotice: Downloading from https://forgeapi.puppet.com ...\nNotice: Installing -- do not interrupt ...\n/tmp/tmp.F6tr8BbJhO\n\u2514\u2500\u2500 dsc-psdscresources (v2.0.0-0-3){noformat}\nSpecifying an exact version number works as expected.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28847", "fixedVersions": [], "id": "28847", "issueType": "Bug", "key": "PUP-11368", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2268636a-3880-4b3c-a73a-6200f2fd381a", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Can't install the dsc/* modules without explicitly specifying version", "timeSpent": "PT0S", "updated": "2022-02-16T00:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Yeah that seems odd", "created": "2021-11-18T09:03:00.000000"}], "components": [], "created": "2021-11-18T06:24:00.000000", "creator": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@136ddb6e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0clxc:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Nov/21"}], "description": "Hi,\nthe following code isn't a parser error:\n\n{code}\nclass bar ( Variant $foo = '', ) {}\n{code}\n\n{code}\n $ cat test.pp\nclass bar ( Variant $foo = '', ) {}\n $ puppet --version\n7.12.1\n $ puppet parser validate test.pp\n $ echo $?\n0\n $\n{code}\n\nbut that doesn't make any sense? the whole purpose of Variant is to allow multiple datatype so I would assume I've to do something like:\n{code}\nVariant[$type1, $type2]...\n{code}\n\nI think Variant standalone should not be valid and trigger a parser error.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28846", "fixedVersions": [], "id": "28846", "issueType": "Bug", "key": "PUP-11366", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Puppet accepts Variant as correct type", "timeSpent": "PT0S", "updated": "2022-02-15T14:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:adac4e58-01ac-4fce-8be9-94131c26c73d", "attachments": [], "comments": [{"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "[~accountid:557058:cb7bc15e-c86d-41f5-bc56-683d06b0a7fe]\u00a0what information is needed for this ticket? (asking based on ticket status change, I may just not understand what that status means in the workflow)", "created": "2021-11-17T05:20:00.000000"}, {"author": "557058:cb7bc15e-c86d-41f5-bc56-683d06b0a7fe", "body": "Hi [~accountid:557058:97578a32-3955-4c5c-939e-58a878437b49], I was on PTO for a couple of weeks so only getting around to this now. The team assign tickets to myself when they require some Product input, or if we need to gather requirements :)\u00a0 When do we advise our largest customers on steps to mitigate this, is it during initial setup? Also cc/ [~accountid:63d40628f6e1b543161789a7]\u00a0into this for some engineering expertise.", "created": "2021-11-17T05:20:00.000000"}, {"author": "557058:adac4e58-01ac-4fce-8be9-94131c26c73d", "body": "[~accountid:557058:97578a32-3955-4c5c-939e-58a878437b49] [~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b] how often is this coming up? trying to balance this with the rest of the tickets - if you were to guess what % of customers run into it?", "created": "2021-11-17T05:20:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "100% of customers run into the unevenly spread workload problem. A lesser percentage notice it. If the customer is small (say, less than a thousand nodes), the available Puppet compute power will eclipse the total agent workload enough to\u00a0make the thundering herd _issue_\u00a0not a _problem_. Small herd, small thunder.\n\nThe issue becomes a problem when the available compute power starts to become more evenly matched to the workload. [~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b]\u00a0would have to speak to the percentage of customers that Support needs to advise on enabling our special configuration {{max-queued-requests}} option, which is the first tier workaround used to mitigate the issue. This workaround tries to push back on the herd from the server side, by basically telling agents \"come back later\". It's imperfect, but better than nothing.*\n\nFor our largest customers, say >10,000 nodes (at a guess) we pretty universally have to talk about {{max-queued-requests}} at a minimum up front, and for most we end up evolving into suggesting the second tier workaround, which is\u00a0[reidmv-puppet_run_scheduler|https://forge.puppet.com/modules/reidmv/puppet_run_scheduler]\u00a0or similar\u2014basically, stop using the service, and use cron/scheduled-tasks to run the agent instead.\n\nThat strategy, even as a pre-implemented module, is uncomfortable because all customers would rather run services daemons than cron/scheduled-tasks. The big ones grumpily end up sacrificing that in exchange for stable performance.\n\n\u00a0\n----\n*\u00a0It's possible that an implementation solving for thundering herd could be built to interact more directly with the {{max-queued-requests}} back-off\u00a0mechanism, to balance an agent's schedule. Agent changes to make the run scheduling start times aligned with run-interval (start every run-interval), rather than being subject to individual run times (wait run-interval between runs) would still be desirable in that approach.", "created": "2021-11-17T05:20:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "I think this is basically the same request I made in the past via PUP-4212.  ", "created": "2021-11-17T05:20:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "Possibly. There are definitely similarities. If there's any difference, I think it would be that this ticket is more \"smooth workload distribution is something I want", "created": "2021-11-17T05:20:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:557058:97578a32-3955-4c5c-939e-58a878437b49], what are the benefits of randomizing first daemon run? Does adding the startup randomization to the first daemon run randomization gives better results?\n\nCould implementing something like this be enough?\n # first puppet-agent run: {{now() + $splay, if there is a collision, }}{{do 3}}\n # subsequent puppet-agent runs: each {{$run_interval}}, {{if there is a collision, 3, otherwise reset backoff_multiplier}}\n # collisions handling (based on server 503)\n ## {{increment backoff_multiplier}}\n ## sleep for {{backoff_multiplier * (retry-after || fixed default)}}\n ## reset run interval to now() and retry daemon run\n\nOP1: is the value of {{retry-after}} fixed (I assumed this and that's why I proposed the backoff_multiplier)\n\nOP2: is there any soft means to detect \"Thundering herds\" other than HTTP 503 response?\n\n\u00a0\n\n\u00a0", "created": "2021-11-17T05:20:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "[~accountid:70121:4596f954-1fdf-472f-a700-6b7c2ffbc525]\u00a0if I'm understanding it correctly, the idea of step 3 collision handling above violates the first non-volatility characteristic given in the description:\u00a0\n * Scheduled run start times should be based on computed wall clock times. Not on variable-time events such as previous run end times\n\nReceiving a 503 is a variable-time event. It is permissible for receipt of a 503 to delay the start time of a\u00a0_single_ run event, but it cannot be permitted to shift the\u00a0_schedule_. A single run can be delayed up to a point, but If the single run cannot be started within its allocated portion of the schedule, it should be cancelled. The next scheduled run should still occur at the next non-volatile pre-computed run-interval offset.\n\nPermitting the normal schedule to be shifted or changed by variable events is what permits Thundering Herds to form.", "created": "2021-11-17T09:49:00.000000"}], "components": [], "created": "2021-11-17T05:20:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2d487f68"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-4"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "deterministic run scheduling"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_blue"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ck00:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Nov/21"}], "description": "h2. Problem\n\nOne of the most-viewed articles in Open Source Puppet Assist between September of 2020 and March of 2021 was [determine a thundering herd condition in Puppet|https://ospassist.puppet.com/hc/en-us/articles/360040327753-determine-a-thundering-herd-condition-in-puppet-]\u00a0(OSPA-21).\n\nThundering herds have been an out-of-box problem in Puppet for more than a decade, and for users \"in the know\", there is a clear, bulletproof solution: use splayed, deterministic run start times to evenly distribute agent checkins.\n\nProblematically, this doesn't work with our daemonized agent. Customers must instead disable the agent, and use OS schedulers such as Cron (Posix) and Scheduled Tasks (Windows). See [this module|https://forge.puppet.com/modules/reidmv/puppet_run_scheduler]\u00a0for full automation of the configuration.\nh2. Desired Solution\n\nThe Puppet agent should provide a deterministic run scheduling mode which evenly distributes agent runs automatically, and eliminates the possibility of thundering herds developing. This mode should become the new default mode.\n\nCharacteristics:\n * Scheduled run start times should be based on computed wall clock times. Not on variable-time events such as previous run end times.\n * An agent's individual run start time should include a random offset element, seeded on the agent's certname setting _+\u00a0a random seed.\u2020_\n * The agent should schedule and perform a first-start run quickly (immediately, or splayed if splay is configured) on daemon startup, after which subsequent run starts should adhere to the computed wall-clock schedule\n\nOn startup, an agent might schedule runs thusly.\n # Schedule a startup run for\n {{now() + $splay}}\n # Schedule the first regular daemon run for\n {{now() + ((($run_interval - (now() % $run_interval)) + fqdn_rand($certname)) % $run_interval)}}\n # Every subsequent run should be scheduled exactly {{$run_interval}}\u00a0after of the previously scheduled run\n\n * Optionally, a provision can be made to skip a scheduled run if the previous scheduled run completed too soon within a configured proximity. This may happen after the special startup run, for example, or if a previously scheduled run entered into a backoff/retry loop based on server 503 responses and so did not start/complete for much longer than expected\n\n\u00a0\n\n\u00a0\n\nWe advise our largest customers to achieve this scheduling algorithm today in order to better distribute load, and to prevent thundering herds. We should eliminate the onerous workaround by incorporating it into our product, and in so doing deliver the same benefits to all Puppet users, as well as eliminate one of our most common troubleshooting exasperations.\n----\n\u2020\u00a0It is not important for a given agent to always select the same wall-clock start times; only for agents to have different, evenly spread start times, and for subsequent runs to be +consistently+ spaced. Including a random seed element permits the (unusual, not recommended) use of the same certificate by multiple agents. Including the certname accounts for the possibility of running on a system which cannot generate true random seeds.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28845", "fixedVersions": [], "id": "28845", "issueType": "Epic", "key": "PUP-11365", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prevent thundering herd via deterministic run scheduling", "timeSpent": "PT0S", "updated": "2023-01-31T14:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5b0340d43eafdb09dee5bc3a", "attachments": [], "comments": [{"author": "5a1beb0b007eb21a79e5d6de", "body": "This is ready [~accountid:60e4906e4134aa006931a5d6] , thank you!", "created": "2022-01-12T15:17:00.000000"}], "components": [], "created": "2021-11-16T02:05:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@50daf122"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4115"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dbu0:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Adds RedHat 9 support"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Jan/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2240_*|*_3_*:*_1_*:*_8380790_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_5661306169"}], "description": "Update Public-facing Puppet docs to include this platform\n\nThis ticket will be set with the fix version of the first release containing the new platform and checked with doc team during the Platform release process.\n", "epicLinkSummary": "Add RedHat 9(x86_64) FOSS support", "estimate": "PT0S", "externalId": "24581", "fixedVersions": ["PUP 6.26.0", "PUP 7.14.0"], "id": "24581", "issueType": "Task", "key": "PUP-11364", "labels": ["docs-reviewed"], "originalEstimate": "PT0S", "parent": "59039", "parentSummary": "Add RedHat 9(x86_64) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "resolution": "Fixed", "resolutionDate": "2022-01-20T17:00:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Public-facing Puppet docs to include RedHat 9(x86_64)", "timeSpent": "PT0S", "updated": "2022-02-22T22:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-11-15T15:14:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@34a42434"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11354"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0chkg:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_176799_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_5172369717"}], "description": "(Initial planned release date: 2021-12-07)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2021-12-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "estimate": "PT0S", "externalId": "29831", "fixedVersions": [], "id": "29831", "issueType": "Task", "key": "PUP-11363", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28843", "parentSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-01-14T12:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 7.13.0)", "timeSpent": "PT0S", "updated": "2022-01-14T12:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-11-15T15:14:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@22dbb1e0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11354"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0chk8:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_178996_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_5172364389"}], "description": "(Initial planned release date: 2021-12-07)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.descriptions\n", "duedate": "2021-12-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "estimate": "PT0S", "externalId": "28844", "fixedVersions": [], "id": "28844", "issueType": "Task", "key": "PUP-11362", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28843", "parentSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-01-14T12:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 7.13.0)", "timeSpent": "PT0S", "updated": "2022-01-14T12:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-11-15T15:14:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@d6aaa26"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11354"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0chk0:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_9430_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_5172550518"}], "description": "(Initial planned release date: 2021-12-07)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 7.13.0 is now available\"\n", "duedate": "2021-12-07T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "estimate": "PT0S", "externalId": "27662", "fixedVersions": [], "id": "27662", "issueType": "Task", "key": "PUP-11361", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28843", "parentSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-01-14T12:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Send release announcement (Puppet Platform 7.13.0)", "timeSpent": "PT0S", "updated": "2022-01-14T12:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5b0340d43eafdb09dee5bc3a", "attachments": [], "comments": [], "components": [], "created": "2021-11-15T15:14:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@457fda45"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11354"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0chjk:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5172583514_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-12-07)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2021-12-07T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "estimate": "PT0S", "externalId": "25528", "fixedVersions": [], "id": "25528", "issueType": "Task", "key": "PUP-11360", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28843", "parentSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-01-14T12:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 7.13.0)", "timeSpent": "PT0S", "updated": "2022-01-14T12:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-11-15T15:14:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@779c95be"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11354"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0chjc:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_192242_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_5172354463"}], "description": "(Initial planned release date: 2021-12-07)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2021-12-06T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "estimate": "PT0S", "externalId": "24579", "fixedVersions": [], "id": "24579", "issueType": "Task", "key": "PUP-11359", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28843", "parentSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-01-14T12:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 7.13.0)", "timeSpent": "PT0S", "updated": "2022-01-14T12:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [{"author": "6323aedbed8abffd7ffdf0ce", "body": "[~accountid:60e4906e4134aa006931a5d6] - reassigning to you, as Heston let me know he'll be on PTO!", "created": "2021-12-01T16:04:00.000000"}, {"author": "6323aedbed8abffd7ffdf0ce", "body": "I track our release announcements here: [https://docs.google.com/document/d/1bDXGQuA_R9X8eMgptNDWHUTNKvuXbDlIC0_-Fjfh0MU/edit?usp=sharing]\u00a0\n\n\u00a0\n\nI'll tag the release leads there, so that we can get their inputs.\u00a0", "created": "2021-12-01T16:07:00.000000"}, {"author": "60e4906e4134aa006931a5d6", "body": "Release announcement looks good to me", "created": "2021-12-13T10:17:00.000000"}], "components": [], "created": "2021-11-15T15:14:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7885ff11"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11354"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0chiw:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Dec/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2401404807_*|*_5_*:*_1_*:*_0_*|*_6_*:*_1_*:*_6135"}], "description": "(Initial planned release date: 2021-12-07)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:5b0340d43eafdb09dee5bc3a] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2021-12-06T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "estimate": "PT0S", "externalId": "22452", "fixedVersions": [], "id": "22452", "issueType": "Task", "key": "PUP-11358", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28843", "parentSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2021-12-13T10:17:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare release announcement (Puppet Platform 7.13.0)", "timeSpent": "PT0S", "updated": "2021-12-13T10:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [{"author": "6323aedbed8abffd7ffdf0ce", "body": "[~accountid:60e4906e4134aa006931a5d6]\u00a0- reassigning to you, as Heston let me know he'll be on PTO!", "created": "2021-12-01T16:04:00.000000"}, {"author": "60e4906e4134aa006931a5d6", "body": "[https://docs-herrera-preview.netlify.app/docs/puppet/7/release_notes_puppet.html#release_notes_puppet_x-7-13-0]\u00a0(puppet)\u00a0[https://docs-herrera-preview.netlify.app/docs/puppet/7/release_notes_facter.html#release_notes_facter_4-2-6] (facter) [https://docs-herrera-preview.netlify.app/docs/puppet/7/server/release_notes.html#puppet-server-750] (server)", "created": "2021-12-08T10:33:00.000000"}], "components": [], "created": "2021-11-15T15:14:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@592544fe"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11354"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0chio:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Dec/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1970356183_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-12-07)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2021-12-03T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "estimate": "PT0S", "externalId": "21365", "fixedVersions": [], "id": "21365", "issueType": "Task", "key": "PUP-11357", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28843", "parentSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2021-12-08T10:33:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 7.13.0)", "timeSpent": "PT0S", "updated": "2021-12-08T10:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-11-15T15:14:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4a070965"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11354"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0chig:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_202523_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1998599356"}], "description": "(Initial planned release date: 2021-12-07)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2021-12-01T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "estimate": "PT0S", "externalId": "20222", "fixedVersions": [], "id": "20222", "issueType": "Task", "key": "PUP-11356", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28843", "parentSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2021-12-08T18:27:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 7.13.0)", "timeSpent": "PT0S", "updated": "2021-12-08T18:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-11-15T15:13:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1dad00b6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11354"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0chi8:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_206108_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1998589826"}], "description": "(Initial planned release date: 2021-12-07)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 7.13.0 and puppet-agent 7.13.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2021-12-01T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "estimate": "PT0S", "externalId": "29830", "fixedVersions": [], "id": "29830", "issueType": "Task", "key": "PUP-11355", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28843", "parentSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2021-12-08T18:27:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 7.13.0)", "timeSpent": "PT0S", "updated": "2021-12-08T18:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Hi [~accountid:6323aedbed8abffd7ffdf0ce] is there anything left to do in this epic or can I close these tickets?", "created": "2022-01-13T19:03:00.000000"}, {"author": "6323aedbed8abffd7ffdf0ce", "body": "[~accountid:63d40628f6e1b543161789a7] - sorry for the delay! Closing now.\u00a0", "created": "2022-01-14T12:04:00.000000"}], "components": [], "created": "2021-11-15T15:13:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1bad4b84"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-2"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 7.13.0 Release - 2021-12-13"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_yellow"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0chi0:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Jan/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5172631703_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 7.13.0 Release - 2021-12-13", "duedate": "2021-12-13T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28843", "fixedVersions": [], "id": "28843", "issueType": "Epic", "key": "PUP-11354", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-01-14T12:04:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Puppet Platform 7.13.0 Release - 2021-12-13", "timeSpent": "PT0S", "updated": "2022-02-23T11:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-11-15T07:28:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@b4d416d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ch28:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_150129435_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1642844844_*|*_10005_*:*_1_*:*_2643"}], "description": "The gory details are in https://puppet.atlassian.net/browse/PUP-11321, in this ticket we should fix {color:#000000}silence_warnings{color}:\n\n{color:#000000}We are currently using the \"silence_warnings\" argument when saving the transaction store, but that doesn't affect the \"non-string hash key\" warning. It probably should.{color}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21363", "fixedVersions": [], "id": "21363", "issueType": "Bug", "key": "PUP-11353", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "resolution": "Declined", "resolutionDate": "2021-12-06T01:31:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "\"silence_warnings\" argument doesn't affect the \"non-string hash key\" warning", "timeSpent": "PT0S", "updated": "2021-12-06T01:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-11-15T07:26:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@76864278"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ch1s:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_359349123_*|*_3_*:*_1_*:*_95677473_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1197695861_*|*_10006_*:*_1_*:*_159243118"}], "description": "The gory details are in https://puppet.atlassian.net/browse/PUP-11321, in this ticket we should fix ToDataSerializer:\n\nThere's a bug in the ToDataSerializer which loses track of the current path, so we get repeated elements in the warning message:\n{noformat}\u00a0['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"listen_address\"]'\n ['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"broadcast_rpc_address\"]'{noformat}\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29829", "fixedVersions": [], "id": "29829", "issueType": "Bug", "key": "PUP-11352", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "resolution": "Declined", "resolutionDate": "2021-12-06T06:45:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "ToDataSerializer which loses track of the current path", "timeSpent": "PT0S", "updated": "2021-12-06T06:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "We reverted the use of ToDataSerializer so this ticket can be closed.", "created": "2021-12-01T12:51:00.000000"}], "components": [], "created": "2021-11-15T07:19:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@18dbcd34"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ch1k:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Dec/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_150648937_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1142535556_*|*_10006_*:*_1_*:*_109130673"}], "description": "The gory details are in https://puppet.atlassian.net/browse/PUP-11321, in this ticket we should fix the warning messages:\n\n2. The prefix passed to ToDataSerializer is the string representation of the Persistence object, which causes the message to contain: {{<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>}}. That should be fixed\n{code:console}Warning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"listen_address\"]'\nWarning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"broadcast_rpc_address\"]'\nWarning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"rpc_address\"]'\nWarning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"num_tokens\"]'\nWarning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"auto_bootstrap\"]'\nWarning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"cluster_name\"]'\nWarning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"endpoint_snitch\"]'\nWarning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"authenticator\"]'\nWarning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"authorizer\"]'\nWarning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"seed_provider\"]'\nWarning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"diagnostic_events_enabled\"]'\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28842", "fixedVersions": [], "id": "28842", "issueType": "Bug", "key": "PUP-11351", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "resolution": "Won't Fix", "resolutionDate": "2021-12-01T12:51:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Puppet::Transaction::Persistence:0x00005598a2c1ebf8 warnings on puppet run", "timeSpent": "PT0S", "updated": "2021-12-01T12:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:623c16ce866b810069e43a99], could you contribute and adapt these changes to not be breaking to the existing way of building puppet on other platforms?", "created": "2021-11-29T08:40:00.000000"}], "components": [], "created": "2021-11-14T08:02:00.000000", "creator": "623c16ce866b810069e43a99", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7a25eb64"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Other"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0cgw0:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Nov/21"}], "description": "openbsd devs have many patches, some for updated os functions. no patches for 7 yet, but might still apply. is it possible to have these merged in given the amount of testing they got from the os users?\n\n\u00a0\n\nref:\n\nhttps://github.com/openbsd/ports/tree/master/sysutils/ruby-puppet/6/patches", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22451", "fixedVersions": [], "id": "22451", "issueType": "Improvement", "key": "PUP-11350", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c16ce866b810069e43a99", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "import openbsd patches for better os compat", "timeSpent": "PT0S", "updated": "2021-12-06T08:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "qm:f7b4bc64-445a-440e-8354-a55854c39cee:6b1be729-6320-4e40-bcb5-36fca6841feb", "created": "2021-12-02T12:36:00.000000", "name": "Export-PEM.ps1", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12124"}], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is surprising. We explicitly test the {{ssl_trust_store}} setting on Ubuntu and Windows in https://github.com/puppetlabs/puppet/blob/0fc096f07ecc1b4a36ae6eabe5716b3f03bd9c4e/spec/integration/application/agent_spec.rb#L420-L469", "created": "2021-11-29T08:45:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Former user does {{Puppet[:ssl_trust_store]}} contain multiple PEM files? Do they have unix or windows line endings? How is each cert delimited?", "created": "2021-12-01T21:31:00.000000"}, {"author": "qm:f7b4bc64-445a-440e-8354-a55854c39cee:6b1be729-6320-4e40-bcb5-36fca6841feb", "body": "The \"ssl_trust_store\" has a single file entry, as follows:\n{code:java}\nPS C:\\> puppet config print --section agent ssl_trust_store\nC:/ProgramData/PuppetLabs/puppet/etc/ssl/certs/ca-trust.pem{code}\n\u00a0\n\nI'm using a PowerShell script to generate the file from the Windows certificate store.\u00a0 The idea was for Puppet to create the file and to refresh it any time we add/remove certificates from the Windows store.\u00a0 I attached the PowerShell script to the ticket as \"Export-PEM.ps1\".", "created": "2021-12-02T12:39:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Former user powershell < 6 will write a BOM when using {{-Encoding UTF8}}, which I'm fairly certain openssl does not handle. Since the certs are base64 encoded try using {{-Encoding ASCII}} instead.\n\nSee https://stackoverflow.com/questions/5596982/using-powershell-to-write-a-file-in-utf-8-without-the-bom", "created": "2021-12-02T12:50:00.000000"}, {"author": "qm:f7b4bc64-445a-440e-8354-a55854c39cee:6b1be729-6320-4e40-bcb5-36fca6841feb", "body": "The UTF8 encoded output of the script was an issue, so thanks for pointing that out.\u00a0 I updated the PowerShell script to use ASCII encoding I got the following results that seem to confirm there is still a problem.\n\nBeginning with the default configuration of the \"ssl_trust_store\" value (none) and the default Puppet CA trust file that does not contain my local CA.\u00a0 A simple catalog with an \"archive\" resource errors out with an SSL failure, which is expected:\n\n\u00a0\n{code:java}\nPS C:\\> puppet config print --section agent ssl_trust_store\nPS C:\\> & puppet apply --modulepath=${mods} -e \"include local\" -t\nInfo: Loading facts\nInfo: Loading facts\nInfo: Loading facts\nNotice: Compiled catalog for win10.southall.local in environment production in 0.18 seconds\nInfo: Using environment 'production'\nInfo: Applying configuration version '1638492869'\nError: Could not set 'present' on ensure: SSL_connect returned=1 errno=0 state=error: certificate verify failed (unable to get local issuer certificate) (file: C:/Users/chris.SOUTHALL/puppet/modules/local/manifests/init.pp, line: 3)\nError: Could not set 'present' on ensure: SSL_connect returned=1 errno=0 state=error: certificate verify failed (unable to get local issuer certificate) (file: C:/Users/chris.SOUTHALL/puppet/modules/local/manifests/init.pp, line: 3)\nWrapped exception:\nSSL_connect returned=1 errno=0 state=error: certificate verify failed (unable to get local issuer certificate)\nError: /Stage[main]/Local/Archive[C:\\Windows\\Temp\\VMRC.exe]/ensure: change from 'absent' to 'present' failed: Could not set 'present' on ensure: SSL_connect returned=1 errno=0 state=error: certificate verify failed (unable to get local issuer certificate) (file: C:/Users/chris.SOUTHALL/puppet/modules/local/manifests/init.pp, line: 3)\nNotice: Applied catalog in 0.28 seconds\n{code}\n\u00a0\n\n\u00a0\n\nNow I configured the agent to use the custom ssl_trust_store and generate the trust file using the updated PowerShell script with ASCII output:\n\n\u00a0\n{code:java}\nPS C:\\> puppet config set --section agent ssl_trust_store C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs/ca-trust.pem\nPS C:\\> puppet config print --section agent ssl_trust_store\nC:/ProgramData/PuppetLabs/puppet/etc/ssl/certs/ca-trust.pem\nPS C:\\> .\\Users\\chris.SOUTHALL\\Desktop\\Export-PEM.ps1 C:\\ProgramData\\PuppetLabs\\puppet\\etc\\ssl\\certs\\ca-trust.pem\nPS C:\\> dir C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs/ca-trust.pem\n Directory: C:\\ProgramData\\PuppetLabs\\puppet\\etc\\ssl\\certs\nMode LastWriteTime Length Name\n---- ------------- ------ ----\n-a---- 12/2/2021 6:55 PM 95514 ca-trust.pem\n{code}\n\u00a0\n\nWith the newly generated trust file in place I expect the SSL connection to work, but the Puppet agent still fails:\n{code:java}\nPS C:\\> & puppet apply --modulepath=${mods} -e \"include local\" -t\nInfo: Loading facts\nInfo: Loading facts\nInfo: Loading facts\nNotice: Compiled catalog for win10.southall.local in environment production in 0.20 seconds\nInfo: Using environment 'production'\nInfo: Applying configuration version '1638492948'\nError: Could not set 'present' on ensure: SSL_connect returned=1 errno=0 state=error: certificate verify failed (unable to get local issuer certificate) (file: C:/Users/chris.SOUTHALL/puppet/modules/local/manifests/init.pp, line: 3)\nError: Could not set 'present' on ensure: SSL_connect returned=1 errno=0 state=error: certificate verify failed (unable to get local issuer certificate) (file: C:/Users/chris.SOUTHALL/puppet/modules/local/manifests/init.pp, line: 3)\nWrapped exception:\nSSL_connect returned=1 errno=0 state=error: certificate verify failed (unable to get local issuer certificate)\nError: /Stage[main]/Local/Archive[C:\\Windows\\Temp\\VMRC.exe]/ensure: change from 'absent' to 'present' failed: Could not set 'present' on ensure: SSL_connect returned=1 errno=0 state=error: certificate verify failed (unable to get local issuer certificate) (file: C:/Users/chris.SOUTHALL/puppet/modules/local/manifests/init.pp, line: 3)\nNotice: Applied catalog in 0.28 seconds{code}\n\u00a0\n\nWithout changing the Puppet agent configuration, if I simply overwrite the default trust file with my newly exported custom trust file, the agent is able to apply the catalog.\u00a0 This seems to indicate the the trust file is valid, but not being used by the Puppet agent per the \"ssl_trust_store\" setting:\n{code:java}\nPS C:\\> copy C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs/ca-trust.pem 'C:\\Program Files\\Puppet Labs\\Puppet\\puppet\\ssl\\cert.pem'\nPS C:\\> & puppet apply --modulepath=${mods} -e \"include local\" -t\nInfo: Loading facts\nInfo: Loading facts\nInfo: Loading facts\nNotice: Compiled catalog for win10.southall.local in environment production in 0.20 seconds\nInfo: Using environment 'production'\nInfo: Applying configuration version '1638492995'\nNotice: /Stage[main]/Local/Archive[C:\\Windows\\Temp\\VMRC.exe]/ensure: download archive from https://vr.southall.local/sw/VMware-VMRC-12.0.1-18113358.exe to C:\\Windows\\Temp\\VMRC.exe without cleanup\nNotice: Applied catalog in 7.69 seconds\nPS C:\\>{code}\n\u00a0\n\nAs far as I can tell, the the SSL configuration for the Windows puppet agent is coming from 'C:\\Program Files\\Puppet Labs\\Puppet\\bin\\environment.bat', which is sourced when the agent starts.\u00a0 While that is fine as a default, if the \"ssl_trust_store\" is defined in \"puppet.conf\" I expect it to be the effective value.\n\n\u00a0", "created": "2021-12-02T18:52:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The ssl_trust_store setting only works with puppet's http client. The archive module uses raw Net::HTTP, so you'd need to patch the type/provider.", "created": "2021-12-02T19:04:00.000000"}, {"author": "qm:f7b4bc64-445a-440e-8354-a55854c39cee:6b1be729-6320-4e40-bcb5-36fca6841feb", "body": "That makes sense.\u00a0 I'll take a look at that module and see what I can do.\u00a0 Thanks for pointing this out.", "created": "2021-12-03T14:08:00.000000"}, {"author": "qm:f7b4bc64-445a-440e-8354-a55854c39cee:6b1be729-6320-4e40-bcb5-36fca6841feb", "body": "Puppet agent does use ssl_trust_store, but some modules do not reference this value when making HTTP connections.", "created": "2021-12-03T14:11:00.000000"}, {"author": "qm:f7b4bc64-445a-440e-8354-a55854c39cee:6b1be729-6320-4e40-bcb5-36fca6841feb", "body": "Pull request submitted for the \"puppet-archive\" module to address this issue.\n\nhttps://github.com/voxpupuli/puppet-archive/pull/467", "created": "2021-12-09T19:37:00.000000"}], "components": ["Windows"], "created": "2021-11-13T12:25:00.000000", "creator": "qm:f7b4bc64-445a-440e-8354-a55854c39cee:6b1be729-6320-4e40-bcb5-36fca6841feb", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Affects Build", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Multiple versions of Windows agent"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@709ca9da"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master Config", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Monolithic"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "RHEL 7 (x86_64)"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0cgvk:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Nov/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1643112478_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_91204348"}], "description": "*Puppet Version:* Puppet agent 6.x and 7.x\n*Puppet Server Version:* Tested on PE and open source\n*OS Name/Version:* Windows Server 2019 and Windows 10\n\nCustomer has a bunch of stuff staged in Artifactory. The Artifactory server is using SSL certificates from a local, private CA that is not trusted by the Puppet agent. On Linux we configure \u201cpuppet.conf\u201d in the [agent] section with \u201cssl_trust_store = /etc/pki/\u2026long-path\u2026/ca-certs.pem\u201d and all is well. I\u2019m trying to configure Windows the same way and it fails the SSL verification.\n\nI confirmed the custom PEM file contains the trusted CA certificates and run puppet agent, but it fails the SSL validation when trying to download an \"archive\" resource. I know the contents of my custom PEM file are good.\u00a0 If I append the custom .pem file to the default 'C:\\Program Files\\Puppet Labs\\Puppet\\puppet\\ssl\\cert.pem' I can run the agent without an SSL failure and all resources apply, but I\u2019d prefer the puppet agent to use our custom trust file instead of modifying the bundled version, as we do with the Linux agents.\n \nPuppet version on this Windows agent was 7.12.0, but I also see this on 6.x agents.\n\n*Desired Behavior:* Windows puppet agent uses the SSL trust store file specified by \"ssl_trust_store\" in \"puppet.conf\"\n\n*Actual Behavior:* The Windows puppet agent ignores the \"ssl_trust_store\" entry and fails SSL validation to servers using certificates issued by a private CA.\n\n\n*Example output from a Windows agent:*\n\nPS C:\\> puppet config print --section agent ssl_trust_store\nC:/ProgramData/PuppetLabs/puppet/etc/ssl/certs/ca-trust.pem\n\nPS C:\\> puppet agent -t\nInfo: Using environment 'production'\n\u2026truncated\u2026\nInfo: Applying configuration version '1636583399'\nError: Could not set 'present' on ensure: SSL_connect returned=1 errno=0 state=error: certificate verify failed (unable to get local issuer certificate) (file: /etc/puppetlabs/code/environments/production/modules/winstall/manifests/product.pp, line: 85)\nError: Could not set 'present' on ensure: SSL_connect returned=1 errno=0 state=error: certificate verify failed (unable to get local issuer certificate) (file: /etc/puppetlabs/code/environments/production/modules/winstall/manifests/product.pp, line: 85)\nWrapped exception:\nSSL_connect returned=1 errno=0 state=error: certificate verify failed (unable to get local issuer certificate)\nError: /Stage[main]/Winstall/Winstall::Product[VMware Remote Console]/Archive[VMware Remote Console]/ensure: change from 'absent' to 'present' failed: Could not set 'present' on ensure: SSL_connect returned=1 errno=0 state=error: certificate verify failed (unable to get local issuer certificate) (file: /etc/puppetlabs/code/environments/production/modules/winstall/manifests/product.pp, line: 85) (corrective)\n...subsequest resources are skipped due to the failure...\nNotice: Applied catalog in 5.94 seconds", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20220", "fixedVersions": [], "id": "20220", "issueType": "Bug", "key": "PUP-11349", "labels": ["needs_repro"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "qm:f7b4bc64-445a-440e-8354-a55854c39cee:6b1be729-6320-4e40-bcb5-36fca6841feb", "resolution": "Done", "resolutionDate": "2021-12-03T14:11:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Puppet agent ssl_trust_store setting on Windows does not work", "timeSpent": "PT0S", "updated": "2021-12-09T19:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "See these commits:\nhttps://github.com/puppetlabs/puppet/commit/8d02eb133cb2783d976d270b7f2869140a48f0fc\nhttps://github.com/puppetlabs/puppet/commit/79333960e1cdeb6638ef6d5393fca0039fd4fb65\n", "created": "2022-12-05T18:33:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Putting this in needs information until we have builds of puppet-agent with Ruby 3.2", "created": "2023-01-27T11:37:00.000000"}], "components": [], "created": "2021-11-11T12:10:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@244559f7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4664"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3fk:i0bu3ubc"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}], "description": "Ruby on Windows now stores environment variables and values as UTF-8, see [https://bugs.ruby-lang.org/issues/9715#note-8]\u00a0so we should be able to remove the various monkey patches and workarounds in puppet, such as {{Puppet::Util.get_env}}\n\u00a0\nPuppet should be able to:\n * manage registry entries with non-ascii characters\n\u00a0\n * manage users with umlat, C:\\Users\\J\u00f6hn\n\u00a0\n * execute process with non-ascii in the command line as a non-ascii user\n\u00a0\n * get/set environment variables with rune characters: [https://bugs.ruby-lang.org/issues/8822#note-6]\n\nSee related info in :\n\nhttps://puppet.atlassian.net/browse/PUP-5726?focusedCommentId=261201&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-261201\n\nhttps://puppet.atlassian.net/browse/PUP-5768?focusedCommentId=273221&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-273221\n\nAnd\n\n{code:puppet}\n\texec { 'tomcat-configure-service':\n\t\tcommand  => \"powershell.exe Get-ChildItem Env:\",\n\t\tonlyif   => 'powershell.exe exit 0',      \n\t\tprovider => windows,\n\t\tlogoutput => true,\n\t\t#notify => $tomcat_service,\n\t\ttag      => 'tomcat-configure-service',\n\t}\n{code}\n\n{noformat}\nset USERNAME=J\u00f6hn\nset USERPROFILE=C:\\Users\\J\u00f6hn\nC:\\> puppet apply manifests\\bug_swedish_userprofile.pp --test\n{noformat}\n", "epicLinkSummary": "Puppet 8", "estimate": "PT0S", "externalId": "28841", "fixedVersions": ["PUP 8.0.0"], "id": "28841", "issueType": "Improvement", "key": "PUP-11348", "labels": [], "originalEstimate": "PT0S", "parent": "57676", "parentSummary": "Puppet 8", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Remove Windows ENV patches on Ruby 3", "timeSpent": "PT0S", "updated": "2023-02-23T11:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "There are a lot of points/concerns in the description so I'll try to break it down here:\n\n{quote}\nI think it's really confusing that tasks aren't validated by default. I tested that on puppet 6.25.0 and 7.12.1. Is there a reason for this? \n{quote}\n\nSee [~accountid:70121:81a73de1-7f52-49cd-b0b0-46c1b147202a] comment in https://puppet.atlassian.net/browse/PUP-8059?focusedCommentId=496581&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-496581. \n\n{quote}\nAlso why enables the `--tasks` option validation for plans? shouldn't that be --plans?\n{quote}\n\nThis is because puppet tasks were implemented first and plans came later. If it would help reduce confusion, we could create a {{Puppet[:plans]}} setting that is an alias for {{Puppet[:tasks]}}. In other words, you could pass either {{\\-\\-tasks}} or {{\\-\\-plans}}, but we'd prefer and document {{\\-\\-plans}} (similar to what we do for {{serverport}} & {{masterport}}).\n\n{quote}\nfrom `puppet parser validate` I would expect to validate all code, manifests and plans... `puppet parser validate` should validate manifests and plans\n{quote}\n\nThis part is filed as PUP-9578, so please follow that ticket for updates.\n\n{quote}\nthe validate/syntax rake task from puppetlabs_spec_helper should validate plans as well.\n{quote}\n\nPlease file a PDK ticket for that. It seems like puppetlabs_spec_helper could detect if the {{plans}} directory exists and if so, enable tasks/plans and validate just manifests in that directory. /cc [~accountid:557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b]\n\n", "created": "2021-11-10T11:00:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "> In other words, you could pass either --tasks or --plans, but we'd prefer and document --plans (similar to what we do for serverport & masterport).\n\nI agree with you. I think that's a good way.\n\n> Please file a PDK ticket for that.\nhttps://puppet.atlassian.net/browse/PDK-1774", "created": "2022-02-11T02:02:00.000000"}], "components": [], "created": "2021-11-10T05:21:00.000000", "creator": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@46345347"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0e9e4:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Nov/21"}], "description": "Hi,\n\nthere are multiple issues about puppet failing to validate plans in puppet DSL or the confusing --tasks option (that's undocumented): https://puppet.atlassian.net/browse/PUP-8059?jql=text%20~%20%22parser%20validate%20plan%22\n\n* `puppet parser validate` ignores plans\n* `puppet parser validate --tasks` validates *plans*\n* the `--tasks` option isn't documented\n\nI think it's really confusing that tasks aren't validated by default. I tested that on puppet 6.25.0 and 7.12.1. Is there a reason for this? Also why enables the `--tasks` option validation for plans? shouldn't that be --plans?\n\n* from `puppet parser validate` I would expect to validate all code, manifests and plans\n* from the --tasks option I would expect to only validate tasks, not plans\n* `pdk validate` in pdk 2.2 doesn't use --tasks options. It says it validates **/*.pp, but it actually validates manifests/**/*.pp\n\nSince pdk is so commonly used, many people struggle to debug their plans/don't understand  why they don't work, because the pass the pdk validation but have actual syntax errors.\n\n\nI think the following improvements would be really helpful:\n* `puppet parser validate` should validate manifests and plans\n* the validate/syntax rake task from puppetlabs_spec_helper should validate plans as well\n\nhttps://github.com/puppetlabs/puppetlabs_spec_helper/blob/main/lib/puppetlabs_spec_helper/rake_tasks.rb#L204-L222", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23483", "fixedVersions": [], "id": "23483", "issueType": "Bug", "key": "PUP-11347", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "`puppet parser validate` ignores plans", "timeSpent": "PT0S", "updated": "2023-02-13T06:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I ran into this while researching PUP-11312 and broke it out into a separate ticket and PR", "created": "2021-11-09T18:29:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/7f2e140eb48801f7fd859b00c7ba060e8034d14e", "created": "2021-11-11T14:56:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in fb4a1dc506", "created": "2021-11-19T09:30:00.000000"}], "components": [], "created": "2021-11-09T17:48:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@46220334"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ceg8:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet::FileSystem.chmod now validates its arguments like other methods like mkpath, etc."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_671706205_*|*_1_*:*_1_*:*_2389276_*|*_10007_*:*_1_*:*_160027097_*|*_5_*:*_1_*:*_0"}], "description": "{{Puppet::FileSystem}} methods generally assert that they are passed either a {{String}} or {{Pathname}} and raise {{ArgumentError}} if that isn't the case. For example:\n\n{noformat}\nirb(main):009:0> Puppet::FileSystem.mkpath(nil)\n...\nArgumentError (FileSystem implementation expected Pathname, got: 'NilClass')\n{noformat}\n\nHowever, {{Puppet::FileSystem.chmod}} raises an unhelpful {{TypeError}} trying to convert nil to a String:\n\n{noformat}\nirb(main):007:0> Puppet::FileSystem.chmod(0644, nil)\n...\nTypeError (no implicit conversion of nil into String)\n{noformat}\n\nThe {{chmod}} method should raise {{ArgumentError}} like the other methods", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23482", "fixedVersions": ["PUP 6.26.0", "PUP 7.13.0"], "id": "23482", "issueType": "Bug", "key": "PUP-11345", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-11-19T09:31:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet::FileSystem.chmod doesn't validate its arguments like other FS methods", "timeSpent": "PT0S", "updated": "2021-12-07T20:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I can confirm this is a bug with a slightly different reproduction:\n\n{noformat}\n# cat <<END > tidy.pp\ntidy { '/tmp/tidy':\n age     => '1h',\n rmdirs  => true,\n recurse => true,\n type    => 'mtime',\n}\nEND\n# cat <<END > script.sh \n#!/bin/sh -x\nmkdir -p /tmp/tidy\ntouch /tmp/tidy/file1\ntouch -d \"-5 hours\" /tmp/tidy/file2\n# the following simulates the directory's mtime being updated when file2 is created above\ntouch -d \"-5 hours\" /tmp/tidy\npuppet apply --verbose tidy.pp\nEND\n# chmod u+x script.sh\n# ./script.sh\n...\nInfo: Loading facts\nNotice: Compiled catalog for XXX in environment production in 0.02 seconds\nInfo: Using environment 'production'\nNotice: /Stage[main]/Main/Tidy[/tmp/tidy]: Tidying 2 files\nInfo: Applying configuration version '1636573435'\nNotice: /Stage[main]/Main/File[/tmp/tidy/file2]/ensure: removed\nNotice: /Stage[main]/Main/File[/tmp/tidy]/ensure: removed\nNotice: Applied catalog in 0.01 seconds\n{noformat}\n\nThe problem is that when determining if a directory should be tidied or not, we don't check to see if all of its children will be tidied. And since we set {{force=>true}} then we rm -rf the directory.", "created": "2021-11-10T13:28:00.000000"}], "components": ["Types and Providers"], "created": "2021-11-08T10:38:00.000000", "creator": "623e7b5ed32a94006a65d790", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7a3e458f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-7547"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0boc6:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Nov/21"}], "description": "*Puppet Version: 6.25.0 & 7.12.0*\n *Puppet Server Version:\u00a07.4.1*\n *OS Name/Version: Debian-10 Buster*\n\nThe type documentation for {{tidy}} has the following description for the {{rmdirs}} parameter:\u00a0_Tidy directories in addition to files; that is, remove directories whose age is older than the specified criteria. This will only remove empty directories, so all contained files must also be tidied before a directory gets removed._\n\nIt seems that directories are removed when in fact they are not empty (which removes files that should not be removed). Also the value {{mtime}} for the parameter {{type}} seems to be important to trigger the issue.\n\nUse the following manifest {{tidy.pp}}:\n{code:java}\ntidy { '/tmp/tidy':\n age     => '1m',\n rmdirs  => true,\n recurse => true,\n type    => 'mtime',\n}\n{code}\n\u00a0Run the following shell script:\n{code:java}\n#!/bin/sh -x\nmkdir /tmp/tidy\ntouch /tmp/tidy/file1\nsleep 70\ntouch /tmp/tidy/file2\npuppet apply --verbose tidy.pp\n\n{code}\n\u00a0The script creates a directory and a file in it. The it waits 70 seconds to ensure the file modification time is more that one minute ago. It creates anothe file and runs the manifest. Puppet should remove files/directories where the modification time is more than 1 minute ago.\n\n*Desired Behavior:*\n\nSince {{/tmp/tidy/file2}} is less than one minute old, it should still exist after Puppet is done.\n\n*Actual Behavior:*\n\nThe directory {{/tmp/tidy}} including the file {{/tmp/tidy/file2}} is removed by Puppet.\n\nThe output of the script:\n{code:java}\n+ mkdir /tmp/tidy\n+ touch /tmp/tidy/file1\n+ sleep 70\n+ touch /tmp/tidy/file2\n+ puppet apply --verbose tidy.pp\nNotice: Compiled catalog for puppet.example.com in environment production in 0.04 seconds\nInfo: Using environment 'production'\nNotice: /Stage[main]/Main/Tidy[/tmp/tidy]: Tidying 1 files\nInfo: Applying configuration version '1636391335'\nNotice: /Stage[main]/Main/File[/tmp/tidy/file1]/ensure: removed\nNotice: Applied catalog in 0.02 seconds{code}\n\u00a0The removal of {{/tmp/tidy}} is clearly shown in the log.\u00a0:(", "epicLinkSummary": "Tidy Type/Provider Improvements", "estimate": "PT0S", "externalId": "26613", "fixedVersions": [], "id": "26613", "issueType": "Bug", "key": "PUP-11334", "labels": [], "originalEstimate": "PT0S", "parent": "19742", "parentSummary": "Tidy Type/Provider Improvements", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e7b5ed32a94006a65d790", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "tidy removes non-empty directories", "timeSpent": "PT0S", "updated": "2022-10-27T10:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "attachments": [{"attacher": "63d40628f6e1b543161789a7", "created": "2021-11-04T13:35:00.000000", "name": "rbspy-2021-11-04-6KcojqjPnU.flamegraph.svg", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12043"}], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "We seem to have regressed from PUP-5505. But if we install nokogiri, then it's more reasonable...\n\n{noformat}\n# /opt/puppetlabs/puppet/bin/gem install --no-document nokogiri\nFetching nokogiri-1.12.5-x86_64-darwin.gem\nSuccessfully installed nokogiri-1.12.5-x86_64-darwin\n1 gem installed\n# time puppet resource user root\nuser { 'root':\n  ensure     => 'present',\n  comment    => 'System Administrator',\n  gid        => 0,\n  uid        => 0,\n  ....\n}\n\nreal\t0m3.998s\nuser\t0m3.440s\nsys\t0m0.431s\n{noformat}", "created": "2021-11-04T13:47:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "Should we add {color:#000000}nokogiri to macOS runtime like we do for CFPropertyList?\n{color}", "created": "2021-11-05T07:15:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "to also check if the same problem exists on puppet 6", "created": "2022-01-04T02:16:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Verified it's much faster now using 90017458499ca694f347168d74f92e32f44ebab5\n\n\u00a0\n{noformat}\n# facter os.macosx\n{\n\u00a0 build => \"19C57\",\n\u00a0 product => \"Mac OS X\",\n\u00a0 version => {\n\u00a0 \u00a0 full => \"10.15.2\",\n\u00a0 \u00a0 major => \"10.15\",\n\u00a0 \u00a0 minor => \"2\"\n\u00a0 }\n}\n# time puppet resource user > /dev/null\nreal \u00a0 \u00a00m5.235s\nuser \u00a0 \u00a00m3.198s\nsys \u00a0 \u00a00m1.472s {noformat}\n\u00a0", "created": "2022-01-10T19:04:00.000000"}], "components": [], "created": "2021-11-04T13:39:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3af09648"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0c9j4:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Managing users and services on macOS is much faster"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Nov/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_297920947_*|*_1_*:*_1_*:*_3338320166_*|*_3_*:*_1_*:*_272492509_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1903247581"}], "description": "*Puppet Version: 7.12.0*\n*OS Name/Version: macOS 10.15*\n\n*Desired Behavior:*\n\nRunning {{puppet resource user root}} should take less than 5 seconds.\n\n*Actual Behavior:*\n\nIt takes nearly 30 seconds on macOS , most of which is spent parsing XML plists. This is a large reason why acceptance tests take an hour longer on macOS (2hr 15min) as compared to redhat8 (1hr 16min)\n\n{noformat}\n# time puppet resource user root\nuser { 'root':\n  ensure     => 'present',\n  comment    => 'System Administrator',\n  gid        => 0,\n  uid        => 0,\n  ...\n}\n\nreal\t0m26.029s\nuser\t0m25.460s\nsys\t0m0.527s\n{noformat}\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23481", "fixedVersions": ["PUP 6.26.0", "PUP 7.14.0"], "id": "23481", "issueType": "Bug", "key": "PUP-11332", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2022-01-10T19:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet user and service resources are slow on OSX", "timeSpent": "PT0S", "updated": "2022-02-22T22:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Puppet attempts to load the default SSLContext, because most of the time we need the client cert for mutual TLS authentication and we want to perform revocation checking (so we need CRLs). But to support this use case, it should be possible for the http processor (or a processor you write) to construct the SSL context directly using CA certs you provide:\n\n{code:ruby}\nprovider = Puppet::SSL::SSLProvider.new\nssl_context = provider.create_system_context(cacerts: [], path: \"/etc/ssl/certs/ca-certificates.crt\")\n\nhttp = Puppet.runtime[:http]\nhttp.post(url, data, ..., options: { ssl_context: ssl_context })\n{code}\n\nNote if you need more control over the ssl context, you can use Puppet::X509::CertProvider to load CA certs, and CRLs if want to perform revocation checking.\n\nDid this used to work in a previous version?", "created": "2021-10-29T12:16:00.000000"}, {"author": "5d9b6bf5c7706e0dc0692679", "body": "Hi Josh,\n\nYes this works in 4.10, (and we're preparing to upgrade to 7.x).\n\nWe would like to see puppet being able to use https without having to provide a CAcert and/or private PEM keys for each and every https server we'd like to talk to and instead just rely on what the OS provides (like it does for curl for instance). We think that is a reasonable feature to ask for.", "created": "2021-11-01T07:17:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Yes that's fair. ", "created": "2021-11-10T18:02:00.000000"}, {"author": "5d9b6bf5c7706e0dc0692679", "body": "Can we then change Status from 'needs information' to 'accepted' and assign to someone who can implement ?", "created": "2021-11-25T08:50:00.000000"}, {"author": "5d9b6bf5c7706e0dc0692679", "body": "Please respond", "created": "2022-02-02T04:55:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Hi [~accountid:5d9b6bf5c7706e0dc0692679] if you are a PE customer please reach out to your support contact. If you are an open source user, then we can't guarantee when this issue will be fixed. You are welcome to submit a pull request to resolve the issue and we're generally available in slack if you need pointers on how to get started.", "created": "2022-02-23T19:26:00.000000"}], "components": [], "created": "2021-10-29T06:17:00.000000", "creator": "5d9b6bf5c7706e0dc0692679", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7ae3f457"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0c54w:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Oct/21"}], "description": "*Puppet Version: 7.11*\n *Puppet Server Version: none, there is no puppet server*\n *OS Name/Version: Ubuntu 20.04 LTS*\n\nReporting to puppet-summary via https on a masterless setup fails with :\n\nPuppet (err): Failed to initialize SSL: The CA certificates are missing from '/etc/\npuppetlabs/puppet/ssl/certs/ca.pem'\n\nand later\n\nPuppet (err): Failed to initialize SSL: The private key is missing from '/etc/puppe\ntlabs/puppet/ssl/private_keys/<FQDN>.pem'\n\nThis is a revisit of\u00a0PUP-10365 but the fix in there does not help.\n\n*Desired Behavior:*\n\nPuppet does not attempt to load these missing CA and private keys on a masterless setup and allows plain https use to report to puppet-summary.\n\n*Actual Behavior:*\n\nWith\u00a0/etc/puppetlabs/puppet/puppet.conf :\n\n[main] \ncodedir\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 = <some local directory>\nreport\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 = true \nreports\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 = http, store \nreporturl\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0= https://puppet-summary.<internal-domain>/upload \ndisable_warnings \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0= deprecations \n\n\n\npuppet fails with :\n\nPuppet (err): Failed to initialize SSL: The CA certificates are missing from '/etc/\npuppetlabs/puppet/ssl/certs/ca.pem'\n\n\u00a0\n\nIf we add a line to some random cert to shut it up like :\n\nlocalcacert \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0= /etc/ssl/certs/ca-certificates.crt\n\n\u00a0\n\nThen the next error is :\n\nPuppet (err): Failed to initialize SSL: The private key is missing from '/etc/puppe\ntlabs/puppet/ssl/private_keys/<FQDN>.pem'\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20230", "fixedVersions": [], "id": "20230", "issueType": "Bug", "key": "PUP-11331", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5d9b6bf5c7706e0dc0692679", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "puppet-agent again unable to use https on masterless", "timeSpent": "PT0S", "updated": "2022-02-23T19:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "602cd85ac0b285006f4f1dc7", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in d90aaec90ca83d9846484bde5cd98f6d138b350e\n\n{noformat}\n# /opt/puppetlabs/puppet/bin/irb \nirb(main):001:0> require 'puppet'\n=> true\nirb(main):002:0> Puppet.initialize_settings\n=> {}\nirb(main):003:0> node = Puppet::Node.new('hostname')\n=> #<Puppet::Node:0x00000000035b4a48 @name=\"hostname\", @classes=[], @parameters={}, @facts=nil, @server_facts={}, @time=2022-01-11 ...\nirb(main):004:0> node.environment = Puppet::Node::Environment.remote('www123')\n=> <Puppet::Node::Environment::Remote:4300 @name=\"www123\" @manifest=\"no_manifest\" @modulepath=\"\" >\nirb(main):005:0> node.environment_name\n=> :www123\nirb(main):006:0> node.environment.name\n=> :www123\n{noformat}", "created": "2022-01-10T18:57:00.000000"}], "components": [], "created": "2021-10-26T18:45:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@48a660e6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0c3qo:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet::Node#environment_name now always returns the symbolic name of the environment (if one has been set on the node)."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_287293223_*|*_1_*:*_1_*:*_543725114_*|*_10007_*:*_1_*:*_2009940377_*|*_3_*:*_1_*:*_784007539_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2945819566"}], "description": "If an environment instance is set on a node, then the {{Node#environment_name}} returns nil, but {{Node#environment}} returns the instance whose name is the expected symbolic value:\n\n{noformat}\nirb(main):010:0> node = Puppet::Node.new('hostname')\n=> #<Puppet::Node:0x00005582e746c3e0 @name=\"hostname\", @classes=[], @parameters={}, @facts=nil, @server_facts={}, @time...\nirb(main):011:0> node.environment = Puppet::Node::Environment.remote('www123')\n=> <Puppet::Node::Environment::Remote:7880 @name=\"www123\" @manifest=\"no_manifest\" @modulepath=\"\" >\nirb(main):012:0> node.environment_name\n=> nil\nirb(main):013:0> node.environment.name\n=> :www123\n{noformat}\n\nHowever, setting {{environment_name}} on the node *DOES* cause {{Node#environment}} to load that environment (which must exist on disk):\n\n{noformat}\nirb(main):001:0> require 'puppet'\n=> true\nirb(main):002:0> Puppet.initialize_settings\n=> {}\nirb(main):003:0> FileUtils.mkdir(File.join(Puppet[:environmentpath], \"www123\"))\n=> [\"/home/josh/.puppetlabs/etc/code/environments/www123\"]\nirb(main):004:0> run_mode = Puppet::Util::RunMode[:agent]\n=> #<Puppet::Util::UnixRunMode:0x00005582e7075520 @name=:agent>\nirb(main):005:0> Puppet::ApplicationSupport.push_application_context(run_mode)\n=> #<Puppet::Context::Stack:0x00005582e646cc88 ...\nirb(main):006:0> node = Puppet::Node.new('hostname')\n=> #<Puppet::Node:0x00005582e7152c40 @name=\"hostname\", @classes=[], @parameters={}, @facts=nil, @server_facts={}, @time...\nirb(main):007:0> node.environment_name = 'www123'\n=> \"www123\"\nirb(main):008:0> node.environment_name\n=> \"www123\"\nirb(main):009:0> node.environment.name\n=> :www123\n{noformat}\n\nThis inconsistency leads to complicated logic where we can never be sure how to retrieve the node's environment, while trying to be careful to not load the environment from disk:\n\nhttps://github.com/puppetlabs/puppet/blob/e89bc9f1e0a9365cb7f0e8b105c04c50a7b43395/lib/puppet/configurer.rb#L313-L317", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23480", "fixedVersions": ["PUP 6.26.0", "PUP 7.14.0"], "id": "23480", "issueType": "Bug", "key": "PUP-11330", "labels": ["docs_reviewed", "tbd"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2022-01-10T18:58:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet::Node#environment_name may return the wrong value", "timeSpent": "PT0S", "updated": "2022-02-22T22:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "It should be possible to remove the entry before trying to (re)add it, but we still need to understand how this issue is triggered, because in theory, puppet shouldn't load arbitrary types before pluginsyncing.", "created": "2021-11-10T18:04:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "It may be that we're loading the old type from the agent's libdir, then performing a pluginsync and being redirected to an environment with a new version of the type. Try using stdlib 5.x and 6.x in two different environments to see if we can reproduce: \n\n{noformat}\nError: Could not autoload puppet/type/file_line: Attempt to redefine entity 'http://puppet.com/2016.1/runtime/type/file_line'. Originally set at file:///opt/puppetlabs/puppet/cache/lib/puppet/type/file_line.rb?line=1.\n{noformat}", "created": "2022-06-09T13:55:00.000000"}, {"author": "557058:1d3598d5-3371-4d6f-afd5-4c700c3fd158", "body": "I ran into this issue.\u00a0 My environment details are below:\n\n\u00a0\n # puppet agent 6.0.5\n # puppetserver 2019.8.11\n # stdlib 5.2.0\n\n\u00a0\n\nAfter changing the stdlib version to 6.6.0 in a new puppet_agent environment I ran into the same error but with the file_line.rb file from stdlib.\u00a0 Note, the default environment for this node is development, so switching environment caused the update to some stdlib functions.\u00a0 It seemed to only affect the file_line function though.\u00a0\n\n\u00a0\n{noformat}\npuppet agent -t --environment=puppet_agent{noformat}\nIf I delete the file_line.rb and run puppet agent the problem goes away.\u00a0 However, I would have to do this on many nodes.\n\n\u00a0\n\nI ended up reverting back to stdlib 5.2.0 and will upgrade my agents to 6.27.0 where the bug might not be present.\u00a0 \u00a0Will update this ticket on my findings once I have 6.27,0 and stdlib 6.6.0 back in motion.\n\n\u00a0\n{noformat}\nError: Could not autoload puppet/type/file_line: Attempt to redefine entity 'http://puppet.com/2016.1/runtime/type/file_line'. Originally set atfile:///opt/puppetlabs/puppet/cache/lib/puppet/type/file_line.rb?line=1.Error: Failed to apply catalog: Could not autoload puppet/type/file_line: Attempt to redefine entity 'http://puppet.com/2016.1/runtime/type/file_line'. Originally set atfile:///opt/puppetlabs/puppet/cache/lib/puppet/type/file_line.rb?line=1.{noformat}", "created": "2022-06-09T13:57:00.000000"}], "components": [], "created": "2021-10-26T10:03:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7b2143ab"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0c3dk:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Jun/22"}], "description": "If an autoloaded type or provider is loaded prior to pluginsync and then pluginsync downloads a new version, puppet will attempt to reload changed files, which can trigger the \"Attempt to redefine entity\" error. This is different (I think) than the issue described in SERVER-3034, where the entity is reloaded during catalog compilation.\n\nTo reproduce from source:\n\n{code:ruby}\nrequire 'puppet'\nPuppet.initialize_settings\nPuppet::Util::Log.newdestination(:console)\n\nrun_mode = Puppet::Util::RunMode[:agent]\nPuppet::ApplicationSupport.push_application_context(run_mode)\n\nenv = Puppet.lookup(:environments).get!(Puppet[:environment])\nPuppet.push_context(current_environment: env, loaders: Puppet::Pops::Loaders.new(env, true))\n\ntype = Puppet::Type.type(:exec)\nloader = type.providerloader\n\nFileUtils.touch(File.join(Dir.pwd, \"lib/puppet/type/exec.rb\"))\npp loader.class.reload_changed(env)\n{code}\n\n{noformat}\n$ git rev-parse HEAD\n4c0b8e038f4eff680c25cd5ab7874755b7f8966e\n$ bx ruby redefine.rb\nError: Could not autoload puppet/type/exec: Attempt to redefine entity 'http://puppet.com/2016.1/runtime/type/exec'. Originally set at file:///home/josh/work/puppet/lib/puppet/type/exec.rb?line=2.\nTraceback (most recent call last):\n\t16: from t.rb:15:in `<main>'\n\t15: from /home/josh/work/puppet/lib/puppet/util/autoload.rb:98:in `reload_changed'\n\t14: from /home/josh/work/puppet/lib/puppet/util/autoload.rb:98:in `each'\n\t13: from /home/josh/work/puppet/lib/puppet/util/autoload.rb:100:in `block in reload_changed'\n\t12: from /home/josh/work/puppet/lib/puppet/util/autoload.rb:78:in `load_file'\n\t11: from /home/josh/work/puppet/lib/puppet/util/autoload.rb:78:in `load'\n\t10: from /home/josh/work/puppet/lib/puppet/type/exec.rb:1:in `<top (required)>'\n\t 9: from /home/josh/work/puppet/lib/puppet/type/exec.rb:2:in `<module:Puppet>'\n\t 8: from /home/josh/work/puppet/lib/puppet/metatype/manager.rb:73:in `newtype'\n\t 7: from /home/josh/work/puppet/lib/puppet/concurrent/lock.rb:10:in `synchronize'\n\t 6: from /home/josh/work/puppet/lib/puppet/metatype/manager.rb:131:in `block in newtype'\n\t 5: from /home/josh/work/puppet/lib/puppet/pops/loaders.rb:154:in `register_runtime3_type'\n\t 4: from /home/josh/work/puppet/lib/puppet/pops/loader/base_loader.rb:75:in `set_entry'\n\t 3: from /home/josh/work/puppet/lib/puppet/pops/loader/loader.rb:153:in `synchronize'\n\t 2: from /home/josh/work/puppet/lib/puppet/concurrent/lock.rb:10:in `synchronize'\n\t 1: from /home/josh/work/puppet/lib/puppet/pops/loader/base_loader.rb:79:in `block in set_entry'\n/home/josh/work/puppet/lib/puppet/pops/loader/base_loader.rb:135:in `fail_redefine': Attempt to redefine entity 'http://puppet.com/2016.1/runtime/type/exec'. Originally set at file:///home/josh/work/puppet/lib/puppet/type/exec.rb?line=2. (ArgumentError)\n\t16: from t.rb:15:in `<main>'\n\t15: from /home/josh/work/puppet/lib/puppet/util/autoload.rb:98:in `reload_changed'\n\t14: from /home/josh/work/puppet/lib/puppet/util/autoload.rb:98:in `each'\n\t13: from /home/josh/work/puppet/lib/puppet/util/autoload.rb:100:in `block in reload_changed'\n\t12: from /home/josh/work/puppet/lib/puppet/util/autoload.rb:78:in `load_file'\n\t11: from /home/josh/work/puppet/lib/puppet/util/autoload.rb:78:in `load'\n\t10: from /home/josh/work/puppet/lib/puppet/type/exec.rb:1:in `<top (required)>'\n\t 9: from /home/josh/work/puppet/lib/puppet/type/exec.rb:2:in `<module:Puppet>'\n\t 8: from /home/josh/work/puppet/lib/puppet/metatype/manager.rb:73:in `newtype'\n\t 7: from /home/josh/work/puppet/lib/puppet/concurrent/lock.rb:10:in `synchronize'\n\t 6: from /home/josh/work/puppet/lib/puppet/metatype/manager.rb:131:in `block in newtype'\n\t 5: from /home/josh/work/puppet/lib/puppet/pops/loaders.rb:154:in `register_runtime3_type'\n\t 4: from /home/josh/work/puppet/lib/puppet/pops/loader/base_loader.rb:75:in `set_entry'\n\t 3: from /home/josh/work/puppet/lib/puppet/pops/loader/loader.rb:153:in `synchronize'\n\t 2: from /home/josh/work/puppet/lib/puppet/concurrent/lock.rb:10:in `synchronize'\n\t 1: from /home/josh/work/puppet/lib/puppet/pops/loader/base_loader.rb:79:in `block in set_entry'\n/home/josh/work/puppet/lib/puppet/pops/loader/base_loader.rb:135:in `fail_redefine': Could not autoload puppet/type/exec: Attempt to redefine entity 'http://puppet.com/2016.1/runtime/type/exec'. Originally set at file:///home/josh/work/puppet/lib/puppet/type/exec.rb?line=2. (Puppet::Error)\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21362", "fixedVersions": [], "id": "21362", "issueType": "Bug", "key": "PUP-11329", "labels": ["needs_repro"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Attempt to redefine entity error on agent if plugins are reloaded", "timeSpent": "PT0S", "updated": "2022-06-09T13:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I have the start of a fix in https://github.com/puppetlabs/puppet/compare/6.x...joshcooper:node_request_fallback?expand=1", "created": "2021-10-25T16:42:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/bb1017f923df83b196da5d17dadf58fd85f5aa68", "created": "2021-10-26T19:04:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI ", "created": "2021-10-27T21:39:00.000000"}, {"author": "5e473069c8ec310c955b241d", "body": "[~accountid:63d40628f6e1b543161789a7]\u00a0would you mind clarifying an issue I'm facing?\n\nI use node_terminus to specify dynamic environments (on the agent).\n\nAfter this ticket, now if\u00a0last_run_summary.yaml has a\u00a0converged_environment specified, puppet agent will not use the environment that node_terminus is telling the agent to use. It will use instead what's in last_run_summary.yaml which is very bad.\n\nIf before running puppet I remove the last_run_summary.yaml file I have my expected behavior.\n\nIf I remove the converged_environment line, puppet will try to apply the \"production\" (default) environment.\n\n\u00a0Is that expected? And if so, why is that?\n\n\u00a0\n\nThe expected behavior IMO should be: if we have node_terminus configured, that will always have precedence over what is\u00a0last_run_summary.yaml.\n\n\u00a0", "created": "2021-12-01T12:17:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The agent will start off in the converged environment in the last run summary, but the node terminus will always have the final say about what environment the agent should switch to. You should see the agent report that its environment doesn't match the server specified environment and it should switch to the server specified one.", "created": "2021-12-01T12:48:00.000000"}, {"author": "5e473069c8ec310c955b241d", "body": "So that's what I am not having here.\n\nCan you confirm what you're saying is actually what is happening?\n\nIn my tests with puppetserver 6.10 + puppet agent 6.25.1, and a client with puppet agent 6.25.1. Puppet agent will not use the env specified by node_terminus if the file $statedir/last_run_summary.yaml exists.\n\nIf we just remove the converged environment line, puppet will try to apply the default environment.\n\n\u00a0\n\nThat's the behavior I have here with multiple different boxes.", "created": "2021-12-01T13:25:00.000000"}, {"author": "5e473069c8ec310c955b241d", "body": "Btw, if you are going to test it, switch the environment via node_terminus more than once. Ensure it works every single time.\n\nBecause it works on the first time, but if you switch to another environment, it doesn't work anymore.", "created": "2021-12-01T13:30:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Hi [~accountid:5e473069c8ec310c955b241d],\n\nI wasn't able to reproduce your issue. Indeed, the logs are a bit misleading since Puppet always prints the environment it starts in (not necessarily the converged one).\n\nI set up a fresh environment where I first configured the ENC to return {{{}env1{}}}, then {{{}env2{}}}, then {{{}env3{}}}. The behavior looks correct to me, I'm sharing my logs below:\n\n\u00a0\n{code}\n[root@jutish-crushing ~]# grep environment /etc/puppetlabs/puppet/enc.sh\nenvironment: env1\n\n[root@jutish-crushing ~]# puppet agent -t \nNotice: Local environment: 'production' doesn't match server specified node environment 'env1', switching agent to 'env1'.\nInfo: Using environment 'env1'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Caching catalog for jutish-crushing.delivery.puppetlabs.net\nInfo: Applying configuration version '1638880188'\nInfo: Creating state file /opt/puppetlabs/puppet/cache/state/state.yaml\nNotice: Applied catalog in 0.01 seconds\n\n[root@jutish-crushing ~]# sed -i 's/env1/env2/' /etc/puppetlabs/puppet/enc.sh\n\n[root@jutish-crushing ~]# puppet agent -t \nInfo: Using environment 'env1'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nNotice: Local environment: 'env1' doesn't match server specified environment 'env2', restarting agent run with environment 'env2'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Caching catalog for jutish-crushing.delivery.puppetlabs.net\nInfo: Applying configuration version '1638880206'\nNotice: Applied catalog in 0.01 seconds\n\n[root@jutish-crushing ~]# puppet agent -t \nInfo: Using environment 'env2'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Caching catalog for jutish-crushing.delivery.puppetlabs.net\nInfo: Applying configuration version '1638880213'\nNotice: Applied catalog in 0.02 seconds\n\n[root@jutish-crushing ~]# sed -i 's/env2/env3/' /etc/puppetlabs/puppet/enc.sh\n\n[root@jutish-crushing ~]# puppet agent -t \nInfo: Using environment 'env2'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nNotice: Local environment: 'env2' doesn't match server specified environment 'env3', restarting agent run with environment 'env3'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Caching catalog for jutish-crushing.delivery.puppetlabs.net\nInfo: Applying configuration version '1638880224'\nNotice: Applied catalog in 0.01 seconds\n {code}\n\u00a0", "created": "2021-12-07T05:33:00.000000"}, {"author": "5e473069c8ec310c955b241d", "body": "Do you mind sharing the output of your enc.sh? I'll do the exact same test on my end.\n\nAlso, is this with puppet 7 or puppet 6? What about puppetserver?\n\nIt doesn't seem like you have the issue. I am testing with puppet 6 from EPEL 8 [1].\n\nI'm the packager, but from the previous version, not much has changed. I'm sharing the bootstrap file (spec) maybe you can spot an issue there?\n\n\u00a0\n\n1 https://src.fedoraproject.org/rpms/puppet/blob/rawhide/f/puppet.spec", "created": "2021-12-07T06:45:00.000000"}, {"author": "5e473069c8ec310c955b241d", "body": "Oh please, also share your puppet.conf", "created": "2021-12-07T06:53:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "I'm doing this on a single VM with the latest versions of puppet and puppetserver. I'll also try to reproduce using your specific setup:\n\n{code:java}\n[root@jutish-crushing ~]# cat /etc/puppetlabs/puppet/enc.sh\ncat <<ENV\n---\nenvironment: env3\nENV\n\n[root@jutish-crushing ~]# puppet --version\n7.12.1\n\n[root@jutish-crushing ~]# puppetserver --version\npuppetserver version: 7.4.2\n\n[root@jutish-crushing ~]# cat /etc/puppetlabs/puppet/puppet.conf\n[main]\nserver = ...\n\n[server]\nvardir = /opt/puppetlabs/server/data/puppetserver\nlogdir = /var/log/puppetlabs/puppetserver\nrundir = /var/run/puppetlabs/puppetserver\npidfile = /var/run/puppetlabs/puppetserver/puppetserver.pid\ncodedir = /etc/puppetlabs/code\nexternal_nodes = /etc/puppetlabs/puppet/enc.sh\nnode_terminus = exec\n {code}\n\nI'm testing on a CentOS 8 box using the release package at http://yum.puppet.com/puppet-release-el-8.noarch.rpm \n\nUpdate: I also tested using your setup (server with puppetserver 6.10 and agent 6.25.1, and client with 6.25.1 from EPEL) and got the same results as my previous tests.", "created": "2021-12-07T06:58:00.000000"}, {"author": "5e473069c8ec310c955b241d", "body": "One relevant change is that I am using puppetserver and puppet agent in two different boxes.\n\nDon't you think that would make a difference?\n\nSpecially because the actual environments (the files themselves) won't be present on puppet agent.", "created": "2021-12-07T07:28:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "I don't believe that changes anything", "created": "2021-12-07T07:37:00.000000"}, {"author": "5e473069c8ec310c955b241d", "body": "Well, I'm clearly seeing a bug on my end, like I shared. The only difference now is that I'm using the package we build in fedora.\n\nWhat's the version of puppetserver you're running and do you believe that would make a difference if I'm using an older version?", "created": "2021-12-07T08:08:00.000000"}, {"author": "5e473069c8ec310c955b241d", "body": "Can you share your puppet.conf when you use the server separete from the agent?\n\nBecause the external_nodes and node_terminus would be located in the [main] section, not in the [server].\n\nDid you test it like so?", "created": "2021-12-07T08:28:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "I've spoken with [~accountid:5e473069c8ec310c955b241d] over Slack and the issue stems from the fact that the ENC is configured on the agent, not the server. This is a workflow not currently supported/documented by Puppet, as the documentation [explicitly states|https://puppet.com/docs/puppet/7/nodes_external.html#writing-node-classifiers-external-node-classifiers] the ENC is called by Puppet Server.\n\nThe way this ticket impacts the workflow is the following, assuming Puppet Server has no ENC configured (so it doesn't decide the agent's environment):\n- with last_run_summary.yaml absent, the agent run will make a node request", "created": "2021-12-08T02:59:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I'm going to close this issue, because the change was already released.\n\nTBH, I've never heard of an agent executing a local enc script before. Usually you'd want to pass the environment to use for the onetime run as [~accountid:70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56] mentioned.", "created": "2021-12-09T23:25:00.000000"}, {"author": "5e473069c8ec310c955b241d", "body": "Hi [~accountid:63d40628f6e1b543161789a7] , like I was telling [~accountid:70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56] , we've been using puppet since puppet 3.X.\n\nAnd we've been using this feature like I described to Gabriel forever. I believe that probably at some point, someone changed the docs, but didn't change the behaviour of the feature.\n\n\u00a0\n\nI'd like to gently ask you to consider putting back this feature, since it's something that was working before and was removed suddenly, and catch us and probably others out there, off the guard.\n\nI'm the official packager of puppet for Fedora and RedHat (EPEL). I'd like to also volunteer to submit a PR with the documents update.\n\n\u00a0\n\nWould you consider putting the feature back? I ask some consideration in the name of the community.\n\n\u00a0\n\n\u00a0", "created": "2021-12-12T22:04:00.000000"}, {"author": "5e473069c8ec310c955b241d", "body": "Oh, and by the way, this change seems to put the behaviour back in place working:\n{code:java}\n[root@server /usr/share/ruby/vendor_ruby/puppet]# git diff\ndiff --git a/configurer.rb b/configurer.rb\nindex b55ad5d..211b1d3 100644\n--- a/configurer.rb\n+++ b/configurer.rb\n@@ -490,7 +490,7 @@ class Puppet::Configurer\n\u00a0 \u00a0 \u00a0 \u00a0converged_environment = summary['application']['converged_environment']\n\u00a0 \u00a0 \u00a0 \u00a0@last_server_specified_environment = converged_environment if initial_environment != converged_environment\n\u00a0 \u00a0 \u00a0 \u00a0Puppet.debug(_(\"Successfully loaded last environment from the lastrunfile\"))\n- \u00a0 \u00a0 \u00a0@loaded_last_environment = true\n+ \u00a0 \u00a0 \u00a0@loaded_last_environment = false\n\u00a0 \u00a0 \u00a0end\n {code}", "created": "2021-12-12T22:20:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:5e473069c8ec310c955b241d] thanks for bringing this to our attention. I filed PUP-11379 for the regression. Please watch/comment on that ticket instead of this one.", "created": "2021-12-14T11:02:00.000000"}, {"author": "5e473069c8ec310c955b241d", "body": "Thank you, [~accountid:63d40628f6e1b543161789a7] and [~accountid:70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56] for putting this together.\n\n\u00a0\n\n\u00a0\n\n\u00a0", "created": "2022-01-05T05:46:00.000000"}], "components": [], "created": "2021-10-25T16:35:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@692f1b3e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0c2x4:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "6.25.0 and 7.12.0 introduced a regression which caused a newly upgraded agent to download all of its plugins. Now the agent will perform a onetime node request to resynchronize its environment with the server."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Dec/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_95722135_*|*_1_*:*_3_*:*_760596494_*|*_5_*:*_1_*:*_3058291828_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1586932"}], "description": "When using a server-specified environment, the agent will re-download all of its plugins after updating to 6.25.0 or 7.12.0. This occurs, because the agent cannot determine what the last server-specified environment was. So it will:\n\n* fallback to \"production\"\n* download plugins from \"production\"\n* request a catalog from \"production\"\n* be redirected to the original environment\n* download plugins from the original environment\n* request a catalog from the original environment\n\nIf the puppet-agent package on the server is not updated to 6.25/7.12 or later, and the server-specified environment references a fact that doesn't exist in the \"production\" environment, then the \"hop back\" to the original environment will fail as described in PUP-9570.\n\nTo prevent the agent from redownloading all plugins, the agent should fallback to making a node request if its last run summary does not contain the last server-specified environment.\n\nThis was originally reported in PUP-11323 and PUP-11327.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24571", "fixedVersions": ["PUP 6.25.1", "PUP 7.12.1"], "id": "24571", "issueType": "Bug", "key": "PUP-11328", "labels": ["doc-reviewed", "needs_repro"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-12-09T23:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet agent may download all plugins after updating", "timeSpent": "PT0S", "updated": "2022-01-05T05:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:70121:c4868211-1a57-40ef-b792-8b187808052e]\u00a0it is expected that the agent start off in production if there isn't a lastrunfile with information about the last converged environment or production was what the agent used last time. However, later in the run, you should see that the agent switches to the ENC specified environment, something like:\n\n{noformat}\nNotice: Local environment: 'production' doesn't match server specified environment 'whatever', restarting agent run with environment 'whatever'\n{noformat}\n\nIf you don't see that, please include the redacted output of {{puppet agent -t --debug}}.\n\nSee also PUP-11323", "created": "2021-10-22T11:25:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Moved to the PUP project", "created": "2021-10-22T11:26:00.000000"}, {"author": "70121:c4868211-1a57-40ef-b792-8b187808052e", "body": "[~accountid:63d40628f6e1b543161789a7]\u00a0- I don't think this is expected.\nFirst, when you're doing an upgrade, you're jumping into the predecessor's cache, and lastrun.\nEven if new installation resets cache and lastrun, second run of puppet should jump in with proper env settings, right?\nWell, this is not happening.\nEvery run ends with (from debug)\n{quote}\nDebug: Environment not passed via CLI and no catalog was given, attempting to find out the last server-specified environment\nDebug: Could not find a usable environment in the lastrunfile. Either the file does not exist, does not have the required keys, or the values of 'initial_environment' and 'converged_environment' are identical.\nInfo: Using environment 'production'\n{quote}\n\u00a0\n\nand we're landing with a broken catalog (well, this is expected)\n{quote}\n puppet agent -t --noop\nInfo: Using environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Loading facts\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, 'versioncmp' parameter\u00a0\nError: Could not retrieve catalog", "created": "2021-10-23T00:48:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Please include the redacted output of {{puppet agent -t --debug}}?\n\nAlso what version of puppet-agent and puppetserver are installed on the compiler? The \"Error while evaluating a Function call\" is likely because the compiler tried using puppet code from the correct environment, but the agent didn't send the fact needed for compilation (since it pluginsynced in production\"). See PUP-9570 for more information. Can you verify that upgrading the puppet-agent package to 6.25.0 on the compiler host resolves the problem?", "created": "2021-10-24T21:57:00.000000"}, {"author": "70121:c4868211-1a57-40ef-b792-8b187808052e", "body": "puppet-agent 6.24.0\n\npuppetserver\u00a0 6.16.1\n\nYes, the failure of an agent in the above case is perfectly understandable as the agent is not delivering facts. I'll try to bump agent and server and if it won't help I'll redact debug", "created": "2021-10-25T09:31:00.000000"}, {"author": "70121:c4868211-1a57-40ef-b792-8b187808052e", "body": "[~accountid:63d40628f6e1b543161789a7]\u00a0- you were right, after bumping both agent and server , puppet 6.25 on windows started to work properly :)\nThanks!", "created": "2021-10-25T09:52:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Thanks for your help [~accountid:70121:c4868211-1a57-40ef-b792-8b187808052e]! I filed PUP-11328 as it would be better if the agent didn't lose track of its environment after upgrading to 6.25/7.12, and it would avoid the catalog compilation issue you ran into. I'm going to close this as a dup.", "created": "2021-10-25T16:38:00.000000"}], "components": [], "created": "2021-10-22T08:07:00.000000", "creator": "70121:c4868211-1a57-40ef-b792-8b187808052e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2e44ce2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0bzhk:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Oct/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_11943647_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_277910366"}], "description": "After upgrade from 6.24 to 6.25 puppet-agent no longer react on ENC override for environment.\n Specifying environment from config file and CLi works.\n\n```\n{quote}Debug: Environment not passed via CLI and no catalog was given, attempting to find out the last server-specified environment\n Debug: Could not find a usable environment in the lastrunfile. Either the file does not exist, does not have the required keys, or the values of 'initial_environment' and 'converged_environment' are identical.\n Info: Using environment 'production'\n{quote}\n```\n\nlast_run\n ```\n \u2014 !ruby/object:Puppet::Transaction::Report\n host: puppet-tst-19.spcph.local\n time: '2021-10-22T16:00:45.953178000+02:00'\n configuration_version: \n transaction_uuid: 7642766d-c60d-48ed-a09a-c1e4204ea1ab\n report_format: 11\n puppet_version: 6.25.0\n status: failed\n transaction_completed: false\n noop: true\n noop_pending: false\n environment: production\n logs:\n - level: debug\n message: Environment not passed via CLI and no catalog was given, attempting to\n find out the last server-specified environment\n source: Puppet\n tags:\n - debug\n time: '2021-10-22T16:00:47.256460000+02:00'\n file: \n line:\n - level: debug\n message: Could not find a usable environment in the lastrunfile. Either the file\n does not exist, does not have the required keys, or the values of 'initial_environment'\n and 'converged_environment' are identical.\n source: Puppet\n tags:\n - debug\n time: '2021-10-22T16:00:47.259240000+02:00'\n file: \n line:\n - level: info\n message: Using environment 'production'\n source: Puppet\n ```", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27661", "fixedVersions": [], "id": "27661", "issueType": "Bug", "key": "PUP-11327", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:c4868211-1a57-40ef-b792-8b187808052e", "resolution": "Duplicate", "resolutionDate": "2021-10-25T16:38:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Agent for Window environment no longer can be override by ENC", "timeSpent": "PT0S", "updated": "2021-10-25T16:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623c16c7a9575800695acff5", "body": "[Pull-Request on Github|https://github.com/puppetlabs/puppet/pull/8799]", "created": "2021-10-22T06:35:00.000000"}], "components": [], "created": "2021-10-22T06:32:00.000000", "creator": "623c16c7a9575800695acff5", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@dd6b69f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11371"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3z5:r9090000j900003"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}], "description": "Make regsubst() sensitive-aware\u00a0\n\nPossible Use-Case [out of Real-Life|https://github.com/Icinga/puppet-icinga2/blob/master/manifests/feature/gelf.pp#L100]:\n\n{noformat}\n      $_ssl_key = $::facts['os']['family'] ? {                           \n        'windows' => regsubst($ssl_key, '\\n', \"\\r\\n\", 'EMG'),            \n        default   => $ssl_key,                                           \n      }\n{noformat}", "epicLinkSummary": "Server Sensitive Data Handling", "estimate": "PT0S", "externalId": "22450", "fixedVersions": [], "id": "22450", "issueType": "Improvement", "key": "PUP-11326", "labels": [], "originalEstimate": "PT0S", "parent": "27665", "parentSummary": "Server Sensitive Data Handling", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c16c7a9575800695acff5", "status": "Ready for Merge", "statusCategory": "In Progress", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": " Make regsubst() sensitive-aware", "timeSpent": "PT0S", "updated": "2022-08-24T12:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "70121:ce512409-a854-49df-b3ee-7398ea4e6db9", "created": "2022-10-03T08:30:00.000000", "name": "jstack.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11576"}, {"attacher": "623c0c967910a200718b912e", "created": "2021-10-24T23:20:00.000000", "name": "puppetserver_redefine_loader.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11873"}, {"attacher": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "created": "2022-02-02T16:12:00.000000", "name": "stacktrace-attempt_to_redefine_loader.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11799"}, {"attacher": "623c0c967910a200718b912e", "created": "2021-10-22T01:57:00.000000", "name": "test1_metrics.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11797"}, {"attacher": "623c0c967910a200718b912e", "created": "2021-10-22T01:57:00.000000", "name": "test1_puppetrun.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11872"}, {"attacher": "623c0c967910a200718b912e", "created": "2021-10-22T02:16:00.000000", "name": "test2_matrics.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12042"}, {"attacher": "623c0c967910a200718b912e", "created": "2021-10-22T02:16:00.000000", "name": "test2_puppetrun.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11961"}], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The {{end of file reached}} error message and 300 seconds indicates something killed the connection, possibly a firewall or puppetserver itself. Can you include redacted puppetserver.log around the time the error occurs?\n\nAlso it would be helpful to see the output of {{puppet agent -t}} when the server is under heavy load. Both when using 6.24.0 and 6.25.0", "created": "2021-10-20T12:53:00.000000"}, {"author": "623c0c967910a200718b912e", "body": "Hi [~accountid:63d40628f6e1b543161789a7],\n\nthere are no error in puppetserver.log around the time and i dont think its caused by a firewall (i tested also on localhost, deactivated iptables).\n\nI spent some time to figure out, when the error occurs:\n\n\u00a0\n\n*Test 1*\n\nsetup: 1x\u00a0puppetserver (with\u00a0puppetserver-6.17.0-1.sles12 and\u00a0puppet-agent-6.24.0), 2x clients (puppet-agent-6.25.0)\n\nAll puppet-agents run fine, without any error as you can see in [^test1_puppetrun.png]. The load of the puppetserver you can find in [^test1_metrics.png]\n\n\u00a0\n\n*Test 2*\n\nsetup: 1x\u00a0puppetserver (with\u00a0puppetserver-6.17.0-1.sles12 and\u00a0puppet-agent-6.25.0), 2x clients (puppet-agent-6.25.0)\n\nIn the first step i only started the puppet-agents on the two clients - the puppet-agent on puppetserver was disabled and stopped. They run fine for some time (load on puppetserver marked with \"1\" in [^test2_matrics.png]. In the second step i also started the puppet-agent on puppetserver which seems to cause the error after some (1,2,3,??) puppetruns. As you can see, the puppetagent on one client throws an internal error marked with \"1\" in [^test2_puppetrun.png]\u00a0(happens at the same time as i started the puppetrun on puppetserver). This error only appears in 1/3 of my tests. After this all clients get the error \"end of file reached\" and the load on puppetserver reduce to nearly zero, marked with \"2\" in [^test2_matrics.png]. The only way to get everything running again is to stop the puppet-agent on the puppetserver and restart the puppetserver.\n\n\u00a0\n\nHopefully these tests help to figure out where the error comes from. If you need further data please let me know.\n\n\u00a0", "created": "2021-10-22T02:37:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Thanks [~accountid:623c0c967910a200718b912e]. When the agent reports \"Error on SERVER: ... Attempt to redefine loader named...\" there should be a corresponding stack trace in /var/log/puppetlabs/puppetserver/puppetserver.log. Could you include that in the ticket (redacting any module/class names)? Also are you running with puppetserver multithreading enabled?", "created": "2021-10-22T11:57:00.000000"}, {"author": "623c0c967910a200718b912e", "body": "HI [~accountid:63d40628f6e1b543161789a7],\n\nyou can find the stack strace in the attachment [^puppetserver_redefine_loader.log]. Its the first stack trace i found, so do not wonder that the time differs. The stack trace is always the same, only the puppet modules differs.\n\nYes, we're using multithreading. If i have some time today, i can do the test again with multithreading disabled.", "created": "2021-10-24T23:27:00.000000"}, {"author": "623c0c967910a200718b912e", "body": "I've done some quick tests with multithreading disabled: i was not able to reproduce the error \"...Attempt to redefine loader named...\". Furthermore all agents and the puppetserver running fine without freezing.", "created": "2021-10-25T00:50:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Ah thanks [~accountid:623c0c967910a200718b912e] that's very helpful! If possible, could you try using puppet-agent 6.25.1 with multithreading enabled and capture a thread dump when puppetserver hangs?", "created": "2021-10-25T12:16:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I think this is related to, possibly duplicates PUP-10958.\n\nPuppet 6.25.0 had a few changes relating to environments and their loaders. See PUP-11158 and PUP-10955.", "created": "2021-10-25T12:44:00.000000"}, {"author": "623c0c967910a200718b912e", "body": "Hi [~accountid:63d40628f6e1b543161789a7],\n\nyes, i can test with puppet-agent 6.25.1, but where can i download it? It isnt released in the software repository yet. ([https://yum.puppet.com/puppet6/sles/12/x86_64/)]\n\nHow do i capture a thread dump? I didn't done this before 0:-)", "created": "2021-10-26T01:16:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Sorry [~accountid:623c0c967910a200718b912e] I meant 6.25.0. You'll need to install the openjdk devel package (that provides jstack), then once the server hangs, execute something like:\n\n{noformat}\n$ sudo -u puppet /path/to/jstack -e -l `sudo pgrep -F /var/run/puppetlabs/puppetserver/puppetserver.pid`\n{noformat}", "created": "2021-10-26T13:20:00.000000"}, {"author": "623c0c967910a200718b912e", "body": "Hi [~accountid:63d40628f6e1b543161789a7],\n\nbad news, i talked to our to our it security/compliance department and i am not allowed to send you the thread dump :(", "created": "2021-10-27T01:37:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:623c0c967910a200718b912e] ok thanks for trying.", "created": "2021-10-27T11:37:00.000000"}, {"author": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "body": "I've been seeing a lot of these \"Attempt to redefine loader\" errors while using multithreaded mode shortly after puppetserver has started and is taking some agent traffic. The errors go away after being thrown 1-3 times.\n\nMy Puppetserver host is using:\n* puppet-agent-7.14.0-1.el7.x86_64\n* puppetserver-7.6.0-1.el7.noarch\n\nAttached is a stack trace from one such error.  [^stacktrace-attempt_to_redefine_loader.txt] \n", "created": "2022-02-02T16:12:00.000000"}, {"author": "557058:5cf34d61-0327-46c9-a7c5-18d45e15df55", "body": "FYI this same issue (redefine loader) occurs on server 7.x when the 7.14 agent is installed: SERVER-3160 which seems caused by this change in the 7.14 agent:\u00a0PUP-11373.", "created": "2022-03-11T15:20:00.000000"}, {"author": "70121:ce512409-a854-49df-b3ee-7398ea4e6db9", "body": "[~accountid:63d40628f6e1b543161789a7], please take a look at jstack trace  [^jstack.log]. Debian Buster, puppetserver 6.20.0, puppet-agent 6.28.0.", "created": "2022-10-03T08:32:00.000000"}], "components": [], "created": "2021-10-20T07:23:00.000000", "creator": "623c0c967910a200718b912e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@fa86714"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "SERVER-2911"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0by28:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Oct/21"}], "description": "*Puppet Version:*\u00a0\u00a06.25.0\n *Puppet Server Version:*\u00a06.17.0\n *OS Name/Version:* SLES 12SP5\n\nAfter upgrading puppetserver to 6.17.0 and puppet agent to 6.25.0 (on puppetserver) (running on SLES12 SP5) the agent freeze after some puppet runs complety and shows the following error\n{code:java}\nRequest to https://<puppetserver>:8140/puppet/v3/file_metadatas/plugins?recurse=false&links=manage&checksum_type=md5&source_permissions=ignore&environment=produktion interrupted after 300.002 seconds Wrapped exception: end of file reached\n{code}\n\u00a0\n\nThe interesting thing about this error is the timing when the error occurs. Furthermore no errors logged in puppetserver.log, there seems no bottleneck (cpu/memory - each node has 4 cpus / 10G Memory, xms/xmx set to 4G), the error just occurs after some time or load?!\n\nBut let me describe observed behavior\n # (re)starting the puppetserver, cpu load rises for some time, but i think this is quite normal\u00a0\n # starting 2 puppet agents on other hosts in an endless loop to simulate load ( while :; do puppet agent -t; done)\n # after some more time / puppet runs the error from above accurs\n\n\u00a0\n\nIf we downgrade the puppet-agent to 6.24.0 on the puppetserver everything works fine again.\n\n\u00a0\n\n*Desired Behavior:*\n\nWe can update puppet agent and puppetserver to the latest 6.X Version and everything works as expected.\n\n\u00a0\n\n*Actual Behavior:*\n\nWe need to downgrade puppet-agent on the puppetserver hosts to 6.24.0.\n\n\u00a0", "epicLinkSummary": "Multithreaded Fixes", "estimate": "PT0S", "externalId": "23479", "fixedVersions": [], "id": "23479", "issueType": "Bug", "key": "PUP-11324", "labels": [], "originalEstimate": "PT0S", "parent": "17234", "parentSummary": "Multithreaded Fixes", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0c967910a200718b912e", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "puppet-agent-6.25.0 breaks puppetserver-6.17.0 with multithreading enabled", "timeSpent": "PT0S", "updated": "2022-10-03T08:32:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "5bb243ee607be0205f96d28d", "created": "2021-10-18T07:54:00.000000", "name": "debug.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12041"}], "comments": [{"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Hi [~accountid:5bb243ee607be0205f96d28d], we shuffled some log messages around as a result of implementing PUP-10539, however in this case PE/classifier should still be authoritative, regardless of what's specified on the CLI.\n\nCan you share the following logs?\n{code}\npuppet agent -t --debug --environment=testing\ncat $(puppet config print lastrunfile)\n{code} ", "created": "2021-10-18T05:22:00.000000"}, {"author": "5bb243ee607be0205f96d28d", "body": "Attached the debug log\u00a0[^debug.txt]\n{code:java}\n[root@pe-node-48716e-0 ~]# cat $(puppet config print lastrunfile)\n---\nversion:\n config: pe-server-48716e-0-production-979f19487ef\n puppet: 6.25.0\napplication:\n run_mode: agent\n initial_environment: testing\n converged_environment: production\nresources:\n changed: 0\n corrective_change: 0\n failed: 0\n failed_to_restart: 0\n out_of_sync: 0\n restarted: 0\n scheduled: 0\n skipped: 0\n total: 50\ntime:\n catalog_application: 0.4192146209970815\n config_retrieval: 0.38215963499897043\n convert_catalog: 0.15539181500207633\n exec: 0.132791731\n fact_generation: 1.6690107839967823\n file: 0.022901776\n filebucket: 0.000116674\n ini_setting: 0.009516789999999999\n package: 0.000676858\n pe_anchor: 0.000150198\n plugin_sync: 10.741396951998468\n puppet_agent_end_run: 0.000164698\n schedule: 0.000512716\n service: 0.017519027\n startup_time: 0.923621749\n total: 14.897905855\n transaction_evaluation: 0.40708175100007793\n yumrepo: 0.0011062469999999999\n last_run: 1634565018\nchanges:\n total: 0\nevents:\n failure: 0\n success: 0\n total: 0{code}", "created": "2021-10-18T07:55:00.000000"}, {"author": "70121:c4868211-1a57-40ef-b792-8b187808052e", "body": "Same behavior on Windows - puppet agent stops reacting on ENC environment settings and goes with default one.\n\n\n\n---\nversion:\n config:\n puppet: 6.25.0\napplication:\n run_mode: agent\n initial_environment: production\n converged_environment: production\nresources:\n changed: 0\n corrective_change: 0\n failed: 0\n failed_to_restart: 0\n out_of_sync: 0\n restarted: 0\n scheduled: 0\n skipped: 0\n total: 0\ntime:\n fact_generation: 4.154527799999869\n plugin_sync: 5.896013200000198\n startup_time: 1.261798\n total: 13.344219\n last_run: 1634548638\nchanges:\n total: 0\nevents:\n failure: 0\n success: 0\n total: 0\n\n\u00a0", "created": "2021-10-19T00:29:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:5bb243ee607be0205f96d28d], the run starts with 'testing' environment, but later on the environment is changed to production:\n{code:java}\nNotice: Local environment: 'testing' doesn't match server specified environment 'production', restarting agent run with environment 'production'{code}\n[~accountid:70121:c4868211-1a57-40ef-b792-8b187808052e] , can you also check for the above message or provide logs?\n\n\u00a0", "created": "2021-10-19T02:16:00.000000"}, {"author": "5bb243ee607be0205f96d28d", "body": "Hi [~accountid:70121:4596f954-1fdf-472f-a700-6b7c2ffbc525], I had missed that message among the output. The behaviour is still different from 6.24 and it makes changes before reverting them when running in production.\u00a0\n\n\u00a0\n{code:java}\nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/util/ini_file]/ensure: removed\nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/util/ini_file.rb]/ensure: removed\nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/util/postgresql_validator.rb]/ensure: removed\nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/util/setting_value.rb]/ensure: removed\nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet_x/bodeco]/ensure: removed\nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet_x/chocolatey]/ensure: removed\nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet_x/puppetlabs/registry.rb]/ensure: removed\nNotice: /File[/opt/puppetlabs/puppet/cache/lib/pwsh]/ensure: removed\nNotice: /File[/opt/puppetlabs/puppet/cache/lib/pwsh.rb]/ensure: removed\nNotice: /File[/opt/puppetlabs/puppet/cache/lib/ruby-pwsh.rb]/ensure: removed\nNotice: /File[/opt/puppetlabs/puppet/cache/lib/task_helper.rb]/ensure: removed\nNotice: /File[/opt/puppetlabs/puppet/cache/lib/templates]/ensure: removed\nInfo: Retrieving locales\nNotice: /File[/opt/puppetlabs/puppet/cache/locales/ja]/ensure: removed\nInfo: Loading facts\nNotice: Local environment: 'testing' doesn't match server specified environment 'production', restarting agent run with environment 'production'\n{code}\n\u00a0\n\n\u00a0", "created": "2021-10-19T03:30:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:5bb243ee607be0205f96d28d], it will do pluginsync twice in this specific case, first for testing environment and a second time for production. It is like that by design. Is it causes any trouble?", "created": "2021-10-19T03:40:00.000000"}, {"author": "5bb243ee607be0205f96d28d", "body": "Hi [~accountid:70121:4596f954-1fdf-472f-a700-6b7c2ffbc525], thanks for confirming this was by design. I don't forsee it causing issues since it seems like it's only affecting puppet runs when the environment is specified on the command and I don't think many customers run puppet this way. It is a change in behaviour between minor versions and running pluginsync twice doesn't seem as efficient as the previous method of immediately determining the correct server-side environment.\n\n\u00a0", "created": "2021-10-19T06:50:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "Yes, in this specific case we pluginsync twice compared to the alternative used in previous version to initially classify the node based on puppetdb facts (which could have other problems e.g. on initial puppet run)\n\n[~accountid:63d40628f6e1b543161789a7], any opinion on this?", "created": "2021-10-19T07:09:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Just confirming that the agent is working as intended.\n\nWe changed how this process works to fix several customer reported issues where agent runs sometimes fail when the environment changes.\n\nWe now optimize for the case where the environment doesn't change.\n\nIf you're running {{puppet agent -t}} and the agent is allowed to select its own environment, then it will usually only pluginsync once. The number of times depends on what facts the agent already has at the start of the run and whether classification is based on those facts.\n\nIf you're running {{puppet agent -t}} but the agent is NOT allowed to switch environments, then it may pluginsync twice.", "created": "2021-10-19T10:54:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I'm going to close this ticket as the agent is working as intended. Please reopen if I've missed something.", "created": "2021-10-21T10:40:00.000000"}], "components": [], "created": "2021-10-18T04:13:00.000000", "creator": "5bb243ee607be0205f96d28d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2601958d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0bv2o:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Oct/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_282407120_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.25*\n *Puppet Server Version: 2019.8.9*\n *OS Name/Version: tested on centos7*\n\nPuppet agent runs in environment specified on CLI when not in an agent specified environment\n\n*Desired Behavior:*\u00a0\n\nIn Puppet 6.24 the behaviour is as expected, if a CLI environment is specified but the agent is not in a agent specified node group the run outputs a notice and continues in the server specified environment:\n{code:java}\n[root@pe-node-48716e-0 ~]# puppet agent -t --environment=testing\nNotice: Local environment: 'testing' doesn't match server specified node environment 'production', switching agent to 'production'.{code}\n*Actual Behavior:*\n\nAfter upgrading to 6.25 it runs in the CLI specified environment:\n{code:java}\n[root@pe-node-48716e-0 ~]# puppet agent -t --environment=testing\nInfo: Using environment 'testing'{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28840", "fixedVersions": [], "id": "28840", "issueType": "Bug", "key": "PUP-11323", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "High (migrated)", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5bb243ee607be0205f96d28d", "resolution": "Incomplete", "resolutionDate": "2021-10-21T10:40:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Puppet agent runs in environment specified on CLI when not in an agent specified environment", "timeSpent": "PT0S", "updated": "2021-10-25T16:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This didn't make 7.13.0 so I bumped it from the epic.", "created": "2021-12-07T15:21:00.000000"}], "components": [], "created": "2021-10-15T11:29:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@183032d0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dfqz:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_247257312_*|*_3_*:*_1_*:*_9244929138_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_39192881"}], "description": "When parsing manifests, we merge the main hostclass' code. Each merge creates a new BlockExpression containing the children from the old and new codes: https://github.com/puppetlabs/puppet/blob/e0ea9a23bc867d337abf6c9d274e46729b058f15/lib/puppet/resource/type.rb#L145\n\nThis means we're copying the code that has already been merged into {{self}} N times and the array gets bigger each time. The many_modules benchmark creates 100 modules each with 11 manifests and it generates an extra 11MB of allocated memory.\n\nIt seems like we should be *appending* the new code with the already merged code while preserving the flattening behavior.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28839", "fixedVersions": [], "id": "28839", "issueType": "Bug", "key": "PUP-11322", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Won't Do", "resolutionDate": "2022-02-02T18:05:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Excessive copying of already merged code for the main hostclass", "timeSpent": "PT0S", "updated": "2022-02-02T18:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "There are a few different things going on here:\n\n1. The yaml_settings module generates a YAML hash where the keys are arrays [https://github.com/cataphract/puppet-yaml_settings/blob/bbd6a9210233be03d29b9d0fa423f3fdcdae7452/lib/puppet/type/yaml_settings.rb#L146-L147] That's allowed in the YAML specification, but not JSON:\n{noformat}\n$ bx ruby -rjson -e \"puts JSON.parse('{[1] => 2}')\"                     \nTraceback (most recent call last):\n\t2: from -e:1:in `<main>'\n\t1: from /home/josh/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/json-2.5.1/lib/json/common.rb:216:in `parse'\n/home/josh/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/json-2.5.1/lib/json/common.rb:216:in `parse': 809: unexpected token at '{[1] => 2}' (JSON::ParserError)\n{noformat}\n 2. The prefix passed to ToDataSerializer is the string representation of the Persistence object, which causes the message to contain: {{<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>}}. That should be fixed\n 3. There's a bug in the ToDataSerializer which loses track of the current path, so we get repeated elements in the warning message:\n{noformat}['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"listen_address\"]'\n['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"broadcast_rpc_address\"]'\n4. We are currently using the \"silence_warnings\" argument when saving the transaction store, but that doesn't affect the \"non-string hash key\" warning. It probably should.\n{noformat}\n", "created": "2021-10-20T14:48:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:623c10e77910a200718b9382] to answer your question above, I would expect puppetserver to receive the same warning when sending the catalog to the agent, and likely puppetdb to have issues as well. I'm not sure I understand why the module is always creating an array of keys, especially since it's a one element array. I'd reach out to the module author about fixing that.\n\nI'll leave this ticket open as there some things in puppet that need fixing.", "created": "2021-10-21T10:48:00.000000"}, {"author": "557058:51e9f41d-23c5-4cb2-a01f-fbb926540dde", "body": "We have a similar problem. Our yaml looks like this:\n\n\u00a0\n{code:java}our::variables:\n  error_level: 0\n  intervals:\n    86400:\n      older_than:\n        number: 1\n        interval: 86400\n      keep_per:\n        number: 1\n        interval: 604800{code}\nAnd we get this message:\n{code:java}Warning: #<Puppet::Transaction::Persistence:0x00005608a7a72eb0> ... contains a hash with an Integer key. It will be converted to the String '86400'\n{code}\n\u00a0", "created": "2021-11-02T14:36:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Thanks [~accountid:557058:51e9f41d-23c5-4cb2-a01f-fbb926540dde]\u00a0that's good to know.", "created": "2021-11-02T18:28:00.000000"}, {"author": "623c10e77910a200718b9382", "body": "Puppet agent 7.12.1 is also suffering this issue.", "created": "2021-11-10T01:53:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/a130746520. This will be released in upcoming 6.26.0 and 7.13.0 releases.", "created": "2021-12-01T11:30:00.000000"}], "components": [], "created": "2021-10-15T06:57:00.000000", "creator": "623c10e77910a200718b9382", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@71341e6d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0buag:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fixes a regression introduced in 6.25.0 and 7.10.0 that caused a \"Puppet::Transaction::Persistence\" warning during each agent run."}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "46570"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Oct/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_447947832_*|*_1_*:*_2_*:*_4018922137_*|*_10007_*:*_1_*:*_62023780_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_108086"}], "description": "*Puppet Version:* 6.25.0\n *Puppet Server Version:* 6.0.10\n *OS Name/Version:* Debian GNU/Linux 11 (bullseye)\n\nSince puppet-agent has been upgraded from 6.24.0, we get warnings on nodes using a specific configuration involving [cataphract/yaml_settings|https://forge.puppet.com/modules/cataphract/yaml_settings] wrapped by [trepasi/cassandra|https://forge.puppet.com/modules/trepasi/cassandra].\n\n*Desired Behavior:* work without warnings\n\n*Actual Behavior:* while the catalog is applied properly, warnings are raised for every hash key passed to the values parameter of yaml_settings resource stating a type cast issue.\n\nExample:\n\nNode manifest includes a {{contain cassandra}} and gets parameter via Hiera:\n{code:yaml}cassandra::config:\n  listen_address: \"%{facts.networking.ip}\"\n  broadcast_rpc_address: \"%{facts.networking.ip}\"\n  rpc_address: 0.0.0.0\n  num_tokens: 256\n  auto_bootstrap: true\n  cluster_name: \"Test Cassandra %{facts.mam_stage}\"\n  endpoint_snitch: GossipingPropertyFileSnitch\n  authenticator: PasswordAuthenticator\n  authorizer: CassandraAuthorizer\n  seed_provider:\n    - class_name: org.apache.cassandra.locator.SimpleSeedProvider\n      parameters:\n        - seeds: 10.90.21.10,10.90.18.238\n  diagnostic_events_enabled: true\n{code}\nOutput of {{puppet agent --test}} on a node includes the warnings:\n{code:console}Warning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"listen_address\"]'\nWarning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"broadcast_rpc_address\"]'\nWarning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"rpc_address\"]'\nWarning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"num_tokens\"]'\nWarning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"auto_bootstrap\"]'\nWarning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"cluster_name\"]'\nWarning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"endpoint_snitch\"]'\nWarning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"authenticator\"]'\nWarning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"authorizer\"]'\nWarning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"seed_provider\"]'\nWarning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '[\"diagnostic_events_enabled\"]'\n{code}\nDebug and trace options does not unveil more relevant information.\n\nContents of the transaction store on the node however changed from:\n{code:transactionstore.yaml}  Yaml_settings[cassandra::config]:\n    parameters:\n      values:\n        system_value:\n        - ? - listen_address\n          : 10.90.18.238\n          ? - broadcast_rpc_address\n          : 10.90.18.238\n          ? - rpc_address\n          : 0.0.0.0\n          ? - num_tokens\n          : 256\n          ? - auto_bootstrap\n          : true\n          ? - cluster_name\n          : Test Cassandra qa\n          ? - endpoint_snitch\n          : GossipingPropertyFileSnitch\n          ? - authenticator\n          : PasswordAuthenticator\n          ? - authorizer\n          : CassandraAuthorizer\n          ? - seed_provider\n          : - class_name: org.apache.cassandra.locator.SimpleSeedProvider\n              parameters:\n              - seeds: 10.90.21.10,10.90.18.238\n          ? - diagnostic_events_enabled\n          : true\n{code}\nwith 6.24.0 to:\n{code:transactionstore.yaml}  Yaml_settings[cassandra::config]:\n    parameters:\n      values:\n        system_value:\n        - '[\"listen_address\"]': 10.90.18.238\n          '[\"broadcast_rpc_address\"]': 10.90.18.238\n          '[\"rpc_address\"]': 0.0.0.0\n          '[\"num_tokens\"]': 256\n          '[\"auto_bootstrap\"]': true\n          '[\"cluster_name\"]': Test Cassandra qa\n          '[\"endpoint_snitch\"]': GossipingPropertyFileSnitch\n          '[\"authenticator\"]': PasswordAuthenticator\n          '[\"authorizer\"]': CassandraAuthorizer\n          '[\"seed_provider\"]':\n          - class_name: org.apache.cassandra.locator.SimpleSeedProvider\n            parameters:\n            - seeds: 10.90.21.10,10.90.18.238\n          '[\"diagnostic_events_enabled\"]': true\n{code}\nwith 6.25.0, which is the only change on the node.\n\nThings need to be clarified:\n * is this an actual issue involving a poor usage pattern\n * could this lead to a future issue\n * could the warnings be suppressed if not relevant\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28838", "fixedVersions": ["PUP 6.26.0", "PUP 7.13.0"], "id": "28838", "issueType": "Bug", "key": "PUP-11321", "labels": ["docs_reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c10e77910a200718b9382", "resolution": "Fixed", "resolutionDate": "2021-12-06T16:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Warning: #<Puppet::Transaction::Persistence since upgrade to puppet-agent 6.25.0", "timeSpent": "PT0S", "updated": "2021-12-16T13:45:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "623c12ff94742a00683e41fd", "body": "[~accountid:623c156e562ab90069f8b4fd],\u00a0could you please detail the use case in the original manifest that surfaced this error to better understand the end goal?", "created": "2021-11-08T07:51:00.000000"}, {"author": "623c156e562ab90069f8b4fd", "body": "A standard use case, is when installing a package, to modify the user created by the package to be compliant with enterprise user management (UID/GID/shell/GECOS). \n Some time, the user can be created before installing the package, but some time it is not possible, as the user is hardcoded in postinstall script of package.\n\nThis code is working with agent 6.22, but not 6.23. (user/group abrt are not defined on server before run)\n\nOn 6.23 it works for the group (uses lgroupmod), but not for the user (wrongly uses luseradd) => incoherence.\n{code}  package { 'abrt':\n    ensure => 'present',\n  }\n  -> group { 'abrt':\n    ensure     => 'present',\n    gid        => '59998',\n    forcelocal => true,\n  }\n  -> user { 'abrt':\n    ensure     => 'present',\n    uid        => '59998',\n    gid        => '59998',\n    forcelocal => true,\n  }\n\n\nNotice: /Stage[main]/Unx_system::Crash_dump/Package[abrt]/ensure: created (corrective)\nNotice: /Stage[main]/Unx_system::Crash_dump/Group[abrt]/gid: gid changed '173' to 59998 (corrective)\nError: Could not create user abrt: Execution of '/usr/sbin/luseradd -g 59998 -d /etc/abrt -s /sbin/nologin -u 59998 -M abrt' returned 3: Account creation failed: entry already present in file.\nError: /Stage[main]/Unx_system::Crash_dump/User[abrt]/ensure: change from 'absent' to 'present' failed: Could not create user abrt: Execution of '/usr/sbin/luseradd -g 59998 -d /etc/abrt -s /sbin/nologin -u 59998 -M abrt' returned 3: Account creation failed: entry already present in file. (corrective)\n\n{code}", "created": "2021-11-08T09:01:00.000000"}], "components": [], "created": "2021-10-15T06:29:00.000000", "creator": "623c156e562ab90069f8b4fd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@76a11101"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0bu9k:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "This release moves the `ssh_authorized_key` resources creation moment at the end of the user type flow, after all user properties and parameters were resolved to avoid order dependency errors."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Nov/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_330025063_*|*_1_*:*_1_*:*_265607180_*|*_10007_*:*_1_*:*_1804855233_*|*_3_*:*_1_*:*_710315123_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1367858359"}], "description": "*Puppet Version: 7.8.0 6.23.0 6.24.0 6.24.1 6.25.1*\n *Puppet Server Version:* -\n *OS Name/Version: RHEL 7 RHEL 8 CENTOS 7 CENTOS 8*\n\nThe user resource is not working as expected since puppet agent 6.23/7.8.\n\nDuring a puppet run, if a user is created by any utility (package / exec), the puppet user resource try to luseradd the same user instead of lusermod as the user already exists.\n\n\u00a0\n\nThe following code:\n{code}\nexec { '/sbin/luseradd -u 50080 -M myuser': }\n-> user { 'myuser':\n  uid        => 50081,\n  forcelocal => true,\n}\n{code}\nproduce an error on user resource\n\n*Desired Behavior:*\n before version 6.23\n{code}\nNotice: /Stage[main]/Main/Exec[/sbin/luseradd -u 50080 -M myuser]/returns: executed successfully\nNotice: /Stage[main]/Main/User[myuser]/uid: uid changed '50080' to 50081\n{code}\n\u00a0\n\n*Actual Behavior:*\n version 6.23 and after\n{code}\nNotice: /Stage[main]/Main/Exec[/sbin/luseradd -u 50080 -M myuser]/returns: executed successfully\nError: Could not create user myuser: Execution of '/usr/sbin/luseradd -g myuser -u 50081 -M myuser' returned 3: Account creation failed: entry already present in file.\nError: /Stage[main]/Main/User[myuser]/ensure: change from 'absent' to 'present' failed: Could not create user myuser: Execution of '/usr/sbin/luseradd -g myuser -u 50081 -M myuser' returned 3: Account creation failed: entry already present in file.\n{code}\nSeem regression introduced by https://puppet.atlassian.net/browse/PUP-11067\n\nseems puppet 7.9 has fixed default behavior with https://puppet.atlassian.net/browse/PUP-11131 but not done on puppet 6. \n\nwith:\n{code:java}\n-      if !self[:purge_ssh_keys].empty?\n+     if !self[:purge_ssh_keys].empty? && self[:purge_ssh_keys] != :false\n           return [] if self[:ensure] == :present && !provider.exists?\n{code}\n\u00a0\n\n(I don't see exactly the link between the regression and this purge_ssh_keys setting, but changing this, is fixing it)\n\nBut if the purge_ssh_keys is set to true, it is not working anymore even in puppet 7.12 agent...\n{code}\nexec { '/sbin/luseradd -u 50080 -M myuser': }\n-> user { 'myuser':\n  uid            => 50081,\n  forcelocal     => true,\n  purge_ssh_keys => true,\n}\n{code}\n\n{code}\nNotice: /Stage[main]/Main/Exec[/sbin/luseradd -u 50080 -M myuser]/returns: executed successfully\nError: Could not create user myuser: Execution of '/usr/sbin/luseradd -g myuser -u 50081 -M myuser' returned 3: Account creation failed: entry already present in file.\nError: /Stage[main]/Main/User[myuser]/ensure: change from 'absent' to 'present' failed: Could not create user myuser: Execution of '/usr/sbin/luseradd -g myuser -u 50081 -M myuser' returned 3: Account creation failed: entry already present in file.\n\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24569", "fixedVersions": ["PUP 6.26.0", "PUP 7.13.1"], "id": "24569", "issueType": "Bug", "key": "PUP-11320", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c156e562ab90069f8b4fd", "resolution": "Fixed", "resolutionDate": "2021-12-06T01:33:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Regression on user resource", "timeSpent": "PT0S", "updated": "2021-12-14T10:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "557058:d266d245-5cba-4a99-842a-d1e061513459", "body": "Error info from \"fbs\" in puppet irc room:\n{code:java}\n```\nclass profile::prometheus::windows_exporter (){\n  service { 'test':\n    ensure  => 'running',\n    enable  => true,\n  }\n}\n``````\nrequire 'spec_helper'describe 'profile::prometheus::windows_exporter' do\n  test_on = {\n    hardwaremodels: 'x86_64',\n    supported_os: [{ 'operatingsystem' => 'windows' }],\n  }  on_supported_os(test_on).each do |os, os_facts|\n    let(:facts) do\n      os_facts.merge('kernel' => 'windows')\n    end    context \"on #{os}\" do\n      context 'enabled' do\n        it {\n          is_expected.to compile\n        }\n      end\n    end\n  end\nend\n```\n```\n  5) profile::prometheus::windows_exporter on windows-2012-x86_64 enabled is expected to compile into a catalogue without dependency cycles\n     Failure/Error: is_expected.to compile     NameError:\n       uninitialized constant Puppet::Util::Windows::Service\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/puppet-7.12.0/lib/puppet/provider/service/windows.rb:119:in `default_timeout'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/puppet-7.12.0/lib/puppet/type/service.rb:275:in `block (3 levels) in <module:Puppet>'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/puppet-7.12.0/lib/puppet/type.rb:844:in `set_default'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-puppet-2.10.0/lib/rspec-puppet/monkey_patches.rb:88:in `call'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-puppet-2.10.0/lib/rspec-puppet/monkey_patches.rb:88:in `block in <class:Type>'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/puppet-7.12.0/lib/puppet/type.rb:2485:in `block in set_parameters'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/puppet-7.12.0/lib/puppet/type.rb:2484:in `each'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/puppet-7.12.0/lib/puppet/type.rb:2484:in `set_parameters'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/puppet-7.12.0/lib/puppet/type.rb:2373:in `initialize'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/puppet-7.12.0/lib/puppet/resource.rb:475:in `new'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/puppet-7.12.0/lib/puppet/resource.rb:475:in `to_ral'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/puppet-7.12.0/lib/puppet/resource/catalog.rb:610:in `block in to_catalog'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/puppet-7.12.0/lib/puppet/resource/catalog.rb:602:in `each'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/puppet-7.12.0/lib/puppet/resource/catalog.rb:602:in `to_catalog'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/puppet-7.12.0/lib/puppet/resource/catalog.rb:495:in `to_ral'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-puppet-2.10.0/lib/rspec-puppet/matchers/compile.rb:149:in `cycles_found?'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-puppet-2.10.0/lib/rspec-puppet/matchers/compile.rb:25:in `matches?'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-expectations-3.10.1/lib/rspec/expectations/handler.rb:51:in `block in handle_matcher'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-expectations-3.10.1/lib/rspec/expectations/handler.rb:27:in `with_matcher'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-expectations-3.10.1/lib/rspec/expectations/handler.rb:48:in `handle_matcher'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-expectations-3.10.1/lib/rspec/expectations/expectation_target.rb:65:in `to'\n     # ~/s/prometheus/windows_exporter_spec.rb:27:in `block (5 levels) in <top (required)>'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/example.rb:262:in `instance_exec'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/example.rb:262:in `block in run'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/example.rb:508:in `block in with_around_and_singleton_context_hooks'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/example.rb:465:in `block in with_around_example_hooks'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/hooks.rb:486:in `block in run'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/hooks.rb:624:in `run_around_example_hooks_for'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/hooks.rb:486:in `run'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/example.rb:465:in `with_around_example_hooks'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/example.rb:508:in `with_around_and_singleton_context_hooks'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/example.rb:259:in `run'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/example_group.rb:644:in `block in run_examples'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/example_group.rb:640:in `map'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/example_group.rb:640:in `run_examples'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/example_group.rb:606:in `run'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/example_group.rb:607:in `block in run'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/example_group.rb:607:in `map'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/example_group.rb:607:in `run'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/example_group.rb:607:in `block in run'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/example_group.rb:607:in `map'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/example_group.rb:607:in `run'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:121:in `block (3 levels) in run_specs'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:121:in `map'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:121:in `block (2 levels) in run_specs'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/configuration.rb:2067:in `with_suite_hooks'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:116:in `block in run_specs'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/reporter.rb:74:in `report'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:115:in `run_specs'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:89:in `run'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:71:in `run'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:45:in `invoke'\n     # ~/.rvm/gems/ruby-2.7.3@puppet-7/gems/rspec-core-3.10.1/exe/rspec:4:in `<main>'\n``````\n$ gem list |grep -E 'puppet|rake|spec'\npathspec (1.0.0)\npuppet (7.12.0)\npuppet-blacksmith (6.1.1)\npuppet-debugger (1.2.0)\npuppet-lint (2.5.2)\npuppet-lint-duplicate_class_parameters-check (1.0.5)\npuppet-lint-param-docs (1.7.5)\npuppet-lint-param-types (0.0.1)\npuppet-lint-strict_indent-check (2.0.8)\npuppet-lint-template_file_extension-check (0.1.3)\npuppet-module-posix-default-r2.7 (1.1.1)\npuppet-module-posix-dev-r2.7 (1.1.1)\npuppet-module-posix-system-r2.7 (1.1.1)\npuppet-modulebuilder (0.3.0)\npuppet-resource_api (1.8.14)\npuppet-strings (2.8.0)\npuppet-syntax (3.1.0)\npuppet_forge (2.3.4)\npuppet_litmus (0.30.0)\npuppetfile-resolver (0.5.0)\npuppetlabs_spec_helper (3.0.0)\nrake (13.0.1, 12.3.3)\nrspec (3.10.0)\nrspec-core (3.10.1)\nrspec-expectations (3.10.1)\nrspec-its (1.3.0)\nrspec-mocks (3.10.2)\nrspec-puppet (2.10.0)\nrspec-puppet-facts (2.0.3)\nrspec-support (3.10.2)\nrspec_honeycomb_formatter (0.2.1)\nrspec_junit_formatter (0.4.1)\nrubocop-rspec (2.0.1)\nsemantic_puppet (1.0.4)\nserverspec (2.41.8)\nspecinfra (2.82.2)``` {code}", "created": "2021-10-14T15:06:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "This also affects Puppet 6.25.0 and is triggered by the default spec test provided by {{pdk new class}}. The issue is not specific to {{service}}, any resource type that is paired with providers will trigger this issue (e.g. {{notify}} is fine since it is a bare type).\n\n{noformat}\n$ pdk --version\n2.3.0\n\npdk test unit --puppet-version 6.x\npdk (INFO): Using Ruby 2.5.9\npdk (INFO): Using Puppet 6.25.0\n[\u2714] Preparing to run the unit tests.\n/opt/puppetlabs/pdk/private/ruby/2.5.9/bin/ruby -I/opt/puppetlabs/pdk/share/cache/ruby/2.5.0/gems/rspec-core-3.10.1/lib:/opt/puppetlabs/pdk/share/cache/ruby/2.5.0/gems/rspec-support-3.10.3/lib /opt/puppetlabs/pdk/share/cache/ruby/2.5.0/gems/rspec-core-3.10.1/exe/rspec --pattern spec/\\{aliases,classes,defines,functions,hosts,integration,plans,tasks,type_aliases,types,unit\\}/\\*\\*/\\*_spec.rb --format progress\nRun options: exclude {:bolt=>true}\nFF\n\nFailures:\n\n  1) win_spec_example on windows-10-x86_64 is expected to compile into a catalogue without dependency cycles\n     Failure/Error: it { is_expected.to compile }\n\n     NameError:\n       uninitialized constant Puppet::Util::Windows\n       Did you mean?  Windows\n     # ./spec/classes/win_spec_example_spec.rb:10:in `block (4 levels) in <top (required)>'\n\n  2) win_spec_example on windows-2019-x86_64 is expected to compile into a catalogue without dependency cycles\n     Failure/Error: it { is_expected.to compile }\n\n     NameError:\n       uninitialized constant Puppet::Util::Windows\n       Did you mean?  Windows\n     # ./spec/classes/win_spec_example_spec.rb:10:in `block (4 levels) in <top (required)>'\n\nFinished in 2.66 seconds (files took 7.09 seconds to load)\n2 examples, 2 failures\n\nFailed examples:\n\nrspec './spec/classes/win_spec_example_spec.rb[1:1:1]' # win_spec_example on windows-10-x86_64 is expected to compile into a catalogue without dependency cycles\nrspec './spec/classes/win_spec_example_spec.rb[1:2:1]' # win_spec_example on windows-2019-x86_64 is expected to compile into a catalogue without dependency cycles\n\n/opt/puppetlabs/pdk/private/ruby/2.5.9/bin/ruby -I/opt/puppetlabs/pdk/share/cache/ruby/2.5.0/gems/rspec-core-3.10.1/lib:/opt/puppetlabs/pdk/share/cache/ruby/2.5.0/gems/rspec-support-3.10.3/lib /opt/puppetlabs/pdk/share/cache/ruby/2.5.0/gems/rspec-core-3.10.1/exe/rspec --pattern spec/\\{aliases,classes,defines,functions,hosts,integration,plans,tasks,type_aliases,types,unit\\}/\\*\\*/\\*_spec.rb --format progress failed\n{noformat}", "created": "2022-01-31T11:25:00.000000"}], "components": [], "created": "2021-10-13T08:16:00.000000", "creator": "6220db96c4d0fe0069535219", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@e929a79"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0bt3c:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "This release moves the `DEFAULT_TIMEOUT` constant from `lib/puppet/util/windows/service.rb` to `lib/puppet/util/windows.rb` in an non-OS specifically guarded code area. This avoids `uninitialized constant` errors when compiling catalogs on non-Windows operating systems. "}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Oct/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_38758_*|*_1_*:*_1_*:*_158221122_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_249771265"}], "description": "Hi,\n\nWhen updating the puppet gem from 7.11 --> 7.12, we are now seeing rspec-puppet (via onceover) failures for all Windows related tests:\n{code:java}\nrole::windows::hyperv: failed\n  errors:\n    uninitialized constant Puppet::Util::Windows::Service\n      factsets: windows-2016-x86_64\n{code}\nAt a quick glance I didn't find any of our currently used modules using that, but will keep looking for any helpful information to provide.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23478", "fixedVersions": ["PUP 6.25.1", "PUP 7.12.1"], "id": "23478", "issueType": "Bug", "key": "PUP-11319", "labels": ["customer0", "doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "High (migrated)", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6220db96c4d0fe0069535219", "resolution": "Fixed", "resolutionDate": "2021-10-18T01:36:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Updated puppet gem and rspec-puppet Failures", "timeSpent": "PT0S", "updated": "2022-01-31T12:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/bc8f433a41a00b34cf4fbadc1354fa53db2a525c", "created": "2021-10-18T16:31:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 8b4331b9f5", "created": "2021-10-20T13:21:00.000000"}], "components": [], "created": "2021-10-12T09:35:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5d70787c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11073"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0bsaw:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Reduces memory usage when parsing manifests."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_161429154_*|*_1_*:*_1_*:*_244686_*|*_10007_*:*_1_*:*_277930899_*|*_3_*:*_1_*:*_265174121_*|*_5_*:*_1_*:*_0"}], "description": "lib/puppet/pops/parser/code_merger.rb calls Array#+ which makes an unnecessary copy of parse results. It should call Array#flat_map instead.", "epicLinkSummary": "Reduce memory usage", "estimate": "PT0S", "externalId": "20228", "fixedVersions": ["PUP 6.26.0", "PUP 7.13.0"], "id": "20228", "issueType": "Bug", "key": "PUP-11318", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": "21340", "parentSummary": "Reduce memory usage", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-10-20T13:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "puppet code merger should use concat not plus", "timeSpent": "PT0S", "updated": "2021-12-07T21:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-10-06T03:45:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "provide acceptance for an in-product {{noop() }}function (effective implementation to be part of https://puppet.atlassian.net/browse/PUP-11023)"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3f2fa"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0bo03:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_57394_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1202645396"}], "description": "We should provide an in-product {{noop()}} function which can be called directly, affecting class scope, or with a block, affecting that block's scope.\n\nIn order to do this in https://puppet.atlassian.net/browse/PUP-11023, we should get a better understanding of Forge module [trlinkin-noop|https://forge.puppet.com/modules/trlinkin/noop] and how it is used on [https://forge.puppet.com/modules/reidmv/change_risk]\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21361", "fixedVersions": [], "id": "21361", "issueType": "Task", "key": "PUP-11316", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "resolution": "Won't Do", "resolutionDate": "2021-10-20T01:50:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "(spike) study existing noop() function solutions", "timeSpent": "PT0S", "updated": "2021-10-20T01:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The issue is {{on_initialize_and_write}} hooks are called at the start of every test, so we're calling require/require_relative about ~40k times.\n\nAlso the factpath setting has a similar hook and we keep appending the same 2 directories to the facter search path.", "created": "2021-10-05T14:55:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/b5e3d4e5a206010119f4c67b36c94983cae32d65", "created": "2021-10-07T03:01:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed in 8112a59212a", "created": "2021-10-08T20:46:00.000000"}], "components": [], "created": "2021-10-05T10:23:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3602bcba"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11073"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0bn0z:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Oct/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_150246185_*|*_1_*:*_1_*:*_40430442_*|*_10007_*:*_1_*:*_103421823_*|*_3_*:*_1_*:*_2477602_*|*_5_*:*_1_*:*_0"}], "description": "Calling require/require_relative inside of the storeconfigs setting hook is really slow on Windows: https://github.com/puppetlabs/puppet/blob/75737603872883d8d72224e2a6857804938f9634/lib/puppet/defaults.rb#L2122-L2123\n\nIt appears to add several minutes to the overall rspec time on Windows.\n\n", "epicLinkSummary": "Reduce memory usage", "estimate": "PT0S", "externalId": "29827", "fixedVersions": ["PUP 6.26.0", "PUP 7.13.0"], "id": "29827", "issueType": "Bug", "key": "PUP-11314", "labels": [], "originalEstimate": "PT0S", "parent": "21340", "parentSummary": "Reduce memory usage", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-10-08T20:46:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Requiring files inside settings hook is slow on Windows", "timeSpent": "PT0S", "updated": "2021-10-08T20:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/5a86a5f79563abbada2b29e01bfed3b05e69db6e", "created": "2021-11-18T08:59:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in fb4a1dc506", "created": "2021-11-19T09:30:00.000000"}], "components": [], "created": "2021-10-01T10:42:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@42b54f24"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11073"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0bkpn:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Reduces the number of Pathname allocations when parsing puppet manifests."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_88460449_*|*_1_*:*_1_*:*_250523942_*|*_10007_*:*_1_*:*_2648369364_*|*_3_*:*_1_*:*_618371908_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_627250674"}], "description": "There are a few different places where we make excessive numbers of Pathname objects and resulting Strings:\n\n1. Most of Puppet's FileSystem methods make two copies of their string arguments. Once to create the Pathname instance (via assert_path) and another when ruby's File.xxx method calls {{Pathname#to_path}} to get the original string back.\n\n2. Some of Puppet's FileSystem implementation, eg {{Windows#replace_file}}, methods call \"back out\" to {{Puppet::FileSystem.replace_file}}, which makes another copy of Pathname instead of using the existing instance.\n\n3. {{Checker4_0#namespace_for_file(file)}} creates N Pathname instances (one for each module path directory in the environment) for each file argument. And then calls {{Pathname#cleanpath}} and  {{Pathname#relative_path_from}}, both of which resolve each path component, e.g. \"/a/b/c/d/etc\" is copied to \"/a/b/c/d\", \"/a/b/c\", \"/a/b\", \"/a\", \"\". The mapping of {{file}} to {{namespace}} is cached in the environment, but if you have M files in an environment, then we get N * M Pathname instances and N * M * P string copies.\n\n4. {{PathNamePattern}} calls {{Pathname.each_filename}} to determine if any path component contains {{..}}. That ends up calling {{Pathname#chop_basename}}. We should just call {{String.split}}. It also calls {{Pathname#to_s}} multiple times during validation.", "epicLinkSummary": "Reduce memory usage", "estimate": "PT0S", "externalId": "20225", "fixedVersions": ["PUP 7.13.0"], "id": "20225", "issueType": "Bug", "key": "PUP-11312", "labels": [], "originalEstimate": "PT0S", "parent": "21340", "parentSummary": "Reduce memory usage", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-11-19T09:32:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Puppet creates excessive numbers of Pathname instances", "timeSpent": "PT0S", "updated": "2021-11-19T09:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/7e27404bb33a06d60fdb3f793be46576efb4a657", "created": "2021-10-05T22:44:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed in 7e27404bb3", "created": "2021-10-07T14:19:00.000000"}], "components": [], "created": "2021-10-01T10:06:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2347692c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11073"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0bkoj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Backported ruby patch to Pathname.absolute? to reduce memory usage"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Oct/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_142493146_*|*_1_*:*_1_*:*_9263821_*|*_10007_*:*_1_*:*_381815291_*|*_5_*:*_1_*:*_0"}], "description": "Pathname.absolute?('/a/b/c/etc') makes recursively smaller copies of the path, e.g. '/a/b/c', '/a/b', '/a', '', which leads to excessive numbers of temporary strings. Pathname was fixed upstream and that was included in ruby 3.0, but it would be good to apply the same to our 2.x builds:\n\nSee https://github.com/ruby/ruby/commit/39312cf4d6c2ab3f07d688ad1a467c8f84b58db0\n\n\u00a0", "epicLinkSummary": "Reduce memory usage", "estimate": "PT0S", "externalId": "25579", "fixedVersions": ["PUP 7.13.0"], "id": "25579", "issueType": "Bug", "key": "PUP-11311", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": "21340", "parentSummary": "Reduce memory usage", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-10-07T14:19:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Reduce memory usage from Pathname absolute?", "timeSpent": "PT0S", "updated": "2021-12-07T21:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6243b4d8f407980070557737", "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:6243b4d8f407980070557737], the issue is reported for an unsupported puppet-agent version (3.6.2). Please update to an supported version:\u00a0https://puppet.com/docs/puppet/7/platform_lifecycle.html#about_agent", "created": "2021-09-24T05:26:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I'm going to close this out. If you run into cert related problems reach out on slack, as I'm sure folks there can help.", "created": "2021-09-24T16:11:00.000000"}], "components": [], "created": "2021-09-24T00:41:00.000000", "creator": "6243b4d8f407980070557737", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@54ba7473"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "CentOS 7"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0bfij:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Sep/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_17117347_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_38687960"}], "description": "The puppet version of\u00a0 server is 6.15.0\n\nThe puppet version of client is 3.6.2\n\nThe client keeps reporting errors\uff1aCould not request certificate :ssl_connect returned =1  error=0 certificate verify failed:signed certificate in certificate chain for /CN=Puppet Root CA:320F52667ac69b]\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22475", "fixedVersions": [], "id": "22475", "issueType": "Bug", "key": "PUP-11264", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Critical", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6243b4d8f407980070557737", "resolution": "Incomplete", "resolutionDate": "2021-09-24T16:11:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "certificate verify failed :self certificate in certificate chain for /CN=Puppet Root", "timeSpent": "PT0S", "updated": "2021-09-26T01:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is due to PUP-3995. It used to be that classes with the same name as the host in site.pp were silently ignored. For example:\n\n{code:puppet}\n node 'abc' { include abc }\n{code}", "created": "2021-09-22T14:30:00.000000"}, {"author": "557058:9897ed4b-0fda-48a6-ad3d-69c8898430aa", "body": "Thanks [~accountid:63d40628f6e1b543161789a7]\u00a0for response.\n\nSo what is the suggested solution now? We are migrating to puppet 7.x from 6.x and we getting those name collisions. As for now I replaced the node definitions with `regex` and it helps, but is it the right way for handling this?", "created": "2021-09-23T09:18:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I would only expect the error to be raised if the node name matched the top-level class name, since previously the class was completely ignored, but only for that one host.\n\nI wouldn't expect node 'prometheus' to conflict with class 'role::prometheus', since we keep track of the class' namespace. That said, I'm not able to reproduce:\n{noformat}# rpm -qa | grep puppet\npuppetserver-7.4.1-0.1SNAPSHOT.2021.09.21T2216.el8.noarch\npuppet-agent-7.11.0-1.el8.x86_64\npuppet-nightly-release-1.0.0-18.el8.noarch\n# find /etc/puppetlabs/code/environments/production/ -type f\n/etc/puppetlabs/code/environments/production/hiera.yaml\n/etc/puppetlabs/code/environments/production/manifests/site.pp\n/etc/puppetlabs/code/environments/production/environment.conf\n/etc/puppetlabs/code/environments/production/site/role/manifests/prometheus.pp\n# cat /etc/puppetlabs/code/environments/production/manifests/site.pp\nnode 'prometheus' { \n  include role::prometheus\n}\n# cat /etc/puppetlabs/code/environments/production/environment.conf\nmodulepath = site:modules:$basemodulepath\n# cat /etc/puppetlabs/code/environments/production/site/role/manifests/prometheus.pp\nclass role::prometheus() {\n  notify { 'in prometheus': }\n}\n# puppet agent -t --certname prometheus\nInfo: Using environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Caching catalog for prometheus\nInfo: Applying configuration version '1632808039'\nNotice: in prometheus\nNotice: /Stage[main]/Role::Prometheus/Notify[in prometheus]/message: defined 'message' as 'in prometheus'\n{noformat}", "created": "2021-09-27T23:46:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I'm going to close this since I couldn't reproduce. Please reopen with steps to repro if it's still an issue.", "created": "2022-02-23T19:21:00.000000"}], "components": [], "created": "2021-09-22T05:48:00.000000", "creator": "557058:9897ed4b-0fda-48a6-ad3d-69c8898430aa", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1249cb3f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0bda3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Sep/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_496752182_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_12861234252"}], "description": "*Puppet Version:*\n *Puppet Server Version:*\n *OS Name/Version:*\n \u00a0\n Specifying a node definition, like\n \u00a0\n{code:java}node 'prometheus' { \n   include role::prometheus\n} \u00a0\n{code}\n\u00a0\n when there is also *{{prometheus}}*\u00a0class with the same name, will cause Runtime error.\n\nIn puppet 6.x this worked without issues.\n\nif I just change it to regex, like below\n\n\u00a0\n{code:java}node /^prometheus$/ { \n   include role::prometheus\n} \u00a0{code}\nIt works.\n\n\u00a0\n\n*Desired Behavior:*\n\nIt should work like it was working with puppet 6.x. Unless there is a reason it doesn't.\u00a0\n\nI couldn't find anything about this in migration guide.\u00a0\n\n\u00a0\n\n*Here is the error I get:*\n\n\u00a0\n{code:java}Error: Node 'prometheus' is already defined (file: /opt/puppet/code/manifests/site.pp, line: 28); cannot be redefined as a class (file: /opt/bringg/puppet/vendor/librarian/puppet/modules/prometheus/manifests/init.pp, line: 219) ...{code}\n\u00a0\n\n*Here is full stacktrace from the {{agent apply}}*\n{code:java}/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/errors.rb:157:in `fail'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type_collection.rb:219:in `dupe_check'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type_collection.rb:65:in `add_hostclass'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type_collection.rb:56:in `block in add'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type_collection.rb:55:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type_collection.rb:55:in `add'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type_collection.rb:35:in `block in import_ast'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type_collection.rb:34:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type_collection.rb:34:in `import_ast'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/type_loader.rb:131:in `block in load_files'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/type_loader.rb:130:in `collect'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/type_loader.rb:130:in `load_files'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/type_loader.rb:98:in `import_from_modules'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/type_loader.rb:68:in `block in try_load_fqname'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/type_loader.rb:66:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/type_loader.rb:66:in `try_load_fqname'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type_collection.rb:203:in `block in find_or_load'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/concurrent/lock.rb:10:in `synchronize'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type_collection.rb:188:in `find_or_load'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type_collection.rb:148:in `find_hostclass'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_resource_support.rb:16:in `block in create_resources'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_resource_support.rb:15:in `collect'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_resource_support.rb:15:in `create_resources'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:340:in `create_resources'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:884:in `block in eval_ResourceExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:881:in `map'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:881:in `eval_ResourceExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:679:in `block in eval_BlockExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:679:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:679:in `reduce'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:679:in `eval_BlockExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/parser/evaluating_parser.rb:60:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:27:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:63:in `block (2 levels) in evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:62:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:62:in `block in evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:61:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:61:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast.rb:30:in `safeevaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type.rb:80:in `evaluate_code'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/resource.rb:79:in `block in evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/resource.rb:71:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:259:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:259:in `evaluate_classes'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/functions/include.rb:48:in `include'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatch.rb:60:in `invoke'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:43:in `block in dispatch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:42:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:42:in `dispatch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:46:in `block in call'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:45:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:45:in `call'\n/opt/bringg/puppet/modules/role/manifests/generic.pp:5\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/puppet_stack.rb:42:in `stack'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:305:in `block in call_function'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:303:in `call_function'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:995:in `call_function_with_block'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:964:in `eval_CallNamedFunctionExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:679:in `block in eval_BlockExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:679:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:679:in `reduce'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:679:in `eval_BlockExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/parser/evaluating_parser.rb:60:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:27:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:63:in `block (2 levels) in evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:62:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:62:in `block in evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:61:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:61:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast.rb:30:in `safeevaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type.rb:80:in `evaluate_code'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/resource.rb:79:in `block in evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/resource.rb:71:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:259:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:259:in `evaluate_classes'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/functions/include.rb:48:in `include'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatch.rb:60:in `invoke'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:43:in `block in dispatch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:42:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:42:in `dispatch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:46:in `block in call'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:45:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:45:in `call'\n/opt/bringg/puppet/manifests/site.pp:39\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/puppet_stack.rb:42:in `stack'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:305:in `block in call_function'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:303:in `call_function'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:995:in `call_function_with_block'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:964:in `eval_CallNamedFunctionExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:49:in `block in visit_this'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:43:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:43:in `visit_this'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:96:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:679:in `block in eval_BlockExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:679:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:679:in `reduce'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:679:in `eval_BlockExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/parser/evaluating_parser.rb:60:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:27:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast.rb:30:in `safeevaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type.rb:80:in `evaluate_code'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/resource.rb:79:in `block in evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/resource.rb:71:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:225:in `evaluate_ast_node'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:134:in `block (2 levels) in compile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:134:in `block in compile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:302:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:123:in `compile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:34:in `compile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:328:in `block (2 levels) in compile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:326:in `block in compile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:233:in `block in benchmark'\n/opt/puppetlabs/puppet/lib/ruby/2.7.0/benchmark.rb:308:in `realtime'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:232:in `benchmark'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:324:in `compile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:68:in `block in find'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/node/environment.rb:440:in `with_text_domain'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:64:in `find'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:223:in `find'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/apply.rb:237:in `block in main'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:302:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/apply.rb:212:in `main'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/apply.rb:182:in `run_command'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:421:in `block in run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:744:in `exit_on_fail'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:421:in `run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:143:in `run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:77:in `execute'\n/opt/puppetlabs/puppet/bin/puppet:5:in `<main>'{code}\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27657", "fixedVersions": [], "id": "27657", "issueType": "Bug", "key": "PUP-11263", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9897ed4b-0fda-48a6-ad3d-69c8898430aa", "resolution": "Cannot Reproduce", "resolutionDate": "2022-02-23T19:22:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Node name can be conflicted with class name", "timeSpent": "PT0S", "updated": "2022-02-23T19:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-09-16T15:36:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@676cf584"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11253"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b9dn:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1230185952_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3440642403"}], "description": "(Initial planned release date: 2021-10-12)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2021-10-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "22474", "fixedVersions": [], "id": "22474", "issueType": "Task", "key": "PUP-11262", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20219", "parentSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Fixed", "resolutionDate": "2021-11-09T16:04:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 6.25.0)", "timeSpent": "PT0S", "updated": "2021-11-09T16:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-09-16T15:36:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@86e000e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11253"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b9df:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1230194375_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3440632029"}], "description": "(Initial planned release date: 2021-10-12)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n", "duedate": "2021-10-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "21356", "fixedVersions": [], "id": "21356", "issueType": "Task", "key": "PUP-11261", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20219", "parentSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Fixed", "resolutionDate": "2021-11-09T16:04:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 6.25.0)", "timeSpent": "PT0S", "updated": "2021-11-09T16:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-09-16T15:36:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@54223986"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11253"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b9cz:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1936_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_4670824421"}], "description": "(Initial planned release date: 2021-10-12)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 6.25.0 is now available\".\n", "duedate": "2021-10-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "29808", "fixedVersions": [], "id": "29808", "issueType": "Task", "key": "PUP-11260", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20219", "parentSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Fixed", "resolutionDate": "2021-11-09T16:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Send release announcement (Puppet Platform 6.25.0)", "timeSpent": "PT0S", "updated": "2021-11-09T16:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [], "components": [], "created": "2021-09-16T15:36:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2f1d75cb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11253"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b9cj:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2289987281_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-10-12)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2021-10-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "27655", "fixedVersions": [], "id": "27655", "issueType": "Task", "key": "PUP-11259", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20219", "parentSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Fixed", "resolutionDate": "2021-10-13T03:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 6.25.0)", "timeSpent": "PT0S", "updated": "2021-10-13T03:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-09-16T15:36:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3cefc37a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11253"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b9cb:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1230213618_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3440376758"}], "description": "(Initial planned release date: 2021-10-12)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2021-10-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "26602", "fixedVersions": [], "id": "26602", "issueType": "Task", "key": "PUP-11258", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20219", "parentSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Fixed", "resolutionDate": "2021-11-09T15:59:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 6.25.0)", "timeSpent": "PT0S", "updated": "2021-11-09T15:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "The next release in the Puppet 6 series, Puppet 6.25.0, is now available!\n\nThe release contains new features, minor enhancements, and bug fixes including:\n * \n\nFor the full list of changes, check out the release notes:\u00a0[https://puppet.com/docs/puppet/6/release_notes_osp.html|https://puppet.com/docs/puppet/latest/release_notes_osp.html]", "created": "2021-10-11T08:44:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89]\u00a0[~accountid:557058:613151bd-b161-4bc3-9e32-335fdcef4d89]\u00a0[~accountid:70121:b92a8953-f29c-406d-a628-2e9b7468e50d]\n\nPlease add any other changes that you want to call out to the highlights above. Thanks!", "created": "2021-10-11T08:45:00.000000"}, {"author": "557058:613151bd-b161-4bc3-9e32-335fdcef4d89", "body": "The only thing worth calling out is probably\n\n* Added an optimization to improve the performance of the {{inventory}} endpoint when filtering on a {{trusted}} fact.\n\n", "created": "2021-10-12T14:50:00.000000"}], "components": [], "created": "2021-09-16T15:36:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@72205a2c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11253"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b9bv:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Oct/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2289992475_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-10-12)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:60e4906e4134aa006931a5d6] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2021-10-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "24558", "fixedVersions": [], "id": "24558", "issueType": "Task", "key": "PUP-11257", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20219", "parentSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Fixed", "resolutionDate": "2021-10-13T03:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare release announcement (Puppet Platform 6.25.0)", "timeSpent": "PT0S", "updated": "2021-10-13T03:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "For Agent:\n\n* Environment Convergence\n\n* Improved compiler memory allocation (PUP-11232)\n\n* New Platforms:\nRocky 8 (x86_64)\nAlmaLinux 8 (x86_64)\nUbuntu 18.04 (aarch64)\n\n* Removed Platforms:\nRHEL5\nFedora 30, 31\nOSX 10.14", "created": "2021-10-08T17:17:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Release notes draft:\u00a0https://docs.google.com/document/d/1wM-p3a8lkm7DQQcnM0GJBsLGHa98k21uzSJ8Q5Bnh58/edit", "created": "2021-10-11T08:35:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Here are all the things going out in Puppet Server 6.17.0 (most of these shipped in Puppet Server 7.4.0 and are now being released in our LTS stream):\n * The time to retrieve a list of pending CSRs from the certificate_statuses endpoint no longer slows proportionally to the number of CSRs and signed certificates.\n\n * Attempting to revoke an already revoked certificate is now a no-op and will not add a new entry to the CRL.\n\n * The v4 catalog endpoint now supports arbitrary fact termini.\n\n * Bolt task file endpoints now respect the special scripts directory within a project.\n\n * AST compilation now has more robust environment support.\n\n * The CA subcommand of the puppetserver cli tool now has a \"purge\" action to clean duplicate CRL entries.\n\n * The CA subcommand of the puppetserver cli tool's \"generate\" action has a \"\u2013force\" flag to allow generation even when safety checks have failed.\n\n * TLS v1.3 is now enabled by default.\n\n * Dependency bumps improve behavior on FIPS, resolve warnings in Java 9+, and update Jetty to v9.4.43.\n\n\u00a0\n\nOf those, I would put three call outs (all previously released in 7.x):\n * TLS v1.3 is enabled by default\n\n * The CA no longer produces duplicate CRL entries when revoking already revoked certificates.\n\n * The CA command line tool can purge duplicates from existing CRLs.", "created": "2021-10-11T12:42:00.000000"}], "components": [], "created": "2021-09-16T15:36:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@65beb7df"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11253"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b9bn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Oct/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2134741336_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-10-12)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2021-10-02T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "23473", "fixedVersions": [], "id": "23473", "issueType": "Task", "key": "PUP-11256", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20219", "parentSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Fixed", "resolutionDate": "2021-10-11T08:35:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 6.25.0)", "timeSpent": "PT0S", "updated": "2021-10-11T12:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-09-16T15:36:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2ee8e5bc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11253"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b9bf:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1230217022_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_675296520"}], "description": "(Initial planned release date: 2021-10-12)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2021-09-30T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "22473", "fixedVersions": [], "id": "22473", "issueType": "Task", "key": "PUP-11255", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20219", "parentSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Done", "resolutionDate": "2021-10-08T16:54:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 6.25.0)", "timeSpent": "PT0S", "updated": "2021-10-08T16:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-09-16T15:36:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@57fd7157"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11253"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b9b7:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1230229240_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_396002066"}], "description": "(Initial planned release date: 2021-10-12)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 6.25.0 and puppet-agent 6.25.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2021-09-30T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "21355", "fixedVersions": [], "id": "21355", "issueType": "Task", "key": "PUP-11254", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20219", "parentSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Done", "resolutionDate": "2021-10-05T11:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 6.25.0)", "timeSpent": "PT0S", "updated": "2021-10-05T11:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-09-16T15:36:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@65c3d3ce"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-10"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 6.25.0 Release - 2021-10-12\n"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "blue"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b9az:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1230367764_*|*_6_*:*_1_*:*_0_*|*_10015_*:*_1_*:*_3440511732"}], "description": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "duedate": "2021-10-12T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20219", "fixedVersions": [], "id": "20219", "issueType": "Epic", "key": "PUP-11253", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Fixed", "resolutionDate": "2021-11-09T16:04:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "timeSpent": "PT0S", "updated": "2021-11-30T22:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-09-16T15:26:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1fdfb324"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11243"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b95n:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1230802664_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3440589746"}], "description": "(Initial planned release date: 2021-10-12)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2021-10-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "26599", "fixedVersions": [], "id": "26599", "issueType": "Task", "key": "PUP-11252", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25574", "parentSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Fixed", "resolutionDate": "2021-11-09T16:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 7.12.0)", "timeSpent": "PT0S", "updated": "2021-11-09T16:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-09-16T15:26:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7f84f4e0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11243"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b95f:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1230804985_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3440580189"}], "description": "(Initial planned release date: 2021-10-12)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n", "duedate": "2021-10-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "25575", "fixedVersions": [], "id": "25575", "issueType": "Task", "key": "PUP-11251", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25574", "parentSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Fixed", "resolutionDate": "2021-11-09T16:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 7.12.0)", "timeSpent": "PT0S", "updated": "2021-11-09T16:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-09-16T15:26:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@10961dc5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11243"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b957:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1862_*|*_6_*:*_2_*:*_147375_*|*_10006_*:*_1_*:*_4671245755"}], "description": "(Initial planned release date: 2021-10-12)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 7.12.0 is now available\".\n", "duedate": "2021-10-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "24557", "fixedVersions": [], "id": "24557", "issueType": "Task", "key": "PUP-11250", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25574", "parentSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Fixed", "resolutionDate": "2021-11-09T16:00:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Send release announcement (Puppet Platform 7.12.0)", "timeSpent": "PT0S", "updated": "2021-11-09T16:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [], "components": [], "created": "2021-09-16T15:26:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2051823d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11243"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b94r:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2290588883_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-10-12)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2021-10-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "22472", "fixedVersions": [], "id": "22472", "issueType": "Task", "key": "PUP-11249", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25574", "parentSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Fixed", "resolutionDate": "2021-10-13T03:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 7.12.0)", "timeSpent": "PT0S", "updated": "2021-10-13T03:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-09-16T15:26:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@703ed971"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11243"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b94j:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1230817415_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3440377126"}], "description": "(Initial planned release date: 2021-10-12)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2021-10-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "21354", "fixedVersions": [], "id": "21354", "issueType": "Task", "key": "PUP-11248", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25574", "parentSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Fixed", "resolutionDate": "2021-11-09T15:59:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 7.12.0)", "timeSpent": "PT0S", "updated": "2021-11-09T15:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "6323aedbed8abffd7ffdf0ce", "body": "[~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1]\u00a0- can we pull in the due date for this by a few days (maybe by Friday, Oct 8th)? Last time we didn't have enough time to get additions from the eng leads.\u00a0", "created": "2021-10-06T16:17:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "\u00a0\n * New Platforms:\nRocky 8 (x86_64)\nAlmaLinux 8 (x86_64)\n\n * Improved compiler memory allocation (PUP-11232)\n\n * Iterative functions (reduce, merge, etc) are much faster (PUP-9561)\n\n * Fixes a regression when running on Windows 8.3 paths introduced in 7.9.0 (PUP-11184)", "created": "2021-10-08T17:20:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:6323aedbed8abffd7ffdf0ce]\u00a0Sorry I missed your message, here it is:\n\nThe next release in the Puppet 7 series, Puppet 7.12.0, is now available!\n\nThe release contains new features, minor enhancements, and bug fixes including:\n * Support for Rocky 8 (x86_64) and AlmaLinux 8 (x86_64)\n * Improved compiler memory allocation\u00a0\n * Faster iterative functions, including reduce and merge\n * A fixed regression when running on Windows 8.3 paths introduced in 7.9.0\u00a0\n\nFor the full list of changes, check out the release notes:\u00a0[https://puppet.com/docs/puppet/latest/release_notes_osp.html]", "created": "2021-10-11T08:42:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] [~accountid:557058:613151bd-b161-4bc3-9e32-335fdcef4d89] [~accountid:70121:b92a8953-f29c-406d-a628-2e9b7468e50d]\n\nPlease add any other changes that you want to call out to the highlights above. Thanks!", "created": "2021-10-11T08:43:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "These are the changes in 7.4.1:\n\n* The v4 catalog endpoint now supports arbitrary fact termini.\n\n* Support TLS v1.3 in FIPS.\n\n\u00a0\n\nBoth of those are essentially PE only features and I would not put out any Server highlights for this release.", "created": "2021-10-11T12:52:00.000000"}, {"author": "557058:613151bd-b161-4bc3-9e32-335fdcef4d89", "body": "The only thing worth calling out is probably\n\n* Added an optimization to improve the performance of the {{inventory}} endpoint when filtering on a {{trusted}} fact.", "created": "2021-10-12T14:49:00.000000"}], "components": [], "created": "2021-09-16T15:26:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@787491e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11243"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b943:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Oct/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2290592700_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-10-12)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:60e4906e4134aa006931a5d6] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2021-10-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "29807", "fixedVersions": [], "id": "29807", "issueType": "Task", "key": "PUP-11247", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25574", "parentSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Fixed", "resolutionDate": "2021-10-13T03:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare release announcement (Puppet Platform 7.12.0)", "timeSpent": "PT0S", "updated": "2021-10-13T03:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Draft:\u00a0https://docs.google.com/document/d/1T3UAm_WczmRlvV36sCL_dN5kkELj6iAIcZOMQtE3ZHs/edit", "created": "2021-10-07T08:25:00.000000"}], "components": [], "created": "2021-09-16T15:26:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2beb7634"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11243"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b93v:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Oct/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1789151912_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-10-12)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2021-10-03T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "28834", "fixedVersions": [], "id": "28834", "issueType": "Task", "key": "PUP-11246", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25574", "parentSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Fixed", "resolutionDate": "2021-10-07T08:25:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 7.12.0)", "timeSpent": "PT0S", "updated": "2021-10-07T08:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-09-16T15:26:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2d18c7b7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11243"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b93n:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1230828669_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_675275535"}], "description": "(Initial planned release date: 2021-10-12)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2021-10-01T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "27654", "fixedVersions": [], "id": "27654", "issueType": "Task", "key": "PUP-11245", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25574", "parentSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Done", "resolutionDate": "2021-10-08T16:54:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 7.12.0)", "timeSpent": "PT0S", "updated": "2021-10-08T16:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-09-16T15:26:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5650ef3c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11243"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b93f:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1230834822_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_396122162"}], "description": "(Initial planned release date: 2021-10-12)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 7.12.0 and puppet-agent 7.12.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2021-10-01T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "26596", "fixedVersions": [], "id": "26596", "issueType": "Task", "key": "PUP-11244", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25574", "parentSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Done", "resolutionDate": "2021-10-05T11:22:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 7.12.0)", "timeSpent": "PT0S", "updated": "2021-10-05T11:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-09-16T15:26:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@133d11d0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-6"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 7.12.0 Release - 2021-10-12\n"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "green"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b937:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1230974270_*|*_6_*:*_1_*:*_0_*|*_10015_*:*_1_*:*_3440464105"}], "description": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "duedate": "2021-10-12T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25574", "fixedVersions": [], "id": "25574", "issueType": "Epic", "key": "PUP-11243", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Fixed", "resolutionDate": "2021-11-09T16:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "timeSpent": "PT0S", "updated": "2021-11-30T22:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "602cd85ac0b285006f4f1dc7", "attachments": [], "comments": [{"author": "602cd85ac0b285006f4f1dc7", "body": "[~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1]", "created": "2021-09-22T05:25:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Added to the preview docs.", "created": "2021-10-07T08:31:00.000000"}], "components": [], "created": "2021-09-16T06:27:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6bc3a685"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4002"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b7zf:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Sep/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2208_*|*_5_*:*_2_*:*_172107970_*|*_10006_*:*_2_*:*_933199987"}], "description": "Update Public-facing Puppet docs to include this platform\n\nThis ticket will be set with the fix version of the first release containing the new platform and checked with doc team during the Platform release process.\n", "epicLinkSummary": "Add AlmaLinux 8(x86_64) FOSS support", "estimate": "PT0S", "externalId": "21353", "fixedVersions": ["PUP 6.25.0", "PUP 7.12.0"], "id": "21353", "issueType": "Task", "key": "PUP-11242", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": "57642", "parentSummary": "Add AlmaLinux 8(x86_64) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "resolution": "Fixed", "resolutionDate": "2021-09-29T01:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Update Public-facing Puppet docs to include AlmaLinux 8(x86_64)", "timeSpent": "PT0S", "updated": "2021-10-07T08:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "body": "I've put up a proposed patch here: https://github.com/puppetlabs/puppet/pull/8767", "created": "2021-09-15T14:41:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/62c2cba0d7bfd61715e40d3720416b9bab8dc70b\n\nThanks [~accountid:557058:bb372eb8-0089-49ba-8b22-213d5bf560f6]!", "created": "2021-09-17T05:39:00.000000"}], "components": [], "created": "2021-09-14T19:03:00.000000", "creator": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27aef231"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Community Contributors", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "natemccurdy"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "CentOS 7"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b6tv:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fix an issue where setting `forcelocal => true` on an user resource would still check the resource's `home` and `shell` attributes against their values from the directory service provider. Contributed by community member natemccurdy"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Sep/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_346336008_*|*_1_*:*_1_*:*_210944717_*|*_5_*:*_1_*:*_0"}], "description": "*Puppet Version:* 6.19.1, 7.9.0\n*Puppet Server Version:* N/A\n*OS Name/Version:* CentOS 7\n\nWhen setting {{forcelocal => true}} on a {{user}} resource, I'd expect all user attributes available via {{/etc/passwd}} to be used as the \"is\" value for the insync? check.\n\nThis appears to not be the case for the {{home}} and {{shell}} attributes.\n\nThose are always checked against their values from directory services rather than from {{/etc/passwd}}, which means those attributes appear to change on each puppet run and the {{user}} resource is no longer idempotent.\n\n*Desired Behavior:*\n\nWhen an OS has directory services enabled (e.g. LDAP via SSSD) and a puppet-managed user exists in LDAP...\n\nGiven an {{/etc/passwd}} file containing:\n{noformat}\nnate:x:1000:1001:hello world:/opt/hello:/bin/zsh\n{noformat}\n\nThis code should read \"shell\", \"home\", and \"comment\" all from {{/etc/passwd}} when comparing the \"is\" state to the \"should\" state:\n{code}\nuser { 'nate':\n  ensure     => present,\n  forcelocal => true,\n  shell      => '/bin/zsh',\n  home       => '/opt/hello',\n  comment    => 'hello world',\n}\n{code}\n\n*Actual Behavior:*\n\nOnly \"uid\", \"gid\", \"comment\", and \"groups\" are fetched from {{/etc/passwd}} when {{forcelocal => true}}:\nhttps://github.com/puppetlabs/puppet/blob/7.11.0/lib/puppet/provider/user/useradd.rb#L60-L78\n\n\"home\" and \"shell\" are fetched from directory services, not from {{/etc/passwd}}.\n\nThe user resource shows a change to \"home\" and \"shell\" on each Puppet run even though nothing is changing.\n\n\n*Related:*\nSupport for \"comment\" when forcelocal is true was added here: https://github.com/puppetlabs/puppet/pull/7768\n\nBasically, I'm asking for that same support for all the other attributes pulled from {{/etc/passwd}} in [the finduser() method|https://github.com/puppetlabs/puppet/blob/7.11.0/lib/puppet/provider/user/useradd.rb#L80-L96]", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29806", "fixedVersions": ["PUP 6.25.0", "PUP 7.12.0"], "id": "29806", "issueType": "Bug", "key": "PUP-11241", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "resolution": "Fixed", "resolutionDate": "2021-09-21T05:51:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Not all user attributes honor forcelocal (e.g. home, shell)", "timeSpent": "PT0S", "updated": "2021-10-05T06:10:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is not an issue, because the parameter is named {{exclude_max}} and it defaults to {{false}}, which means the max is included by default. To exclude the max you have to pass {{true}}.\n\nDocs for SemVer/SemVerRange will be updated in DOCUMENT-958, so closing this.", "created": "2021-09-15T15:44:00.000000"}], "components": [], "created": "2021-09-09T10:22:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@59b74aec"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b38b:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_537706702_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:* 7.10\n\n{{SemVerRange.new}} provides different method signatures for defining an inclusive or exclusive semantic version range. The signature that accepts {{min}} and {{max}} is inclusive by default, but it accepts a third parameter to make it exclusive. However, it  doesn't work as specified (DOCUMENT-956)\n\n*Desired Behavior:*\n\nThe following should print {{false}}:\n\n{code:puppet}\nnotice(SemVer(\"2.0.0\") =~ SemVerRange(SemVer(\"1.2.3\"), SemVer(\"2.0.0\"), false))\n{code}\n\n*Actual Behavior:*\n\nIt prints {{true}}, just like if the parameter was omitted:\n\n{noformat}\n$ bx puppet apply -e 'notice(SemVer(\"2.0.0\") =~ SemVerRange(SemVer(\"1.2.3\"), SemVer(\"2.0.0\"), false))'\nNotice: Scope(Class[main]): true\n$ bx puppet apply -e 'notice(SemVer(\"2.0.0\") =~ SemVerRange(SemVer(\"1.2.3\"), SemVer(\"2.0.0\")))'       \nNotice: Scope(Class[main]): true\n{noformat}\n\nA workaround is to use the signature that takes a non-empty string:\n\n{noformat}\n$ bx puppet apply -e 'notice(SemVer(\"2.0.0\") =~ SemVerRange(\">= 1.2.3 < 2.0.0\"))' \nNotice: Scope(Class[main]): false\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26590", "fixedVersions": [], "id": "26590", "issueType": "Bug", "key": "PUP-11240", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Incomplete", "resolutionDate": "2021-09-15T15:44:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "SemVerRange(min, max, false) is not exclusive", "timeSpent": "PT0S", "updated": "2021-09-15T15:44:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [], "components": [], "created": "2021-09-08T01:38:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@34b2d78b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b1er:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2268131217_*|*_3_*:*_1_*:*_5519603178_*|*_10009_*:*_1_*:*_97508668_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_3881431197"}], "description": "Following implementation in https://puppet.atlassian.net/browse/PUP-11216", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22469", "fixedVersions": [], "id": "22469", "issueType": "Task", "key": "PUP-11239", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "resolution": "Fixed", "resolutionDate": "2022-01-22T05:09:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "multiple facter implementations blogpost", "timeSpent": "PT0S", "updated": "2022-01-22T05:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [{"author": "5a1beb0b007eb21a79e5d6de", "body": "This is ready for 6.26.0, thank you [~accountid:60e4906e4134aa006931a5d6] !", "created": "2022-01-12T15:18:00.000000"}], "components": [], "created": "2021-09-07T03:01:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@471abf8e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3983"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0azmr:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Added Windows 2022 agent support"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "0.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Jan/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_69851994_*|*_5_*:*_2_*:*_2979990394_*|*_10006_*:*_1_*:*_4846552568"}], "description": "Update Public-facing Puppet docs to include this platform\n\nThis ticket will be set with the fix version of the first release containing the new platform and checked with doc team during the Platform release process.\n", "epicLinkSummary": "Add Windows Server 2022(x86_64) FOSS support", "estimate": "PT0S", "externalId": "22468", "fixedVersions": ["PUP 6.26.0", "PUP 7.13.0"], "id": "22468", "issueType": "Task", "key": "PUP-11238", "labels": [], "originalEstimate": "PT0S", "parent": "58152", "parentSummary": "Add Windows Server 2022(x86_64) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "resolution": "Fixed", "resolutionDate": "2021-12-07T11:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Update Public-facing Puppet docs to include Windows Server 2022(x86_64)", "timeSpent": "PT0S", "updated": "2022-01-12T15:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is an old issue introduced in PUP-8501, but it only occurs when the {{multi_json}} gem is not installed, such as when running puppetserver from source. The problem is {{Puppet::Network::FormatSupport}} overrides the {{to_json}} method originally monkey patched by the {{JSON}} library. Then {{FormatSupport}} is mixed into all indirected models like {{Puppet::FileServing::Metadata}}. So when {{Puppet::Util::Json.dump}} calls {{to_json}} it's calling the wrong method. The flow goes like:\n\n{noformat}\nFormat#render_multiple(Array<Metadata>)\nPuppet::Util::Json.dump(Array<Metadata>, Hash)\nArray#to_json(Hash)\nFormatSupport#to_json(options) # this is where things go bad\nPuppet::Util::Json.dump(Hash)\n{noformat}\n\nFWIW this isn't an issue when running from puppetserver packages, because the multi_json gem is installed.", "created": "2021-09-09T00:57:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe] oh ha! I submitted a PR and just noticed it's in your sprint. Let me know if that fixes the issue?", "created": "2021-09-10T12:04:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/a1e9edb573733180d7406ec21a77fdfaf609441b", "created": "2021-09-13T15:11:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in d135387bb7", "created": "2021-09-15T11:12:00.000000"}], "components": [], "created": "2021-09-03T09:13:00.000000", "creator": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@79919ead"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ay23:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet's /puppet/v3/file_metadatas REST API would fail if the multi_json gem was uninstalled or when running puppetserver from source."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Sep/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_158508364_*|*_1_*:*_1_*:*_615009866_*|*_10007_*:*_1_*:*_270407771_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:* Main branch (401e01b2691d9c496749ff07f7fca7fc852e105c)\n*Puppet Server Version:* Main branch (38479aafcb6c27d826976e31a993258e9e9e4de2)\n*OS Name/Version:* Ubuntu 20.04\n\nWhile testing the {{file_metadatas}} Puppetserver endpoint, when sending this request:\n{{code}}\n  https://localhost:8140/puppet/v3/file_metadatas/scripts/mymodule/script.sh?environment=production&recurse=yes\n{{code}}\nPuppet errors with (apologies for the backtrace!):\n{{code}}\n2021-09-03 07:58:27,688 DEBUG [qtp1541353205-57] [puppetserver] Puppet Could not render_multiple to Puppet::Network::Format[json]: undefined method `delete' for #<JSON::Ext::Generator::State:0x79067448>\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/util/json.rb:64:in `dump'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/network/format_support.rb:105:in `to_json'\njson/ext/GeneratorMethods.java:79:in `to_json'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/util/json.rb:65:in `dump'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/network/formats.rb:129:in `render_multiple'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/network/format_support.rb:26:in `render_multiple'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/network/http/api/indirected_routes.rb:161:in `block in do_search'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/network/http/api/indirected_routes.rb:192:in `block in first_response_formatter_for'\norg/jruby/RubyEnumerable.java:690:in `find'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/network/http/api/indirected_routes.rb:190:in `first_response_formatter_for'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/network/http/api/indirected_routes.rb:160:in `do_search'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/network/http/api/indirected_routes.rb:53:in `block in call'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/context.rb:62:in `override'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet.rb:306:in `override'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/network/http/api/indirected_routes.rb:52:in `call'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/network/http/api/server/v3.rb:17:in `block in wrap'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/network/http/route.rb:82:in `block in process'\norg/jruby/RubyArray.java:1809:in `each'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/network/http/route.rb:81:in `process'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/network/http/route.rb:88:in `process'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/network/http/route.rb:88:in `process'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/network/http/handler.rb:86:in `block in process'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/network/http/handler.rb:69:in `block in with_request_profiling'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/util/profiler.rb:51:in `profile'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/network/http/handler.rb:65:in `with_request_profiling'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/network/http/handler.rb:85:in `block in process'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/network/http/handler.rb:92:in `respond_to_errors'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/network/http/handler.rb:84:in `process'\nuri:classloader:/puppetserver-lib/puppet/server/master.rb:69:in `block in handleRequest'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet/context.rb:62:in `override'\n/home/lucy/githubs/puppetserver/ruby/puppet/lib/puppet.rb:306:in `override'\nuri:classloader:/puppetserver-lib/puppet/server/master.rb:68:in `handleRequest'\n{{code}}\n\nThis only happens when requesting the {{scripts}} mount - the request\n{{code}}\nhttps://localhost:8140/puppet/v3/file_metadatas/modules/mymodule/file?environment=production&recurse=yes\n{{code}}\nbehaves as expected.\n\nThe object that {{dump}} is receiving in this case actually can be converted to a hash, and adding\n{{code}}\noptions = options.to_h unless options.is_a?(Hash)\n{{code}}\nfixes the issue, but doesn't really get to *why* this method is receiving the wrong object to begin with.\n\nHappy to provide more testing and info!", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25572", "fixedVersions": ["PUP 6.25.0", "PUP 7.12.0"], "id": "25572", "issueType": "Bug", "key": "PUP-11237", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "resolution": "Fixed", "resolutionDate": "2021-09-15T11:12:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Util::JSON.dump receives non-hash options", "timeSpent": "PT0S", "updated": "2021-10-05T06:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [{"attacher": "623c12ff94742a00683e41fd", "created": "2021-09-02T01:06:00.000000", "name": "mem_profile_15614.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12123"}], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is due to a ruby bug https://bugs.ruby-lang.org/issues/16906. In MRI, our ThreadLocalSingleton doesn't behave like a singleton, so we create N copies of Puppet::Pops::Parser::Lexer2.\n\nOne workaround is to avoid using {{Thread#thread_variable?}}", "created": "2021-10-15T13:23:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/08531619e776052efbf60b211eabfa710c35fd01", "created": "2021-10-15T16:09:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 8b4331b9f5", "created": "2021-10-20T13:22:00.000000"}], "components": [], "created": "2021-09-01T06:51:00.000000", "creator": "623c12ff94742a00683e41fd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6b1d68af"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11073"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0awn7:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Reduce lexer memory usage"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Oct/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_422024316_*|*_1_*:*_1_*:*_2252051778_*|*_10007_*:*_1_*:*_8127518_*|*_3_*:*_1_*:*_801733_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1574090136"}], "description": "PUP-11232 added *# frozen_string_literal: true* to some high memory consumption files but even after that, [lib/puppet/pops/parser/lexer2.rb|https://github.com/puppetlabs/puppet/blob/6.x/lib/puppet/pops/parser/lexer2.rb] still seems to have the most memory allocated.\n\nProposed investigation direction as stated by [~accountid:63d40628f6e1b543161789a7]:\n{panel}\nI'm guessing the lexer2 allocations are due to the closure scope bound to each [lambda|https://github.com/puppetlabs/puppet/blob/6.x/lib/puppet/pops/parser/lexer2.rb#L187-L580]? I'm thinking Ruby may be doing more work than is necessary to create the Binding as each token is scanned and the corresponding lambda is called? Or perhaps it's the [byteslice|https://github.com/puppetlabs/puppet/blob/6.x/lib/puppet/pops/parser/lexer2.rb#L197] calls?\n{panel}\n\n\n\n", "epicLinkSummary": "Reduce memory usage", "estimate": "PT0S", "externalId": "21352", "fixedVersions": ["PUP 6.26.0", "PUP 7.13.0"], "id": "21352", "issueType": "Bug", "key": "PUP-11236", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": "21340", "parentSummary": "Reduce memory usage", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c12ff94742a00683e41fd", "resolution": "Fixed", "resolutionDate": "2021-10-20T13:23:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Reduce allocated memory in `lib/puppet/pops/parser/lexer2.rb`", "timeSpent": "PT0S", "updated": "2021-12-07T21:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "attachments": [], "comments": [{"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "The awesome [~accountid:63d40628f6e1b543161789a7] did some digging during the latest office-hours through the issue. The conversation:  https://puppetcommunity.slack.com/archives/CFD8Z9A4T/p1631641997091600\n\ntl", "created": "2021-09-14T12:32:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "One thing I remembered is many packages don't follow SemVer. For example, we ran into issues while adding {{ensure => '> 1.0.0'}} for package resources in PUP-10298, PUP-10416, etc. For this issue, it might be worth just solving the general problem of implicit 0 minor and/or patch components.", "created": "2021-09-16T11:21:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/73e01d67072a36561f2afb9abe72811f9fb5bdd8, passed CI in 8112a59212", "created": "2021-10-11T10:13:00.000000"}], "components": [], "created": "2021-09-01T02:47:00.000000", "creator": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4931e08d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0bg1s:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "versioncmp() strips redundant numbers"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Sep/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_453715291_*|*_1_*:*_1_*:*_2266763209_*|*_10007_*:*_1_*:*_423285714_*|*_3_*:*_1_*:*_156439434_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_182640803"}], "description": "*Puppet Version:* 6.24.0\n*Puppet Server Version:* none\n*OS Name/Version:* Debian 11\n\nwhile debugging https://github.com/puppetlabs/puppetlabs-apache/pull/2186 i noticed that versioncmp('11.0', '11') doesn't return 0, it returns 1. Is that expected?\n\n*Desired Behavior:*\n\nI think 11.0 and 11 should be treated as equal\n\n*Actual Behavior:*\n\nversioncmp() thinks 11.0 is greater than 11\n\nto debug:\n{code}\nnotify { \"operatingsystemrelease compared to 11: ${versioncmp($::operatingsystemrelease, '11')}\":\n}\nnotify { \"operatingsystemmajrelease compared to 11: ${versioncmp($::operatingsystemmajrelease, '11')}\":\n}\nnotify { \"operatingsystemrelease: ${::operatingsystemrelease}\":\n}\nnotify { \"operatingsystemmajrelease: ${::operatingsystemrelease}\":\n}\n{code}\n\nwhich brings us:\n{code}\npuppet apply test.pp\nNotice: Compiled catalog for blal in environment production in 0.02 seconds\nNotice: operatingsystemrelease compared to 11: 1\nNotice: /Stage[main]/Main/Notify[operatingsystemrelease compared to 11: 1]/message: defined 'message' as 'operatingsystemrelease compared to 11: 1'\nNotice: operatingsystemmajrelease compared to 11: 0\nNotice: /Stage[main]/Main/Notify[operatingsystemmajrelease compared to 11: 0]/message: defined 'message' as 'operatingsystemmajrelease compared to 11: 0'\nNotice: operatingsystemrelease: 11.0\nNotice: /Stage[main]/Main/Notify[operatingsystemrelease: 11.0]/message: defined 'message' as 'operatingsystemrelease: 11.0'\nNotice: operatingsystemmajrelease: 11.0\nNotice: /Stage[main]/Main/Notify[operatingsystemmajrelease: 11.0]/message: defined 'message' as 'operatingsystemmajrelease: 11.0'\nNotice: Applied catalog in 0.01 seconds\n{code}\n\nand the facts:\n{code}\n:~> facter operatingsystemmajrelease\n11\n:~> facter operatingsystemrelease\n11.0\n{code}\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25571", "fixedVersions": ["PUP 6.26.0", "PUP 7.13.0"], "id": "25571", "issueType": "Bug", "key": "PUP-11235", "labels": ["docs_reviewed", "help_wanted"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "resolution": "Fixed", "resolutionDate": "2021-10-11T10:14:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "versioncmp() thinks 11.0 is greater than 11", "timeSpent": "PT0S", "updated": "2021-12-07T21:45:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "6026f51e74a5e60070eeae7f", "attachments": [], "comments": [], "components": ["Hiera & Lookup"], "created": "2021-09-01T01:34:00.000000", "creator": "6026f51e74a5e60070eeae7f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5b45d2a4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0awjf:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_83632808_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:*\n *Puppet Server Version:*\n *OS Name/Version:*\n\nDescribe your issue in as much detail as possible\u2026\n Describe steps to reproduce\u2026\n\n*Desired Behavior:*\n\n*Actual Behavior:*\n\nPlease take a moment and attach any relevant log output and/or manifests. This will help us immensely when troubleshooting the issue.\n\nExamples:\n Run puppet agent with --test --trace --debug\n\nRelevant sections of {{/var/log/puppetlabs/puppetserver/puppetserver.log}} or any applicable logs from the same directory.\n\nFor more detailed information turn up the server logs by upping the log level in the server's logback.xml\n\nRelevant sections of configurations files (puppet.conf, hiera.conf, Server's conf.d, defaults/sysconfig)\n\nFor memory issues with server heap dumps are also helpful.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23471", "fixedVersions": [], "id": "23471", "issueType": "Bug", "key": "PUP-11234", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "High (migrated)", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6026f51e74a5e60070eeae7f", "resolution": "Incomplete", "resolutionDate": "2021-09-02T00:48:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": " ERROR -- : yaml_facts.rb:35:in `rescue in block in load_facts_from_source' Failed to load yaml facts from /etc/puppetlabs/mcollective/facts.yaml: TypeError: no implicit conversion of String into Hash", "timeSpent": "PT0S", "updated": "2021-09-02T00:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:5c87ae38f57a154c0a73859c]\u00a0does the module work as expected with earlier puppet versions? If so, then this issue may be related to\u00a0PUP-10308", "created": "2021-08-30T00:35:00.000000"}, {"author": "5c87ae38f57a154c0a73859c", "body": "Edit:\nupdated puppetlabs-concat to 7.1.1.\npuppet-agent 7.7.0 working fine.\n7.10.0 and 7.11.0 throwing said error.\n\nCan i provide further info?\nFinal Edit :)", "created": "2021-09-17T01:10:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I can reproduce. It looks like the issue is if the agent starts off in {{production}}, but the {{last_server_specified_environment}} is something different, then the agent will switch to the new environment, but it doesn't push the new environment onto the context. So any indirector request that doesn't specify an environment will use the environment the agent started with. I'm going to move this to PUP.", "created": "2021-09-27T13:30:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "To repro delete everything from the production environment:\n{noformat}# rm -rf /etc/puppetlabs/code/environments/production/\n{noformat}\nCreate a new environment and install puppetlabs-concat into it:\n{noformat}# mkdir -p /etc/puppetlabs/code/environments/customer1/{manifests,modules}\n# puppet module install puppetlabs-concat -v 7.1.1 --environment customer1\n# cat <<END > /etc/puppetlabs/code/environments/customer1/manifests/site.pp \ninclude df_modsec\nEND\n# mkdir -p /etc/puppetlabs/code/environments/customer1/modules/df_modsec/{manifests,files} \n# cat <<\"END\" > /etc/puppetlabs/code/environments/customer1/modules/df_modsec/manifests/init.pp \nclass df_modsec {\n  $file = '/tmp/file'\n\n  concat { $file:\n    ensure => 'present',\n  } -> concat::fragment { 'main':\n    target => $file,\n    source => 'puppet:///modules/df_modsec/modsecurity_main.conf',\n  }\n}\nEND\n# cat <<END > /etc/puppetlabs/code/environments/customer1/modules/df_modsec/files/modsecurity_main.conf \n# this is a comment\nEND\n# chown -R puppet:puppet /etc/puppetlabs/code/environments\n{noformat}\nConfigure the server to assign the environment:\n{noformat}# puppet config set node_terminus exec --section server\n# puppet config set external_nodes /etc/puppetlabs/puppet/enc.sh --section server\n# cat <<EOF > /etc/puppetlabs/puppet/enc.sh\n#!/bin/sh\n\ncat <<END\n---\nenvironment: customer1\nEND\nEOF\n# chmod a+x /etc/puppetlabs/puppet/enc.sh\n# chown puppet:puppet /etc/puppetlabs/puppet/enc.sh\n# systemctl restart puppetserver\n{noformat}\nDelete the last run summary and run the agent once:\n{noformat}# rm -f /opt/puppetlabs/puppet/public/last_run_summary.yaml\n# puppet agent -t\nInfo: Using environment 'production'\n...\nNotice: Local environment: 'production' doesn't match server specified environment 'customer1', restarting agent run with environment 'customer1'\n...\n# cat /tmp/file \n# this is a comment\n{noformat}\nNote the mismatched last environments:\n{code:yaml}# cat  /opt/puppetlabs/puppet/public/last_run_summary.yaml\n---\nversion:\n  config: 1632772088\n  puppet: 7.10.0\napplication:\n  run_mode: agent\n  initial_environment: production\n  converged_environment: customer1\n{code}\nRun the agent a second time and it will fail:\n{noformat}# puppet agent -t\n...\nError: /Stage[main]/Df_modsec/Concat[/tmp/file]/Concat_file[/tmp/file]: Failed to generate additional resources using 'eval_generate': Could not retrieve source(s) puppet:///modules/df_modsec/modsecurity_main.conf\n{noformat}\nThis is because the concat module doesn't specify an environment when making the metadata request: [https://github.com/puppetlabs/puppetlabs-concat/blob/7c356efc62b092b71eb40f63d9a7c362b825210f/lib/puppet/type/concat_file.rb#L305] so the indirector will fallback to the environment stored in the context [https://github.com/puppetlabs/puppet/blob/3828aabe8d32368faa5cdc1a428189d0cb117e52/lib/puppet/indirector/request.rb#L33]\n\nBut the agent doesn't push a new environment when it detects the mismatch: [https://github.com/puppetlabs/puppet/blob/3828aabe8d32368faa5cdc1a428189d0cb117e52/lib/puppet/configurer.rb#L394]\n\nIt needs to push a new environment and loaders like we do in [https://github.com/puppetlabs/puppet/blob/3828aabe8d32368faa5cdc1a428189d0cb117e52/lib/puppet/configurer.rb#L449-L456]", "created": "2021-09-27T13:55:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in\u00a0https://github.com/puppetlabs/puppet/commit/5e9536c0ce1b31eb6c3740620c49cef33a9ab2b5", "created": "2021-09-28T10:30:00.000000"}], "components": [], "created": "2021-08-27T00:42:00.000000", "creator": "5c87ae38f57a154c0a73859c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5462265b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0au4j:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fix a bug where the ENC-specified environment would not get pushed on the context during the agent run, causing indirector requests (such as file metadata requests) that didn't specify an environment to default to an incorrect one."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Aug/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_229298631_*|*_1_*:*_2_*:*_1206668744_*|*_10007_*:*_1_*:*_23278101_*|*_3_*:*_1_*:*_7593895_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1561575368_*|*_10006_*:*_1_*:*_943588_*|*_10005_*:*_1_*:*_2820"}], "description": "_Basic Info_\n*Module Version:* puppetlabs-concat 7.1.1\n*Puppet Version:* 7.10.0\n*OS Name/Version:* Centos 7\n\n_Describe your issue in as much detail as possible..._\nConcat is not respecting the choosen environment via external enc when fetching module content for files.\n\nError:\n{noformat}\nError: /Stage[main]/Df_modsec::Config/Concat[/etc/nginx/modsecurity_main.conf]/Concat_file[/etc/nginx/modsecurity_main.conf]: Failed to generate additional resources using 'eval_generate': Could not retrieve \nsource(s) puppet:///modules/df_modsec/modsecurity_main.conf\n{noformat}\n\nCode:\n{code:puppet}\n -> concat { $df_modsec::config_main:\n    ensure => 'present',\n    owner  => 0,\n    group  => 0,\n    mode   => '0644',\n    order  => 'numeric',\n    notify => Class['::df_web::nginx::service'],\n  }\n  -> concat::fragment { $df_modsec::config_main:\n    order  => 0,\n    target => $df_modsec::config_main,\n    source => 'puppet:///modules/df_modsec/modsecurity_main.conf',\n    notify => Class['::df_web::nginx::service'],\n  }\n{code}\n\nAfter further inspection of the run with the --debug parameter it is visible that puppet switched back to the default environment \"production\" during the run. The file itself is managed in a different environment.\n\n{noformat}\n[root@somehost0 ~]# puppet agent -tv  --noop --debug \nInfo: Using environment 'customer1_production'\n...\nDebug: Using cached connection for https://puppet.int.hostname.net:8140\nDebug: HTTP GET https://puppet.int.hostname.net:8140/puppet/v3/file_metadata/modules/df_varnish/backend.vcl?*environment=production* returned 404 Not Found\n{noformat}\n\nbackend.vcl?environment=production should be customer1_production if i am not mistaken by the logic.\n\n\n*Desired Behavior:*\nRun resulting no error\n\n*Actual Behavior:*\nRun unable to fetch files via concat.\n\nPlease take a moment and attach any relevant log output and/or manifests. This will help us immensely when troubleshooting the issue.\n\nCan provide further logs if needed, just let me know.\nThanks for your time", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25570", "fixedVersions": ["PUP 6.25.0", "PUP 7.12.0"], "id": "25570", "issueType": "Bug", "key": "PUP-11265", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5c87ae38f57a154c0a73859c", "resolution": "Fixed", "resolutionDate": "2021-10-01T02:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "puppet-agent : Concat not respecting environments", "timeSpent": "PT0S", "updated": "2021-10-05T06:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-08-24T04:54:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2ed44525"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3957"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0as63:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}], "description": "Update Public-facing Puppet docs to include this platform\n\nThis ticket will be set with the fix version of the first release containing the new platform and checked with doc team during the Platform release process.\n", "epicLinkSummary": "Add CentOS Stream 9(x86_64) FOSS support", "estimate": "PT0S", "externalId": "20214", "fixedVersions": [], "id": "20214", "issueType": "Task", "key": "PUP-11233", "labels": ["os"], "originalEstimate": "PT0S", "parent": "57138", "parentSummary": "Add CentOS Stream 9(x86_64) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "17. Update Public-facing Puppet docs to include CentOS Stream 9(x86_64)", "timeSpent": "PT0S", "updated": "2022-02-04T18:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [], "components": [], "created": "2021-08-24T04:45:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4d9ba49e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11073"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0asyc:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "This enhancement lowers memory consumption by about 10%. This is achieved through making string literals frozen in some of our highest memory consumption Ruby files."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_253400581_*|*_1_*:*_1_*:*_39588_*|*_10007_*:*_1_*:*_162911096_*|*_3_*:*_1_*:*_507956346_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_191118567"}], "description": "freeze string in the prime candidates files:\n|{color:#000000}lib/puppet/concurrent/thread_local_singleton.rb{color}|\n|{color:#000000}lib/puppet/parser/scope.rb{color}|\n|{color:#000000}lib/puppet/parser/templatewrapper.rb{color}|\n|{color:#000000}lib/puppet/pops/model/factory.rb{color}|\n|{color:#000000}lib/puppet/pops/model/ast.rb{color}|\n|{color:#000000}lib/puppet/pops/parser/lexer2.rb{color}|\n|{color:#000000}lib/puppet/pops/parser/slurp_support.rb{color}|\n|{color:#000000}lib/puppet/pops/types/type_formatter.rb{color}|\n|{color:#000000}lib/puppet/resource/type_collection.rb{color}|\n|{color:#000000}lib/puppet/util/tagging.rb {color}|\n\n\u00a0\n\nif the changes are not trivial, follow-up tickets should be created.\n\nsee parent epic comments on how to check memory usage", "epicLinkSummary": "Reduce memory usage", "estimate": "PT0S", "externalId": "23470", "fixedVersions": ["PUP 6.25.0", "PUP 7.11.0"], "id": "23470", "issueType": "Task", "key": "PUP-11232", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": "21340", "parentSummary": "Reduce memory usage", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "resolution": "Fixed", "resolutionDate": "2021-09-06T02:35:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "freeze string in the prime candidates files", "timeSpent": "PT0S", "updated": "2021-09-27T06:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "602cd85ac0b285006f4f1dc7", "attachments": [], "comments": [{"author": "602cd85ac0b285006f4f1dc7", "body": "[~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1]", "created": "2021-09-22T05:24:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Added to the preview docs.", "created": "2021-10-07T08:31:00.000000"}], "components": [], "created": "2021-08-24T04:42:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3d312fda"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3939"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0arxf:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Sep/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2184_*|*_5_*:*_2_*:*_172059378_*|*_10006_*:*_2_*:*_2926713417"}], "description": "Update Public-facing Puppet docs to include this platform\n\nThis ticket will be set with the fix version of the first release containing the new platform and checked with doc team during the Platform release process.\n", "epicLinkSummary": "Add Rocky Linux 8(x86_64) FOSS support", "estimate": "PT0S", "externalId": "21410", "fixedVersions": ["PUP 6.25.0", "PUP 7.12.0"], "id": "21410", "issueType": "Task", "key": "PUP-11231", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": "56669", "parentSummary": "Add Rocky Linux 8(x86_64) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "resolution": "Fixed", "resolutionDate": "2021-09-29T01:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Update Public-facing Puppet docs to include Rocky Linux 8(x86_64)", "timeSpent": "PT0S", "updated": "2021-10-07T08:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-08-24T03:08:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Night's Watch"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@567f7fdd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-6"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Add support for rpm package provides"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "green"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0arob:"}], "description": "An RPM package can provide certain capabilities.\n\nPuppet should support installation of a package by specifying provided capabilities (like yum does) instead the rpm package name only.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20213", "fixedVersions": [], "id": "20213", "issueType": "Epic", "key": "PUP-11230", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Add support for rpm package provides", "timeSpent": "PT0S", "updated": "2021-10-01T07:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-08-24T01:43:00.000000", "creator": "602cd85ac0b285006f4f1dc7", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@225b8440"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-5773"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0arnn:"}], "description": "The Jira issue\u00a0[PUP-10105|https://puppet.atlassian.net/browse/PUP-10105],\u00a0solved an issue where puppet resource --to_yaml would emit puppet class tags by updating the way PScalarDataType#instance? checks whether an object is an instance of the said type.\u00a0\n\nThe problem was that some of the resource's fields would be ProcessOutput objects, which is a child class of ruby String, and the instance? method used `is_a?` to check whether the ProcessOutput object was an instance. In this case, due to the way `is_a?` works, the instance? method would return true, since the object is a child of String.\u00a0\n\nTo fix this issue, we updated the method to use `instance_of?` when checking Strings, so it would only return true for actual ruby Strings.\n\nThe next step would be to update the `instance?` methods for the rest of Data and RichData data types such as (Integer/Float/Fixnum/Bignum/Rational)", "epicLinkSummary": "Performance Work in Puppet", "estimate": "PT0S", "externalId": "27651", "fixedVersions": [], "id": "27651", "issueType": "Improvement", "key": "PUP-11229", "labels": [], "originalEstimate": "PT0S", "parent": "26968", "parentSummary": "Performance Work in Puppet", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "602cd85ac0b285006f4f1dc7", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update puppet `instance?` methods to use `instance_of?` instead of `is_a?`", "timeSpent": "PT0S", "updated": "2021-09-21T03:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-08-23T15:47:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3ba2e927"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11219"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ar9v:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3303067549_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-09-14)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2021-09-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "estimate": "PT0S", "externalId": "29803", "fixedVersions": [], "id": "29803", "issueType": "Task", "key": "PUP-11228", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28829", "parentSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-09-30T21:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 7.11.0)", "timeSpent": "PT0S", "updated": "2021-09-30T21:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-08-23T15:47:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4ef50adc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11219"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ar9n:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3303063433_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-09-14)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n", "duedate": "2021-09-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "estimate": "PT0S", "externalId": "28830", "fixedVersions": [], "id": "28830", "issueType": "Task", "key": "PUP-11227", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28829", "parentSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-09-30T21:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 7.11.0)", "timeSpent": "PT0S", "updated": "2021-09-30T21:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-08-23T15:47:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@e05c995"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11219"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk48n:q0200000r"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_3134105061_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_168962721"}], "description": "(Initial planned release date: 2021-09-14)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 7.11.0 is now available\".\n", "duedate": "2021-09-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "estimate": "PT0S", "externalId": "27685", "fixedVersions": [], "id": "27685", "issueType": "Task", "key": "PUP-11226", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28829", "parentSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-09-30T21:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Send release announcement (Puppet Platform 7.11.0)", "timeSpent": "PT0S", "updated": "2021-09-30T21:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [], "components": [], "created": "2021-08-23T15:46:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@36372325"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11219"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ar8z:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3678324983_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-09-14)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2021-09-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "estimate": "PT0S", "externalId": "25568", "fixedVersions": [], "id": "25568", "issueType": "Task", "key": "PUP-11225", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28829", "parentSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-10-05T05:32:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 7.11.0)", "timeSpent": "PT0S", "updated": "2021-10-05T05:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-08-23T15:46:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4830c7e7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11219"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ar8r:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3303083632_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-09-14)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2021-09-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "estimate": "PT0S", "externalId": "24554", "fixedVersions": [], "id": "24554", "issueType": "Task", "key": "PUP-11224", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28829", "parentSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-09-30T21:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 7.11.0)", "timeSpent": "PT0S", "updated": "2021-09-30T21:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "Agent shout out:\n - support for Ubuntu 18.04 aarch64\n - lowers memory consumption during catalog compilation up to 10%\n - puppet now supports multiple Facter implementations\n - OpenSSL update\n", "created": "2021-09-16T06:08:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "The next release in the Puppet 7 series, Puppet 7.11.0, is now available!\n\nThe release contains new features, minor enhancements, and bug fixes including:\n * Support for Ubuntu 18.04 aarch64\n * 10% lower memory consumption during catalog compilation\n * Support for multiple Facter implementations\n * Updates to OpenSSL\n\nFor the full list of changes, check out the release notes:\u00a0[https://puppet.com/docs/puppet/latest/release_notes_osp.html]", "created": "2021-09-16T06:24:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] [~accountid:557058:613151bd-b161-4bc3-9e32-335fdcef4d89]\u00a0Please add any server or PuppetDB changes that you want to call out to the highlights above. Thanks!", "created": "2021-09-16T06:26:00.000000"}], "components": [], "created": "2021-08-23T15:46:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@64f7e18f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11219"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ar8b:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Sep/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2039903827_*|*_10009_*:*_1_*:*_1638419485_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-09-14)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:60e4906e4134aa006931a5d6] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2021-09-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "estimate": "PT0S", "externalId": "22467", "fixedVersions": [], "id": "22467", "issueType": "Task", "key": "PUP-11223", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28829", "parentSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-10-05T05:32:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare release announcement (Puppet Platform 7.11.0)", "timeSpent": "PT0S", "updated": "2021-10-05T05:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Release notes draft:\u00a0https://docs-herrera-preview.netlify.app/docs/puppet/7/release_notes_puppet.html#release_notes_puppet", "created": "2021-09-16T06:21:00.000000"}], "components": [], "created": "2021-08-23T15:46:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@232b8ff"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11219"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ar83:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Sep/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2039666812_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-09-14)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2021-09-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "estimate": "PT0S", "externalId": "21409", "fixedVersions": [], "id": "21409", "issueType": "Task", "key": "PUP-11222", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28829", "parentSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-09-16T06:21:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 7.11.0)", "timeSpent": "PT0S", "updated": "2021-09-16T06:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-08-23T15:46:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1f70c219"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11219"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ar7v:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3303091804_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-09-14)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2021-09-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "estimate": "PT0S", "externalId": "20212", "fixedVersions": [], "id": "20212", "issueType": "Task", "key": "PUP-11221", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28829", "parentSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-09-30T21:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 7.11.0)", "timeSpent": "PT0S", "updated": "2021-09-30T21:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-08-23T15:46:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7821b07d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11219"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ar7n:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3303095107_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-09-14)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 7.11.0 and puppet-agent 7.11.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2021-09-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "estimate": "PT0S", "externalId": "29802", "fixedVersions": [], "id": "29802", "issueType": "Task", "key": "PUP-11220", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28829", "parentSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-09-30T21:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 7.11.0)", "timeSpent": "PT0S", "updated": "2021-09-30T21:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-08-23T15:46:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7a75f670"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-2"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 7.11.0 Release - 2021-09-14\n"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_yellow"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ar7f:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3303126754_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "duedate": "2021-09-14T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28829", "fixedVersions": [], "id": "28829", "issueType": "Epic", "key": "PUP-11219", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-09-30T21:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "timeSpent": "PT0S", "updated": "2021-10-12T12:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1]", "created": "2021-08-23T08:40:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "I reproduces this also with class:\n{code:java}\nexec { 'hello':\n  command => 'echo Hi',\n}\nclass bla {\n  $require = 'a string'\n  notify { $require:}\n} \nclass {'bla':\n  require => Exec['hello'],\n}\n{code}\n{code:java}\n\u00a0Error: Evaluation Error: Cannot reassign variable '$require' (file: bla.pp, line: 6, column: 12) on node localhost\n\n{code}\n\u00a0\n\nOn both cases the `require` metaparameter from bla resource/class creates a `require` variable that cannot be overwritten from resource/class definition", "created": "2021-10-04T05:20:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "It could be linked to: https://github.com/puppetlabs/puppet/pull/8781", "created": "2021-12-15T02:53:00.000000"}], "components": ["Compiler"], "created": "2021-08-23T08:23:00.000000", "creator": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@635c2c0f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0aqoz:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Aug/21"}], "description": "Hi,\nif I'm using a variable named  `$require` within a defined resource,I cannot add the $require metaparameter to it. Failing code:\n\n{code}\npackage { 'htop':\n  ensure => 'insalled'\n}\ndefine bla {\n  $require = 'a string'\n  notify { $require:}\n}\n\nbla {'foobar':\n  require => Package['htop'],\n}\n{code}\n\nthis fails during a puppet apply with:\n{code}\nError: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Cannot reassign variable '$require'\n{code}\n\nI can reproduce this on Puppet 6.23.0 on Arch Linux. I checked https://puppet.com/docs/puppet/6/lang_reserved.html and require isn't listed as reserved keyword.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21408", "fixedVersions": [], "id": "21408", "issueType": "Task", "key": "PUP-11218", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "require metaparam cannot be assinged to defined resource if inside var is named $require", "timeSpent": "PT0S", "updated": "2022-02-22T14:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5b9fcedc03b52466f05c4510", "attachments": [], "comments": [], "components": [], "created": "2021-08-23T06:43:00.000000", "creator": "5b9fcedc03b52466f05c4510", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet does not call Facter API directly but though the runtimes mechanism"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@36cf8ad0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0aqnv:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "replace all calls to `Facter.` with calls to `Puppet.runtime[:facter].` and remove not needed `require 'facter'`"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_239808903_*|*_1_*:*_1_*:*_6934631_*|*_10007_*:*_1_*:*_290425985_*|*_3_*:*_1_*:*_672773102_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_596812246"}], "description": "We should replace all direct and indirect calls to `Facter.value` with the new mechanism that makes use of runtimes\n\nPuppet.runtime[:facter].get(:fact_name)\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26584", "fixedVersions": ["PUP 6.25.0", "PUP 7.11.0"], "id": "26584", "issueType": "Improvement", "key": "PUP-11217", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5b9fcedc03b52466f05c4510", "resolution": "Fixed", "resolutionDate": "2021-09-13T04:35:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Replace `Facter.value` with the new Facter Implementation ", "timeSpent": "PT0S", "updated": "2021-09-13T05:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5b9fcedc03b52466f05c4510", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/b57982fcdb28f4e64dbcaf77b30306ff9d94715c", "created": "2021-09-07T09:06:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 2e82d780f9", "created": "2021-09-10T12:27:00.000000"}], "components": [], "created": "2021-08-23T06:41:00.000000", "creator": "5b9fcedc03b52466f05c4510", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet allows callers to register Facter implementations, and it has a default implementation that calls Facter API and is registered in the runtimes mechanism"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3b152a8e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0aqnn:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "It's now possible to register a facter implementation when initializing puppet via Puppet.initialize_settings"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Sep/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_271387943_*|*_1_*:*_1_*:*_7064198_*|*_10007_*:*_1_*:*_28048721_*|*_3_*:*_1_*:*_1108201211_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_161377443"}], "description": "Allow projects to register a facter implementations,\u00a0similar to how callers (like puppetserver) register an HTTP client implementation. This will isolate the compiler from the system and will allow easier testing. We need to implement the same mechanism that is used for HttpClient. A default Facter implementation should be added, this will be used in Puppet and it will call the Facter API\n\nEg.\n{code:ruby}\nfacter_impl = FacterImpl.new\nPuppet.initialize_settings([], true, true, http: ..., facter: facter_impl)\n{code}\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25566", "fixedVersions": ["PUP 6.25.0", "PUP 7.11.0"], "id": "25566", "issueType": "Improvement", "key": "PUP-11216", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5b9fcedc03b52466f05c4510", "resolution": "Fixed", "resolutionDate": "2021-09-10T12:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Add support for multiple Facter implementations", "timeSpent": "PT0S", "updated": "2021-11-10T22:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-08-23T06:26:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Night's Watch"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@34341926"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-14"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Fix puppet module/semantic_puppet dependencies handling "}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_orange"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0aqnf:"}], "description": "The dependencies handling in puppet modules sub-command is incomplete", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24553", "fixedVersions": [], "id": "24553", "issueType": "Epic", "key": "PUP-11215", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Fix puppet module/semantic_puppet dependencies handling ", "timeSpent": "PT0S", "updated": "2021-11-10T21:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "In order to detect this case, we'd need to have access to low-level data structures for the compiled regex. In theory that seems possible using ruby's builtin https://github.com/kkos/oniguruma, but I don't know about JRuby...", "created": "2021-08-20T15:19:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "Thank you for filing this issue. While we agree this is an improvement, addressing this issue would require a substantial architecture change that we do not anticipate being able to undertake due to other issues taking precedence. As such, this ticket will be closed as \u201cWon\u2019t Fix\u201d. We may revisit this at a later time, and if so, will re-open this ticket.\n", "created": "2021-09-21T03:56:00.000000"}], "components": ["Compiler"], "created": "2021-08-20T06:14:00.000000", "creator": "557058:054fa98a-5e29-48e7-aeca-d5542926f8ba", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2fb56e2f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0appv:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Aug/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2756527092_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.24.0 7.10.0*\n *Puppet Server Version: N/A*\n *OS Name/Version: N/A*\n\nA ['Runaway Regular Expression'|https://www.regular-expressions.info/catastrophic.html] in a single host's manifests can denial of service all your puppetservers.\n\n*Desired Behavior:*\n\nPuppet to detect that parsing a regex will take forever and fail the compilation.\n\n*Actual Behavior:*\n\n**Puppet compilation never finishes and puppetservers become unavailable.\n\n\u00a0\n\nThe issue can be reproduced with 'puppet apply' eg.\n{noformat}\npuppet apply -t -e 'assert_type(Pattern[/\\A-----BEGIN PGP PRIVATE KEY BLOCK-----\\n(.*\\n?)+-----END PGP PRIVATE KEY BLOCK-----\\Z/], \"-----BEGIN PGP PRIVATE KEY BLOCK-----\\nfoo\\n-----END PGP PRIVATE KEY BLOCK-----\")'{noformat}\nThe above command will never exit (given an actual key and not just 'foo' I suspect the heat death of the universe might occur first!).\n\nIn the context of puppetserver, the jruby process is never returned to the pool.\u00a0 Eventually, all jruby processes across all puppetservers are taken up and all other requests fail with \"Attempt to borrow a JRubyInstance from the pool timed out\" errors.\n\n\u00a0\n\n[https://www.sysbee.net/blog/sysbee-blog/puppet-timeouts/]\u00a0describes the same issue (but in that case, the regex was just very very slow, but did eventually parse).\n\nSome online regex testing tools see the issue and refuse to parse the regex.\u00a0eg.\n\n\"Rubular suspects this regex will take forever to parse. Regexes of this sort make Rubular sad.\"", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28828", "fixedVersions": [], "id": "28828", "issueType": "Bug", "key": "PUP-11213", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:054fa98a-5e29-48e7-aeca-d5542926f8ba", "resolution": "Won't Fix", "resolutionDate": "2021-09-21T03:56:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Puppet/Puppetserver can be taken out by bad regex", "timeSpent": "PT0S", "updated": "2021-09-21T03:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Hi [~accountid:5c87ae38f57a154c0a73859c] I can't reproduce the issue. I installed the latest version of {{puppet-hiera-enc}} and adapted it for puppet 7 pathing:\n\n{noformat}\n# tail -2 /etc/puppetlabs/puppet/puppet.conf \nnode_terminus = exec\nexternal_nodes = /etc/puppetlabs/hiera-enc/enc\n# head /etc/puppetlabs/hiera-enc/hiera-enc.yaml\n---\n:backends:\n  - yaml\n:yaml:\n  :datadir: /etc/puppetlabs/hiera-enc/nodes\n:hierarchy:\n  - \"%{clientcert}\"\n  - \"%{fqdn}\"\n  - \"%{hostname}\"\n  - \"default\"\n# head /etc/puppetlabs/hiera-enc/nodes/demo.example.com.yaml \n---\nenvironment: customer1\n{noformat}\n\nIf you delete the {{last_run_summary.yaml}} (which contains the last used environment), then the next agent run starts up in {{production}} but switches to {{customer1}} as expected:\n\n{noformat}\n# rm -rf /opt/puppetlabs/puppet/public/\n# puppet agent -t --certname demo.example.com\nInfo: Using environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nNotice: Local environment: 'production' doesn't match server specified environment 'customer1', restarting agent run with environment 'customer1'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Caching catalog for demo.example.com\nInfo: Applying configuration version '1629491794'\nNotice: Applied catalog in 0.01 seconds\n{noformat}\n\nThe run after that starts off in the environment the server told it to use last time:\n\n{noformat}\n# puppet agent -t --certname demo.example.com\nInfo: Using environment 'customer1'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Caching catalog for demo.example.com\nInfo: Applying configuration version '1629491805'\n{noformat}\n\nI also had to install the {{hiera}} gem into system ruby since the enc script hard codes the shebang line:\n\n{noformat}\n# head -3 /etc/puppetlabs/hiera-enc/enc \n#!/usr/bin/env ruby\n#\n# Copyright 2014 Peter van Zetten\n{noformat}\n\nIt sounds like there's something in your classification logic that relied on retrieving the fact value from the previous run... What does your {{/etc/puppetlabs/hiera-enc/hiera-enc.yaml}} contain? Are you defining hierarchies based on agent facts?\n\nAre you overriding where {{Puppet[:last_run_summary]}} is stored or modifying the file between runs?", "created": "2021-08-20T14:48:00.000000"}, {"author": "5c87ae38f57a154c0a73859c", "body": "tested several scenarios today again. seems to be the error goes away after updating puppetserver from  puppetserver-7.2.1-1.el7.noarch to puppetserver.noarch 0:7.3.0-1.el7.\n\nthanks for your time.", "created": "2021-08-25T01:53:00.000000"}], "components": [], "created": "2021-08-20T04:12:00.000000", "creator": "5c87ae38f57a154c0a73859c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2d8b0382"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0appn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Aug/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_38141286_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_809210245"}], "description": "_Basic Info_\n*Puppet Version:* 7.10.0\n*OS Name/Version:* Centos 7\n\n_Describe your issue in as much detail as possible..._\nClients do not get their desired node anymore from an external set node classifier. This happens only with 7.10 and works without problems on 7.9.\nThe external node classifier used is https://github.com/Zetten/puppet-hiera-enc via puppet.conf on server: \nnode_terminus = exec\nexternal_nodes = /opt/hiera-enc/enc\n\nAn example content of a file: \ncat /etc/puppetlabs/enc-nodes/nodes/dns0.domain.com.yaml\n---\nenvironment: 'customer1_production'\n\n*Desired Behavior:*\n* Puppet should run with the server external enc assigned environment.\n\n*Actual Behavior:*\n* client does not get its correct environment assigned resulting several errors\n\nPlease take a moment and attach any relevant log output and/or manifests. This will help us immensely when troubleshooting the issue.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27683", "fixedVersions": [], "id": "27683", "issueType": "Bug", "key": "PUP-11214", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5c87ae38f57a154c0a73859c", "resolution": "Incomplete", "resolutionDate": "2021-08-29T23:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Environments get ignored via node_terminus exec", "timeSpent": "PT0S", "updated": "2021-08-29T23:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "From [~accountid:557058:97578a32-3955-4c5c-939e-58a878437b49]\n\n{quote}\nwhile we should 100% deprecate stages, it sounds like it may be necessary to continue to maintain their basic functionality for a long time, or else provide an easy replacement for them. Fully removing stages will likely break a lot of customer Puppet code in ways that are very labor-intensive to fix, which is something we would need strong justification for, or benefit from doing.\n{quote}", "created": "2021-09-23T13:29:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Since we A) don't have a replacement for stages and B) need to maintain stages for a long time, I'm going to close this as won't do. We can certainly add a deprecation warning (in PUP-11211) *after* we've implemented a replacement.", "created": "2021-09-23T13:30:00.000000"}], "components": [], "created": "2021-08-19T16:13:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@65e6e149"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0aph7:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_72203_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3014120055"}], "description": "This ticket is to remove the {{stage}} type and metaparameter, which were deprecated PUP-11211", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29801", "fixedVersions": [], "id": "29801", "issueType": "Task", "key": "PUP-11212", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Won't Do", "resolutionDate": "2021-09-23T13:30:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Remove run stages", "timeSpent": "PT0S", "updated": "2021-09-23T13:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-08-19T16:12:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@77b5e46b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0apgz:"}], "description": "Run stages were implemented prior to the {{contain}} feature being added and have a number of limitations described in [https://puppet.com/docs/puppet/6/lang_run_stages.html#lang_run_stages-stages-limitations]\n\nI'm under the impression that everything that could be accomplished via run stages can now be accomplished by a class that {{contain}}'s whatever classes were in the stage, but do so without any of the limitations above.\n\nThis ticket is to deprecate the use of the {{stage}} type and metaparameter in the 6.x and 7.x streams. I'll file a separate ticket for removal in 8.\n\nSee PUP-893 and commit ce522281f3ecf7681e07fc9808d48eee3422fdf1 for how we deprecated the {{audit}} metaparameter when it appeared in a manifest.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28827", "fixedVersions": [], "id": "28827", "issueType": "Task", "key": "PUP-11211", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Deprecate run stages", "timeSpent": "PT0S", "updated": "2021-09-23T13:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Try passing them as an array of strings, [\u201cl*v\u201d, \u201cC:\\\u2026\u201d]", "created": "2021-08-19T18:29:00.000000"}, {"author": "623c0da5bef8a60068c797d5", "body": "Thanks [~accountid:63d40628f6e1b543161789a7]\u00a0that works perfectly", "created": "2021-08-20T13:22:00.000000"}], "components": ["Windows"], "created": "2021-08-19T13:44:00.000000", "creator": "623c0da5bef8a60068c797d5", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@21d5805c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ap8r:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Aug/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_17113527_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_67971362"}], "description": "*Puppet Version: 6.23*\n *Puppet Server Version: 6.16.1*\n *OS Name/Version: Windows 10*\n\n\u00a0\n\n\u00a0\n\nI'm not able to specify logging options when using the package resource with Windows MSIs. When trying to pass the log parameter, it does not work since Puppet places quotes around it.\n\n\u00a0\n{code:java}install_options => [\n '/l*v c:\\windows\\temp\\msi_log.txt'\n ],{code}\n\u00a0\n\nThis results in:\n{code:java}msiexec /qn /norestart /i C:\\package.msi\u00a0\"/l*v c:\\windows\\temp\\msi_log.txt\"{code}\nIs there a way I can override this behavior to pass the parameter correctly?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21407", "fixedVersions": [], "id": "21407", "issueType": "Bug", "key": "PUP-11210", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0da5bef8a60068c797d5", "resolution": "Done", "resolutionDate": "2021-08-20T13:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "package resource, allow for logging with Windows MSI", "timeSpent": "PT0S", "updated": "2021-08-20T13:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "https://puppetlabs.zendesk.com/agent/tickets/45377", "created": "2021-09-08T02:12:00.000000"}], "components": [], "created": "2021-08-19T05:17:00.000000", "creator": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2342a5db"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0aouj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "On Solaris, installing packages with `pkg` when another instance of `pkg` is already running is not supported. This can happen if Puppet runs in a zone setup, and Puppet runs in different zones happen to run the `pkg install` command at the same time. Now Puppet will retry the install command 5 times (waiting 1s, 2s, 4s, 8s, 16s between runs), ultimately failing if the package could not be installed."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Sep/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_251062085_*|*_1_*:*_1_*:*_2762948666_*|*_10007_*:*_1_*:*_94472365_*|*_3_*:*_1_*:*_420937126_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_174989935"}], "description": "Puppet fails hard if it tries to install a package on Solaris 11 while a {{pkg install}} command is already running in the background.\n\n{{pkg install}} fails with the following error:\n{code:java}root@initial-holdup:~# pkg install nano\npkg: The image cannot be modified as it is currently in use by another package client.\nroot@initial-holdup:~# echo $?\n7 {code}\nThe same error can be reproduced in a zone set up, if you execute {{pkg install something}} concurrently on global and the zone (the following output is from a puppet manifest with the nano package resource):\n{code:java}Debug: Executing: '/usr/bin/pkg install --accept --sync-actuators-timeout 900 nano'\nError: Unable to update  Startup: Linked image publisher check ... Done\npkg: install failed (linked image exception(s)):A 'pubcheck-linked' operation failed for child 'zone:devzone' with an unexpected\nreturn value of 7 and generated the following output:\npkg: The image cannot be modified as it is currently in use by another package client.\nError: /Stage[main]/Main/Package[nano]/ensure: change from 'absent' to 'present' failed: Unable to update  Startup: Linked image publisher check ... Done\npkg: install failed (linked image exception(s)):A 'pubcheck-linked' operation failed for child 'zone:devzone' with an unexpected\nreturn value of 7 and generated the following output:\npkg: The image cannot be modified as it is currently in use by another package client. {code}\n\u00a0\n\nFrom the Solaris pkg manpages ([https://docs.oracle.com/cd/E36784_01/html/E36870/pkg-1.html):]\n{quote}7: The image is currently in use by another process and cannot be modified.\n{quote}\n\u00a0From a Solaris KB article ([https://docs.oracle.com/cd/E53394_01/html/E54739/nomodimg.html]):\n\n\u00a0\n{quote}Try your\u00a0{{pkg}} command again after the current package process exits (process 26604 in this example). If the process does not exit quickly, use {{ptree -a}}, for example, to begin to examine the process.\n{quote}\n\u00a0\n\nWe probably need to implement a similar defense in Puppet, that checks to see if the {{pkg}} command failed with error code 7 and keeps retrying the command a number of times (tbd how many times & how often). 5 x 2^n; 1; 2; 4; 8; 16", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23469", "fixedVersions": ["PUP 6.25.0", "PUP 7.12.0"], "id": "23469", "issueType": "Bug", "key": "PUP-11208", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "resolution": "Fixed", "resolutionDate": "2021-10-01T02:17:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet fails to install packages on Solaris if another pkg install is running", "timeSpent": "PT0S", "updated": "2021-10-05T06:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "602cd85ac0b285006f4f1dc7", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Moved to PUP project as that's where provider suitability/selection is handled.", "created": "2021-08-19T12:37:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Thanks for reporting this [~accountid:557058:f2ee3fe1-33d7-4cc0-9468-a0aeab57eee5] I've been able to reproduce, and it appears puppet has behaved this way for a very long time. The problem starts on the agent side when it converts the {{Puppet::Resource}} object to an instance of {{Puppet::Type::Augeas}}. Since the {{augeas}} type doesn't exist on the agent, puppet will create a {{Puppet::Type::Component}}.\n\nhttps://github.com/puppetlabs/puppet/blob/d567575ba8c5b2c903044b80b0adaab176c8da5d/lib/puppet/resource.rb#L471-L474\n\nLater we apply the component, which is effectively a noop. Also the resource is considered \"unmanaged\" so it never appears in the \"resources.txt\"\n\nhttps://github.com/puppetlabs/puppet/blob/d567575ba8c5b2c903044b80b0adaab176c8da5d/lib/puppet/resource/catalog.rb#L540-L542\n\nI'll continue looking into this.", "created": "2021-08-19T14:35:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This issue can be triggered if puppetserver has the {{augeas_core}} module (which is vendored in puppet-agent). During a pluginsync, those files are *NOT* downloaded, which triggers a long standing bug in puppet. If you run {{puppet module install puppetlabs-augeas_core}} on the puppetserver, then the agent will pluginsync the type/provider, but fail the run as expected with:\n\n{noformat}\nError: Could not find a suitable provider for augeas\n{noformat}\n\nThis issue can occur with any of the vendored core modules:\n\n{noformat}\n# ls -1 /opt/puppetlabs/puppet/vendor_modules/\naugeas_core\ncron_core\nhost_core\nmount_core\nscheduled_task\nselinux_core\nsshkeys_core\nyumrepo_core\nzfs_core\nzone_core\n{noformat}\n", "created": "2021-08-19T16:02:00.000000"}, {"author": "557058:f2ee3fe1-33d7-4cc0-9468-a0aeab57eee5", "body": "I have to repeat some tests, but I believe it didn't make a difference whether I had added the augeas_core module or not. Because originally I didn't have it and added it when trying to find the reason why it wouldn't work.\n\n\u00a0\n\nMy Puppetfile is\n\n\nmoduledir '/opt/puppet/modules'\n\nmod 'puppetlabs-apache'\nmod 'puppetlabs-apt'\nmod 'puppetlabs-augeas_core'\nmod 'puppetlabs-concat'\nmod 'puppetlabs-firewall'\nmod 'puppetlabs-inifile'\nmod 'puppetlabs-mysql'\nmod 'puppetlabs-ntp'\nmod 'puppetlabs-postgresql'\nmod 'puppetlabs-rsync'\nmod 'puppetlabs-stdlib'\nmod 'puppetlabs-vcsrepo'\n\nmod 'ethanhs-snapd'\n\nmod 'puppet-nginx'\nmod 'puppet-prometheus'\nmod 'puppet-rabbitmq'\n\n\u00a0\n\n\u00a0\n\nwhere the augeas_core was added only when trying to get this running. I just adding this Puppetfile to the docker image and run r10k puppetfile install to prepare the puppet server container.\n\n\u00a0\n\n\u00a0", "created": "2021-08-19T16:14:00.000000"}, {"author": "557058:f2ee3fe1-33d7-4cc0-9468-a0aeab57eee5", "body": "Does that mean it now works or just that it reliably aborts with a proper failure message instead of silently ignoring errors?", "created": "2021-10-01T04:47:00.000000"}], "components": [], "created": "2021-08-18T18:51:00.000000", "creator": "557058:f2ee3fe1-33d7-4cc0-9468-a0aeab57eee5", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@617456da"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": ["Impediment"]}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0au4o:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Previously, all unknown resources were converted into a component (`Puppet::Type::Component`) by default and silently skipped when applying a catalog. This fix adds a new resource attribute that specifies the resource kind, which is used to differentiate between built-in types and user defined types. Now resources that are known and available on server node are also verified on the agent node which now fails when something unknown is found in the received catalog."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Aug/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_71028228_*|*_10007_*:*_1_*:*_2754475614_*|*_3_*:*_1_*:*_351280696_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_246505251_*|*_10005_*:*_1_*:*_323236783"}], "description": "Nasty Security and Configuration problem.\n\nI'm currently testing and migrating an older puppet configuration made for puppet 5 (as delivered with ubuntu 20.04) with puppet 7. Since Ubuntu doesn't deliver anything above puppet 5, I'm using\n\nserver side: Ubuntu 20.04, running puppet server in the official puppet/puppetserver, latest version from today, running puppetserver 7.3.0, installing some modules through Puppetfile\nclient side: Ubuntu 20.04, using the regular ruby package from ubuntu and the gem puppet 7.10.0\n\nI'm using the augeas \\{...}\u00a0 resource type to configure several security relevant file, e.g. to turn password authentication off in /etc/ssh/sshd_config.\n\nI've noticed that puppet agent --test\u00a0 ran smoothly and silently without any error message, reporting success, but did not execute the augeas commands. Therefore, the configured machine is running as if puppet was successful, but still with weak security options.\n\n{color:#ff8b00}*This is highly dangerous.* {color}\n\nI did some debugging and found, that on the server side maybe thee module augeas_core was missing (which I have installed then) and on the client side the packages ruby-augeas and augeas-tools where not installed. Even then, it did not work, but silently reported success.\n\nThe reason is that the ubuntu package ruby-augeas contains the file\n\n/usr/lib/ruby/vendor_ruby/augeas.rb\n\nwhich is never found by the puppet agent. strace reveals that the agent looks for augeas.rb on plenty of locations, but not there, and thus never finds it.\n\nAgain, the agent does not report any problem, and silently finishes as if everything war running well, leaving files like /etc/ssh/sshd_config unconfigured.\n\nWhatever modules, gems, programs are missing or cannot be found, under no circumstances should puppet, neither server nor agent, ever report success for something it hasn't actually done.\n\nI'm not really sure whether this is a server or agent side problem. But since the agent (unsuccessfully) tries to find augeas.rb and /opt/puppetlabs/puppet/cache/client_data/catalog/hostname.json contains the translated ressource, this is rather an agent side problem. \n\u00a0\n\n\u00a0\n\n\u00a0\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21406", "fixedVersions": ["PUP 6.25.1", "PUP 7.12.1"], "id": "21406", "issueType": "Bug", "key": "PUP-11209", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": "22386", "parentSummary": "Security Fixes", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:f2ee3fe1-33d7-4cc0-9468-a0aeab57eee5", "resolution": "Fixed", "resolutionDate": "2021-10-01T03:33:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "puppet agent silently skips augeas settings, possibly causing severe security problems", "timeSpent": "PT0S", "updated": "2021-12-06T15:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I can't reproduce the issue. I have a module {{a}}\u00a0that does a lookup of module {{b}} which has per-module hiera data, and it looks up the key as expected: \n\n{noformat}\n# tree /etc/puppetlabs/code/environments/production/\n/etc/puppetlabs/code/environments/production/\n\u251c\u2500\u2500 data\n\u251c\u2500\u2500 environment.conf\n\u251c\u2500\u2500 hiera.yaml\n\u251c\u2500\u2500 manifests\n\u2514\u2500\u2500 modules\n    \u251c\u2500\u2500 a\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 manifests\n    \u2502\u00a0\u00a0     \u2514\u2500\u2500 init.pp\n    \u2514\u2500\u2500 b\n        \u251c\u2500\u2500 data\n        \u2502\u00a0\u00a0 \u2514\u2500\u2500 common.yaml\n        \u2514\u2500\u2500 hiera.yaml\n\n7 directories, 5 files\n# cat /etc/puppetlabs/code/environments/production/hiera.yaml \n---\nversion: 5\nhierarchy:\n  - name: \"Common\"\n    paths:\n      - \"common.yaml\"\n# cat /etc/puppetlabs/code/environments/production/modules/a/manifests/init.pp \nclass a {\n  notice(lookup(\"b::key\"))\n}\n# cat /etc/puppetlabs/code/environments/production/modules/b/hiera.yaml \n---\nversion: 5\nhierarchy:\n  - name: \"Common values\"\n    path: \"common.yaml\"\n# cat /etc/puppetlabs/code/environments/production/modules/b/data/common.yaml \n---\nb::key: from module b\n# puppet lookup b::key\n--- from module b\n# puppet apply -e \"include a\"\n[Notice: Scope(Class[A]): from module b\n{noformat}\n\n[~accountid:5a324d9173ad9e3ead237a23] can you provide steps to reproduce the issue?", "created": "2021-08-17T16:55:00.000000"}, {"author": "5a324d9173ad9e3ead237a23", "body": "The issue is not about per-module data. That works fine. The issue is about environment data specifically when one uses %\\{module_name} in hiera.yaml. Here is a simple example:\n{noformat}\nvagrant@ubuntu-focal:/vagrant/environment/testing$ tree .\n.\n\u251c\u2500\u2500 data\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 a.yaml\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 b.yaml\n\u251c\u2500\u2500 hiera.yaml\n\u251c\u2500\u2500 manifests\n\u2514\u2500\u2500 modules\n    \u251c\u2500\u2500 a\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 manifests\n    \u2502\u00a0\u00a0     \u2514\u2500\u2500 init.pp\n    \u2514\u2500\u2500 b\n        \u2514\u2500\u2500 manifests\n            \u2514\u2500\u2500 init.pp7 directories, 5 files\nvagrant@ubuntu-focal:/vagrant/environment/testing$ head hiera.yaml data/*.yaml modules/*/manifests/init.pp \n==> hiera.yaml <==\nversion: 5\nhierarchy:\n  - name: \"Configure each module seperately\"\n    path: \"%{module_name}.yaml\"\n==> data/a.yaml <==\na::key: keyA\n==> data/b.yaml <==\nb::key: keyB\n==> modules/a/manifests/init.pp <==\nclass a ($key) {\n    notice($key)\n    notice(lookup(\"b::key\",undef,undef,\"lookup for b::key failed\"))\n}\n==> modules/b/manifests/init.pp <==\nclass b ($key) {\n    notice($key)\n    notice(lookup('b::key',undef,undef,\"lookup for b::key failed\"))\n}\n{noformat}\nThis shows the issue, automatic parameter lookup works fine, lookup of data for another module does not.\n{noformat}vagrant@ubuntu-focal:/vagrant/environment/testing$ puppet apply --codedir=. -e 'include a'\nNotice: Scope(Class[A]): keyA\nNotice: Scope(Class[A]): lookup for b::key failed\nNotice: Compiled catalog for ubuntu-focal.workspace.rug.nl in environment production in 0.05 seconds\nNotice: Applied catalog in 0.01 seconds\n{noformat}\nthis shows that module b works correctly:\n{noformat}vagrant@ubuntu-focal:/vagrant/environment/testing$ puppet apply --codedir=. -e 'include b'\nNotice: Scope(Class[B]): keyB\nNotice: Scope(Class[B]): keyB\nNotice: Compiled catalog for ubuntu-focal.workspace.rug.nl in environment production in 0.04 seconds\nNotice: Applied catalog in 0.01 seconds\n{noformat}\nI added a default value for {{lookup()}} to prevent the commands from failing.\n\nOn close examination of the documentation it seems that the {{lookup()}} function works as described, that is not the issue. It is more that this usage should also work. Currently I can work around the problem by adding a per-module {{hiera.yaml}} file with a datadir pointing back to the environment datadir. But that seems abit hackish.", "created": "2021-08-18T02:35:00.000000"}], "components": ["Hiera & Lookup"], "created": "2021-08-17T03:29:00.000000", "creator": "5a324d9173ad9e3ead237a23", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4f74ef7a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master Config", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Split"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0alzn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Aug/21"}], "description": "*Puppet Version: 7.X*\n *Puppet Server Version: 7.X*\n *OS Name/Version: Debian 10,Ubuntu 20.04*\n\nWith an environment {{hiera.yaml}} file that contains a hierarchy like:\n{code:yaml}hierarchy:\n-name: per module config\n\u00a0 path: %{role}/%{module_name}.yaml\n{code}\nAutomatic class parameter lookup works as expected (ie. it is possible to define per module data in hiera). However the {{lookup()}} function when called with\u00a0 parameters {{<MODULE NAME>::<SOMETHING>}} from any other module sets {{%{module_name\\}}} to the current module and not to {{<MODULE NAME>}}. The result is that {{lookup()}} does not find the parameter if the only place it is defined in is {{data/%{role\\}/%{module_name\\}.yaml}}\n\n*Desired Behavior:*\n\nlookup({{<MODULE NAME>::<SOMETHING>) should always set %\\{module_name} to <MODULE NAME>.}}\n \u00a0\nh3. Proposed fix:\n{code:diff}lib/puppet/pops/lookup/invocation.rb | 2 +- modified lib/puppet/pops/lookup/invocation.rb\n@@ -72,7 +72,7 @@ class Invocation\n def lookup(key, module_name = nil)\n key = LookupKey.new(key) unless key.is_a?(LookupKey)\n @top_key = key\n- @module_name = module_name.nil? ? key.module_name : module_name\n+ @module_name = key.module_name.nil? ? module_name : key.module_name\n save_current = self.class.current\n if save_current.equal?(self)\n yield\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21405", "fixedVersions": [], "id": "21405", "issueType": "Improvement", "key": "PUP-11207", "labels": ["hiera", "lookup"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a324d9173ad9e3ead237a23", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "lookup() does not seem to work as expected", "timeSpent": "PT0S", "updated": "2021-08-19T15:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5b9fcedc03b52466f05c4510", "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "should we also check the acceptance Gemfile? -> No, no added value\n\nbeside facter, should be implemented for puppet project", "created": "2021-08-17T15:50:00.000000"}], "components": [], "created": "2021-08-12T01:46:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@79aee1e9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0aiir:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_564929233_*|*_3_*:*_1_*:*_72038708_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_395956013"}], "description": "-Implement snyk scanner on puppet-agent project ([https://github.com/puppetlabs/puppet-agent|https://github.com/puppetlabs/puppet-agent/], if needed) and dependent ruby projects (puppet/core-modules/puppet-runtime/etc)-\n\nWe should implement snyk monitor on puppet main branch", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25541", "fixedVersions": ["PUP 6.25.0", "PUP 7.11.0"], "id": "25541", "issueType": "Task", "key": "PUP-11205", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "resolution": "Fixed", "resolutionDate": "2021-08-24T00:41:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "implement snyk Code Scanning for puppet", "timeSpent": "PT0S", "updated": "2021-09-27T06:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [], "components": [], "created": "2021-08-09T08:41:00.000000", "creator": "70121:513396e5-6d1e-4ed4-acee-3752a305e2af", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@31005da0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11052"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0biqw:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Before this release, `puppet lookup --facts {filename}` failed early when the filename given did not contain a dot. This fix removes the early extensions check and adds a fallback instead \u2014 tries both formats (JSON then YAML) to read the given facts file when its path doesn't end with any of the expected extensions (yaml/yml/json). Otherwise, it follows previous implementation and respects given extension."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_606471129_*|*_1_*:*_1_*:*_603673289_*|*_10007_*:*_1_*:*_1468156265_*|*_3_*:*_1_*:*_186917078_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_4387507047"}], "description": "Calling:\n{code:java}\npuppet lookup --facts dummy keyX\nError: Could not parse application options: undefined method `[]' for nil:NilClass\n{code}\nFails because the code that verifies the filename expects, that the filename contains a dot:\n{code:java}\n  option('--facts FACT_FILE') do |arg|\n    if %w{.yaml .yml .json}.include?(arg.match(/\\.[^.]*$/)[0])\n      options[:fact_file] = arg\n    else\n      raise _(\"The --fact file only accepts yaml and json files.\\n%{run_help}\") % { run_help: RUN_HELP }\n    end\n  end\n{code}\nAlso, verifying based on the filename that the file contains json/yaml data is not correct in my opinion. In my opinion, the following should also be supported:\n{code:java}\npuppet lookup --facts <(puppet facts find $nodename | jq .values) --node $nodename keyX\n{code}", "epicLinkSummary": "Trusted facts lookup", "estimate": "PT0S", "externalId": "28825", "fixedVersions": ["PUP 6.26.0", "PUP 7.13.0"], "id": "28825", "issueType": "Bug", "key": "PUP-11204", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": "26636", "parentSummary": "Trusted facts lookup", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:513396e5-6d1e-4ed4-acee-3752a305e2af", "resolution": "Fixed", "resolutionDate": "2021-11-01T07:20:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "puppet lookup --facts {filename} fails if filename does not contain a dot", "timeSpent": "PT0S", "updated": "2021-12-08T09:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "623c0da5bef8a60068c797d5", "created": "2021-08-06T15:03:00.000000", "name": "image-2021-08-06-17-03-48-841.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11960"}], "comments": [], "components": ["Modules"], "created": "2021-08-06T15:02:00.000000", "creator": "623c0da5bef8a60068c797d5", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@59632a7b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11215"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0adhf:"}], "description": "*Puppet Version: 6.23*\n *Puppet Server Version: 6.16*\n *OS Name/Version: Any*\n\nIn a lot of cases, when running a puppet module upgrade if there are dependency issues, the wrong module is recommended. This forces the admin to need to grep through module metadata.json files to find the correct one\n\n*Desired Behavior:*\n Puppet should better detect which module is failing dependencies\n\n*Actual Behavior:*\n\n\u00a0\n\nExample: Upgrading puppet-nodejs from version 7.0.1 to latest with puppetlabs-stdlib 6.6.0 and wazuh-wazuh 4.0.4 installed\n\n\u00a0\n{code:java}puppet module upgrade puppet-nodejs\n\nError: Could not upgrade module 'puppet-nodejs' (v7.0.1 -> latest)\n  There are 3 newer versions\n    No combination of dependency upgrades would satisfy all dependencies\n    Dependencies will not be automatically upgraded across major versions\n    Upgrading one or more of these modules may permit the upgrade to succeed:\n    - puppetlabs-stdlib\n    Use `puppet module upgrade --force` to upgrade only this module\n\n{code}\nPuppet recommends updating puppetlabs-stdlib however version 6.6.0 satisfies the dependency requirement on Forge for nodejs ([puppetlabs/stdlib|https://forge.puppet.com/modules/puppetlabs/stdlib]\u00a0(>= 4.25.0 < 8.0.0))\n\n\u00a0\n\nAfter grepping which modules contains nodejs, it is found that the wazuh module's manifest has nodejs as a dependency with version\u00a0>= 3.0.0 < 8.0.0 specified. Puppet should be able to determine this on its own.\n\n!image-2021-08-06-17-03-48-841.png!\n\n\u00a0", "epicLinkSummary": "Fix puppet module/semantic_puppet dependencies handling ", "estimate": "PT0S", "externalId": "24548", "fixedVersions": [], "id": "24548", "issueType": "Bug", "key": "PUP-11203", "labels": [], "originalEstimate": "PT0S", "parent": "24553", "parentSummary": "Fix puppet module/semantic_puppet dependencies handling ", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0da5bef8a60068c797d5", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "puppet module upgrade often reports the wrong module when resolving dependency issues", "timeSpent": "PT0S", "updated": "2021-08-23T06:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:623c12ff94742a00683e41fd]^^^", "created": "2021-10-01T07:42:00.000000"}], "components": [], "created": "2021-08-06T07:38:00.000000", "creator": "623c12ff94742a00683e41fd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@31841c0e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0a9ij:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Aug/21"}], "description": "[Docs|https://puppet.com/docs/puppet/6/types/user.html#user-attribute-managehome] state support for the *managehome* parameter of user resource on Windows but it does not seem to work, as seen below:\n{code:bash}\n> puppet resource user 'test' ensure=present\nNotice: /User[test]/ensure: created\nuser { 'test':\n  ensure   => 'present',\n  provider => 'windows_adsi',\n}\n\n> puppet resource user 'test' ensure=absent managehome=true\nError: Could not set 'absent' on ensure: (in OLE method `Delete': )\n    OLE error code:80070002 in SWbemServicesEx\n      The system cannot find the file specified.\n    HRESULT error code:0x80020009\n      Exception occurred.\nError: Could not set 'absent' on ensure: (in OLE method `Delete': )\n    OLE error code:80070002 in SWbemServicesEx\n      The system cannot find the file specified.\n    HRESULT error code:0x80020009\n      Exception occurred.\nWrapped exception:\n(in OLE method `Delete': )\n    OLE error code:80070002 in SWbemServicesEx\n      The system cannot find the file specified.\n    HRESULT error code:0x80020009\n      Exception occurred.\nError: /User[test]/ensure: change from 'present' to 'absent' failed: Could not set 'absent' on ensure: (in OLE method `Delete': )\n    OLE error code:80070002 in SWbemServicesEx\n      The system cannot find the file specified.\n    HRESULT error code:0x80020009\n      Exception occurred.\nuser { 'test':\n  ensure   => 'absent',\n  provider => 'windows_adsi',\n}\n\n> puppet --version\n7.9.0\n{code}\n\nAlso, even though *home* is a user property it's not always populated:\n{code:bash}\nFrom: C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/provider/user/windows_adsi.rb @ line 129 windows_adsi#home:\n\n    128: def home\n => 129:   require 'pry'; binding.pry\n    130:   user['HomeDirectory']\n    131: end\n[1] pry(#<Puppet::Type::User::ProviderWindows_adsi>)> user\n=> #<Puppet::Util::Windows::ADSI::User:0x0000000006548890 @name=\"Administrator\", @native_object=nil>\n[2] pry(#<Puppet::Type::User::ProviderWindows_adsi>)> user['HomeDirectory']\n=> \"\"\n[3] pry(#<Puppet::Type::User::ProviderWindows_adsi>)> continue\n\nFrom: C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/provider/user/windows_adsi.rb @ line 129 windows_adsi#home:\n\n    128: def home\n => 129:   require 'pry'; binding.pry\n    130:   user['HomeDirectory']\n    131: end\n[1] pry(#<Puppet::Type::User::ProviderWindows_adsi>)> user\n=> #<Puppet::Util::Windows::ADSI::User:0x0000000006f23b30 @name=\"cyg_server\", @native_object=nil>\n[2] pry(#<Puppet::Type::User::ProviderWindows_adsi>)> user['HomeDirectory']\n=> \"C:\\\\cygwin64\\\\var\\\\empty\"\n{code}\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20270", "fixedVersions": [], "id": "20270", "issueType": "Bug", "key": "PUP-11202", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c12ff94742a00683e41fd", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "managehome=true on Windows fails", "timeSpent": "PT0S", "updated": "2021-10-01T07:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "Current implementation is:\n # If environment specified on CLI, use it\n # If environment specified on puppet.conf, use it\n # If last environment was server-specified, use it\n # Otherwise use our {{default (production)}}\n\nThis should be fixed since it will be different behavior than before, when we used to do the node request.\n\n\u00a0\n\n\u00a0", "created": "2021-08-09T01:16:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Previous behavior (before we removed the node request) was to skip the node request if a cached catalog/catalog is given, or if {{strict_environment_mode}} is true. So the node request was always performed regardless of the CLI/config value for environment", "created": "2021-08-09T03:53:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "I opened a PR with the suggested changes here: [https://github.com/puppetlabs/puppet/pull/8733]\n\n\u00a0", "created": "2021-08-09T09:18:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "What is the expected behavior if a specified environment is not found? Previously, running {{puppet agent -t --environment test}} would error if the 'test' environment didn't exist. Now it falls back to a good environment ('production' in my case, but not sure if that's coming from the last-used env or just defaults to 'production' or something else). Is that the new desired behavior? ", "created": "2021-08-09T12:27:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "That's the correct\u00a0(new) behavior, work for that was done in https://puppet.atlassian.net/browse/PUP-6802", "created": "2021-08-09T12:53:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "I think that the environment is specified in command line has always priority and the last server environment is not used in this case. I can see the following cases\n # the server is authoritative and the environment requested by the agent is not existing: this was an issue and it was fixed in https://puppet.atlassian.net/browse/PUP-6802 and the environment to be used will be decided by server\n # the agent is authoritative and the environment requested by the agent is not existing: now it will fail faster\n\n[~accountid:557058:55b23daa-f1aa-41fd-b10d-bf49a61932da], can you detail your test case?\n\n\u00a0", "created": "2021-08-09T13:16:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "sure, the following r10k acceptance tests are currently failing:\n* https://github.com/puppetlabs/r10k/blob/main/integration/tests/user_scenario/complex_workflow/multi_env_add_change_remove.rb#L161\n* https://github.com/puppetlabs/r10k/blob/main/integration/tests/user_scenario/complex_workflow/multi_env_remove_re-add.rb#L87\n* https://github.com/puppetlabs/r10k/blob/main/integration/tests/user_scenario/complex_workflow/multi_env_unamanaged.rb#L76\n\n(see [failing job|https://jenkins-enterprise.delivery.puppetlabs.net/job/enterprise_pe-r10k-vanagon_pkg-int-sys-testing_2019.8.x/CLIENT_TEST_TARGET=redhat7-64.mdca,CT_COMPONENT=rubygem_r10k,GIT_PROVIDER=shellgit,SLAVE_LABEL=k8s-beaker/47/] for details)\n\nThese are testing cases where an environment has been deleted or was never managed in the first place, so puppet should not be able to run against these environments. We previously expected puppet runs to fail, but now they fall back to the 'production' environment. We can update our tests if need be, but I wasn't sure if this behavior was intentional or if it's a bug.", "created": "2021-08-09T13:35:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "It looks that if the environment was deleted, the default classifier answers to the agent to use the production environment, this is what makes the agent run to continue with the production environment.\n\nThis could be confusing for people using non-existing environment and expecting puppet-run to fail even if the classifier would classify agent to different environment\n\n\u00a0", "created": "2021-08-10T02:05:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Merged to 6.x in [https://github.com/puppetlabs/puppet/commit/500e5144702b7ebbccb3ae70a4c6033f3d8cd9b4]\n\nAdditional test fix was merged to 6.x in [https://github.com/puppetlabs/puppet/commit/c13689d9dfda6e125d0d66c5ab278bb2e530dd22]", "created": "2021-08-11T22:59:00.000000"}], "components": [], "created": "2021-08-05T18:04:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3fab03bb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10539"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0a9ff:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "This issue was introduced during development and never released."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Aug/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_148261198_*|*_1_*:*_1_*:*_286779735_*|*_10007_*:*_1_*:*_79619357_*|*_3_*:*_1_*:*_14453508_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_2_*:*_6997739"}], "description": "With the recent changes in PUP-10216, the agent stores the last used environment in {{last_run_summary.yaml}}. If the next run does not specify an environment on the CLI, then the last used environment *always* takes precedence over the environment specified in puppet.conf. For example, given:\n{noformat}# puppet agent -t --environment feature_branch\n# puppet agent -t\n{noformat}\nIf the agent is allowed to specify its environment:\n\nPrior to PUP-10216, the second run would use the original configured environment from puppet.conf or default to \"production\".\n\nAfter PUP-10216, the second run uses the \"feature_branch\" environment. This is also true if the second run occurs in the background (systemd/cron), which is especially surprising.\n\nIn cases where the agent is *not* allowed to specify its environment, the last used environment provides the same function that the node request did. So the agent's behavior before and after PUP-10216 is the same, assuming the agent pluginsync'ed the right set of facts and classification doesn't change between runs.\n\nThis ticket proposes we make an exception for the agent-specified case so that the second run only uses the environment from the previous run if it was server-specified. Otherwise, the agent should start in its configured environment (from puppet.conf) or default to \"production\".\n\nSo I think this means:\n # If environment specified on CLI, use it\n # If last environment was server-specified, use it\n # Otherwise use our configured environment {{Puppet[:environment]}}\n\nI think we can detect if the last environment was server-specified by saving both the initial environment and the converged environment in {{last_run_summary.yaml}}. If those are different, then the server told us to use a different environment.\n\nIf they are the same, then it doesn't matter if it's agent or server-specified, just use Puppet[:environment]\n\nInitial should be initially set with the values from first run (step 1 or 3) and carried over, not overwritten with values received from server", "epicLinkSummary": "Environment convergence", "estimate": "PT0S", "externalId": "26688", "fixedVersions": ["PUP 6.25.0", "PUP 7.10.0"], "id": "26688", "issueType": "Bug", "key": "PUP-11201", "labels": [], "originalEstimate": "PT0S", "parent": "24513", "parentSummary": "Environment convergence", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-08-11T22:59:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Refine when the last used environment is used", "timeSpent": "PT0S", "updated": "2021-09-27T06:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/a64d9e31537843bbc20cf824a986c7829d8b9644", "created": "2021-08-06T17:53:00.000000"}, {"author": "5b9fcedc03b52466f05c4510", "body": "passed main CI as part of https://github.com/puppetlabs/puppet/commit/8ed2564a3b0978ce0880af904df56d79637c15e8", "created": "2021-08-12T02:43:00.000000"}], "components": [], "created": "2021-08-05T16:11:00.000000", "creator": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@c75a2c8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0a9dv:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Allow tasks to load files from the scripts mount."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Aug/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_463796049_*|*_1_*:*_1_*:*_53924337_*|*_10009_*:*_1_*:*_38554775_*|*_5_*:*_1_*:*_0"}], "description": "When loading files specified in Task metadata, Puppet specifies which mounts those files can be loaded from. This adds the scripts mount to the list of mounts that Task files can be loaded from.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29799", "fixedVersions": ["PUP 6.25.0", "PUP 7.10.0"], "id": "29799", "issueType": "Bug", "key": "PUP-11200", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "resolution": "Fixed", "resolutionDate": "2021-08-12T02:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Allow loading from scripts mount when loading Task files", "timeSpent": "PT0S", "updated": "2021-08-12T02:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [], "components": [], "created": "2021-08-05T07:18:00.000000", "creator": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@634b677"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0a91f:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Document {{noop}} behavior of {{onlyif}} and {{unless}} parameters of the {{exec}} resource. (not sure if this should make the release notes)"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Aug/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_270741566_*|*_1_*:*_1_*:*_8246_*|*_10007_*:*_1_*:*_73623694_*|*_3_*:*_1_*:*_6786006_*|*_5_*:*_1_*:*_0"}], "description": "Taken from: https://groups.google.com/g/puppet-users/c/axT5CfVNDXU\n\nThe {{noop}} flag tells Puppet to determine which resources are out of sync, and to report them without actually synchronizing them. The 'onlyif' and 'unless' commands of an Exec are used in the process of determining whether the Exec is already in sync, therefore they must be run during a {{--noop}} Puppet run. The synchronization of an out-of-sync Exec resource involves only running the command given by its 'command' property, so that's the only part that {{--noop}} prevents.\n\n\u00a0\n\nUp until https://github.com/puppetlabs/puppet/commit/c127bcb1f6b3d0a0e7b9122352162528fbb65b6c {{onlyif}} and {{unless}} commands did not run in the specified {{cwd}}, which might have given the wrong impression that {{noop}} also applies to those parameters. Applying something like the following manifest would have worked prior to that commit:\n\n{code}\nexec { \"hello world\":\n cwd => '/home/gabi/tmp/abc',\n command => \"/bin/echo hello world\",\n onlyif => \"/bin/test -e asd\",\n}\n{code}\n\nAfter puppet 5.5.7 applying the manifest above with {{--noop}} fails with the following error (provided that the cwd does not exist):\n\n{code}\nError: /Stage[main]/Main/Exec[hello world]: Could not evaluate: Working directory /home/gabi/tmp/abc does not exist!\n{code}\n\nThis is expected behavior since {{noop}} does not prevent {{onlyif}} and {{unless}} from being run. We should document this behavior.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26687", "fixedVersions": ["PUP 6.25.0", "PUP 7.10.0"], "id": "26687", "issueType": "Improvement", "key": "PUP-11199", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "resolution": "Fixed", "resolutionDate": "2021-08-09T08:50:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Document exec type's 'onlyif' and 'unless' commands behavior with --noop", "timeSpent": "PT0S", "updated": "2021-09-27T06:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "maybe a dup of PUP-9819?", "created": "2021-08-04T16:46:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "*facepalm* yes, looks like I commented on that one an eternity ago", "created": "2021-08-04T23:07:00.000000"}], "components": [], "created": "2021-08-04T09:20:00.000000", "creator": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3339fba"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0a8eb:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Aug/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_49637620_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:* reproduced with latest nightly (7.9.0.something)\n *Puppet Server Version:* n/a\n *OS Name/Version:* macOS 11 (probably others as well)\n\nAn user with an embedded XML ShadowHashData plist will fail to parse correctly. The current directoryservice logic always expects embedded binary plists: [https://github.com/puppetlabs/puppet/blob/9d0de43eefce442c7a329075aea9700b449f5987/lib/puppet/provider/user/directoryservice.rb#L148]\n\nfailing object:\n{code}[11] pry(directoryservice)> attribute_hash\n=> {:guid=>\"0DCC37EC-F153-4225-A24F-A9C402B7EAE4\",\n :home=>\"/Users/it-admin\",\n :password=>\"********\",\n :gid=>20,\n :comment=>\"IT Admin\",\n :name=>\"it-admin\",\n :uid=>501,\n :shell=>\"/bin/zsh\",\n :ensure=>:present,\n :provider=>:directoryservice,\n :shadowhashdata=>\n  [\"<dict><key>SALTED-SHA512-PBKDF2</key><dict><key>entropy</key><data>wuNIQpiOdd/VETAO1tScduPp12lZo2Y9NCCN4DsSn4S9RW/yn9E3kZ7/u1OIK4BSWhF0HcT76wrTA29wy666YUQwCBskLw9wkO1UiRcPT1PIM1MhqmEkFZ/2GCSr447zXuMCwXXPbHRl33ePHqc95hZiCE4yIliq2n+9mn3RsNg=</data><key>iterations</key><integer>35279</integer><key>salt</key><data>95wTw19bCcvLG2y63//4HavWalWAOWQj/QwvD92pfrc=</data></dict></dict>\"],\n :groups=>\"_appserveradm,_appserverusr,_lpadmin,admin,staff\"}\n{code}\ngood object\n{code}[1] pry(directoryservice)> attribute_hash\n=> {:guid=>\"94F73AE5-5D18-446F-BCA3-B41E36CFBB58\",\n :home=>\"/dev/null\",\n :password=>\"********\",\n :gid=>703,\n :comment=>\"SophosEndpoint\",\n :name=>\"_sophos\",\n :uid=>504,\n :shell=>\"/usr/bin/false\",\n :ensure=>:present,\n :provider=>:directoryservice,\n :shadowhashdata=>\n  [\"62706c69 73743030 d2010203 0a5f101e 5352502d 52464335 3035342d 34303936 2d534841 3531322d 50424b44 46325f10 1453414c 5445442d 53484135 31322d50 424b4446 32d30405 06070809 58766572 69666965 72547361 6c745a69 74657261 74696f6e 734f1102 003a2e27 eae7a5d2 843a63cf 4344147e af0a8261 e93c0e36 8b54a7cb 533ecca0 bd10a4f2 5ece2765 ae819f24 6c0dbd3d 24bc03ae 9106b118 daed9fe8 5c09e6cf 006d6837 35008851 f50564cb b08146a8 9752bffe fbc2f0ed 3681998b 2ead12ed e808f0ee 4c486c29 742aa5fd 81a15483 f0d7d3dc 8941a4c3 b05d7ede 0efc0fe8 4b07a053 cdd554ac 4e915e47 830fa935 e7556d43 b08119f4 033207e9 12be342b cee78077 04443f93 2a8faf00 c49702d9 bf990238 af680676 3c29e8a7 7c51de42 5f597b9b ed3d6c7b 72b61c8f 2a729d25 a9fa69dc 5db1516d bbea3125 3f0acac7 a39e5f8b c71b3656 2fef3027 a691e6bc 4327afb8 8a183905 ae2c6bd4 7e1f716f a8495dd0 2a9bc04e 75bf94a1 97c8fb26 ee08b013 d25dbe3d c84db248 484aaed6 75680b71 70b7ff05 f0e790cc f8da7c31 1272e682 3c579242 af1aca01 ffd567c4 fa0122f9 778b7b24 dcdacdc6 32a1cbb3 19cd6939 ebcf6dcb e3fbf121 237dd80c 2223de07 b60b55cb 907fe686 ae5a48ae 646be086 e699cde4 38e1628a 917ab61e b0014946 de877e37 8a544c8e e5fc3cb8 16578ec3 84256d43 c9146000 4195d769 44d04b60 ea4b569f ddc3fc3d 394b14c1 94a928df afd42e7d ed9e162a 9351e991 5badba97 b81e6cf6 dbfd9249 c45ca8dd a1f3338d a8668648 1da3f7bb c02e0ed4 17674988 2b88f74f 22791185 75d453b4 5ea69165 3cc1dafc a2d3f4a4 f3d69717 f54f1020 ed74982d 30b0dfb7 dd01fcdf eacba783 f3f5d527 ea1ee5c1 522dda7c 1d4b63ce 1200020f dfd30b05 060c0d0e 57656e74 726f7079 4f108082 d20410cd f7360d6c f3fed292 79f82987 f579b289 2163ca17 59140cd2 63c3af92 a9f58aa4 ec43a8af bcde5c8b baaef5fa 5a583962 23184fae 7850220f 1b23be31 c10eb4f5 83fd5b70 0b8eda18 91dc9430 47099f60 7c245d6c 710cd608 9163b4f5 6aad265f 9a1e8239 f1143ec5 983c33b9 4b5effff cfe836a8 3431a732 b1608a4f 102000b5 96992b40 025b7115 a5f17886 98613b27 cafec848 9e86e2b7 2c1c0a32 e9971200 02171a00 08000d00 2e004500 4c005500 5a006502 69028c02 91029802 a0032303 46000000 00000002 01000000 00000000 0f000000 00000000 00000000 00000003 4b\"],\n :groups=>\"staff\"}\n{code}\n*Desired Behavior:*\n\nCommands like {{puppet resource user}} work without raising an error.\n\n*Actual Behavior:*\n{code}> puppet resource user --trace\nDebug: Converting binary plist to hash\nDebug: Failed with CFFormatError on : #<CFFormatError: content after root object>\nError: Could not run: undefined method `[]' for nil:NilClass\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/user/directoryservice.rb:150:in `generate_attribute_hash'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/user/directoryservice.rb:88:in `block in instances'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/user/directoryservice.rb:87:in `collect'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/user/directoryservice.rb:87:in `instances'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type.rb:1186:in `block in instances'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type.rb:1185:in `collect'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type.rb:1185:in `instances'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/resource/ral.rb:24:in `search'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:299:in `search'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/resource.rb:242:in `find_or_save_resources'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/resource.rb:147:in `block in main'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:306:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/resource.rb:142:in `main'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:437:in `run_command'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:421:in `block in run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:744:in `exit_on_fail'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:421:in `run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:143:in `run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:77:in `execute'\n/opt/puppetlabs/puppet/bin/puppet:5:in `<main>'\n{code}\nI manually validated that the XML plist string can be parsed using {{Puppet::Util::Plist.parse_plist}} provided the plist has the correct DOCTYPE preamble (in this case it has to be added manually \u2013 something like {{'<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">' + plist_data + '</plist>'}}\n\nAnother thing to check would be whether embedded XML plists in ShadowHashData are valid at all; so try creating an account this way and attempt to log in. This specific \"bad\" plist comes from an MDM account.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23466", "fixedVersions": [], "id": "23466", "issueType": "Bug", "key": "PUP-11198", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "resolution": "Duplicate", "resolutionDate": "2021-08-04T23:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Directoryservice user provider unable to deserialize XML ShadowHashData plists", "timeSpent": "PT0S", "updated": "2021-08-04T23:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-08-04T02:14:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@438e6fe5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3903"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0gzuo:zw"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "0.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Jun/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2078_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_29060122501"}], "description": "Update Public-facing Puppet docs to include this platform\n\nThis ticket will be set with the fix version of the first release containing the new platform and checked with doc team during the Platform release process.\n", "epicLinkSummary": "Add macOS 11 (arm64) FOSS support", "estimate": "PT0S", "externalId": "29798", "fixedVersions": [], "id": "29798", "issueType": "Task", "key": "PUP-11197", "labels": ["os"], "originalEstimate": "PT0S", "parent": "56665", "parentSummary": "Add macOS 11 (arm64) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "resolution": "Won't Do", "resolutionDate": "2022-07-06T10:29:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "17. Update Public-facing Puppet docs to include macOS 11 (arm64)", "timeSpent": "PT0S", "updated": "2022-07-06T10:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "557058:e4ec6128-43a4-4f26-854b-3c05258ff397", "body": "I can confirm this. I started getting the warning:\n{code:java}\nC:/Program Files/Puppet Labs/DevelopmentKit/private/puppet/ruby/2.5.0/gems/puppet-6.24.0-x64-mingw32/lib/puppet/file_system/windows.rb:113: warning: BOM with non-UTF encoding IBM437 is nonsense{code}\nafter I upgraded PDK from version 2.1.1 to 2.2.0.\n\nThe warning is created when:\n{code:java}Puppet::FileSystem.read_preserve_line_endings\u00a0{code}\nis reading our templates.", "created": "2021-08-17T02:51:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/39e326ca1c9b4ade2c4d3bf0cf6d97df6917af6c", "created": "2021-08-30T09:36:00.000000"}], "components": [], "created": "2021-08-03T11:57:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6e917406"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0aqns:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "This fix removes BOM for non-UTF encoding and its warnings. Since ASCII characters are single bytes, there is no need for a BOM to detect byte ordering (LSB/MSB)."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Aug/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_579190851_*|*_1_*:*_1_*:*_1111757387_*|*_10007_*:*_1_*:*_434306763_*|*_3_*:*_1_*:*_8344743_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_769892730"}], "description": "The fix for PUP-8243 causes ruby to generate a warning if the default external encoding is US-ASCII:\n{noformat}/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/file_system/file_impl.rb:83: warning: BOM with non-UTF encoding US-ASCII is nonsense \n{noformat}\nSince ASCII characters are single bytes, there is no need for a BOM to detect byte ordering (LSB/MSB), hence the message. I had assumed ruby would just ignore the `bom` prefix.\n\nWe'll need to check that the current external encoding starts with `utf-` (case-insensitively I think), and only add the `bom` prefix if it does.\n\nSee [https://github.com/puppetlabs/puppet/pull/8639#issuecomment-891939114]\n\nTo reproduce:\n{noformat}$ bx ruby -e 'Encoding.default_external = \"US-ASCII\"; require \"puppet\"; Puppet::FileSystem.read_preserve_line_endings(\"Gemfile\")'\n/home/josh/work/puppet/lib/puppet/file_system/file_impl.rb:83: warning: BOM with non-UTF encoding US-ASCII is nonsense\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21404", "fixedVersions": ["PUP 6.25.0", "PUP 7.11.0"], "id": "21404", "issueType": "Bug", "key": "PUP-11196", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-09-06T02:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "puppet warns about BOM and US-ASCII encoding", "timeSpent": "PT0S", "updated": "2021-09-08T03:52:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-08-03T02:50:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@391d01c1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-7"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Prepare YAML to JSON transition"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "purple"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0a65f:"}], "description": "Most of the work was planned in https://puppet.atlassian.net/browse/PUP-3524\n\nThis epic should focus on making YAML usage JSON compatible by not exporting custom types and symbols to YAML files and output", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29797", "fixedVersions": [], "id": "29797", "issueType": "Epic", "key": "PUP-11195", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare YAML to JSON transition", "timeSpent": "PT0S", "updated": "2021-08-03T04:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:557058:9280a7e4-27ad-45ff-981a-3f12bb272c4e], Can you provide us a simple was to reproduce this error? Did it worked on earlier puppet versions?", "created": "2021-08-02T08:12:00.000000"}, {"author": "557058:9280a7e4-27ad-45ff-981a-3f12bb272c4e", "body": "It does work on our old puppet server running a very old version (puppet 3).\n\nThe puppet server was installed using the foreman installer, nothing special was done and it is a rather standard setup.\u00a0\n\nUsing the below versions -\u00a0\n\nforeman-2.3.5-1.el7.noarch\n\npuppet-agent-6.24.0-1.el7.x86_64\npuppetserver-6.16.1-1.el7.noarch\n\n[root@master06 ~]# hiera -V\n3.7.0\n[root@master06 ~]#\u00a0\n\n\u00a0\n\n[root@master06 ~]# cat /etc/puppetlabs/code/environments/production/hiera.yaml\nversion: 5\ndefaults: # Used for any hierarchy level that omits these keys.\n datadir: hieradata # This path is relative to hiera.yaml's directory.\n data_hash: yaml_data # Use the built-in YAML backend.\n\nhierarchy:\n - name: \"Per-node data\" # Human-readable name.\n path: \"%\\{trusted.certname}.yaml\"\u00a0\n - name: \"Host Group Data\"\n path: \"%\\{::hostgroup}.yaml\"\n\n\u00a0", "created": "2021-08-02T08:29:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:9280a7e4-27ad-45ff-981a-3f12bb272c4e]\u00a0I suspect the issue is related to how exactly the {{hostgroup}} variable is defined. See the caution in [https://puppet.com/docs/puppet/6/hiera_merging.html#interpolate_puppet_variable] about \"pseudo-variables\"\n\nAlso I'd suggest adding the {{--explain}}\u00a0option to\u00a0{{`puppet lookup`}}", "created": "2021-08-02T15:23:00.000000"}, {"author": "557058:9280a7e4-27ad-45ff-981a-3f12bb272c4e", "body": "[root@master06 ~]# puppet lookup puppet_agent::package_version --node node1.example.com --environment production --strict_variables --trace --explain\nWarning: Undefined variable '::hostgroup'", "created": "2021-08-03T11:11:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "osfamily and environment are builtin facts, but hostgroup is not. Where is that variable defined?", "created": "2021-08-03T11:17:00.000000"}, {"author": "557058:9280a7e4-27ad-45ff-981a-3f12bb272c4e", "body": "hostgroup is a top level variable passed by external ENC (foreman).\u00a0hostgroup variable passed from foreman is resolved correctly in classes using $::hostgroup but not resolving in hiera.yaml (%\\{::hostgroup})\n\n\u00a0\n\n[root@master06 ~]# sudo -u puppet /etc/puppetlabs/puppet/node.rb node1.example.com | grep hostgroup\n hostgroup: bnlboxgpfs\n[root@master06 ~]#", "created": "2021-08-05T07:26:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I can't reproduce. I have a simple ENC script that always prints:\n\n{noformat}\n# /etc/puppetlabs/puppet/node.rb node1.example.com\n---\nclasses:\n  group:\nparameters:\n  hostgroup: group1\nenvironment: env11194\n{noformat}\n\nHiera is configured to resolve the hierarchy using the {{hostgroup}} top-scope variable returned by the ENC:\n\n{noformat}\n# cat /etc/puppetlabs/code/environments/env11194/hiera.yaml\n---\nversion: 5\nhierarchy:\n  - name: \"Host Group Data\"\n    paths:\n      - \"%{::hostgroup}.yaml\"\n  - name: \"Common\"\n    paths:\n      - \"common.yaml\"\n{noformat}\n\nThe hiera data contains a key-value:\n\n{noformat}\n# cat /etc/puppetlabs/code/environments/env11194/data/group1.yaml\n---\npuppet_agent::package_version: 6.24.0-1.el8\n{noformat}\n\nAnd the class {{group}} contains:\n\n{noformat}\n# cat /etc/puppetlabs/code/environments/env11194/modules/group/manifests/init.pp\nclass group(\n) {\n  $var = lookup(\"puppet_agent::package_version\")\n  notify { \"lookup variable is $var\": }\n}\n{noformat}\n\nThe server queries the ENC and uses the {{hostgroup}} top-scope variable (defined to be {{group1}}) and uses that to lookup the hiera data for the node:\n\n{noformat}\n# puppet agent -t \nNotice: Local environment: 'production' doesn't match server specified node environment 'env11194', switching agent to 'env11194'.\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Caching catalog for shabby-catchup.xxx\nInfo: Applying configuration version '1629243605'\nNotice: lookup variable is 6.24.0-1.el8\nNotice: /Stage[main]/Group/Notify[lookup variable is 6.24.0-1.el8]/message: defined 'message' as 'lookup variable is 6.24.0-1.el8'\nNotice: Applied catalog in 0.01 seconds\n{noformat}\n\n\n[~accountid:557058:9280a7e4-27ad-45ff-981a-3f12bb272c4e] can you provide steps to reproduce?", "created": "2021-08-17T17:41:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Ah I was able to reproduce. I think the key is that you must use the {{compile}} option since the hierarchy using facts. \n\n{noformat}\n# puppet lookup puppet_agent::package_version --environment env11194\nWarning: Undefined variable '::hostgroup'", "created": "2021-09-13T18:04:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I'm going to close this out based on my last comment. Please reopen if this is still an issue when using the {{\\-\\-compile}} option.", "created": "2021-11-10T21:08:00.000000"}], "components": ["Hiera & Lookup"], "created": "2021-07-30T19:23:00.000000", "creator": "557058:9280a7e4-27ad-45ff-981a-3f12bb272c4e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7b1e91e9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "RHEL 7 (x86_64)"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0a4pn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Aug/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_218841883_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_8690232467"}], "description": "*Puppet Version:7.9.0-1*\n *Puppet Server Version:7.2.1-1*\n *OS Name/Version:RHEL7.9*\n\n*hostgroup variable passed from foreman is resolved correctly in classes using $::hostgroup but not resolving in hiera.yaml (%\\{::hostgroup})*\n\n\u00a0\n\n*Puppet lookup complains with the below error -*\u00a0\n\n*Warning: Undefined variable '::hostgroup';*\n *(file & line not available)*\n\n*With --explain , you can see that variable is not resolving.*\u00a0\n\nHierarchy entry \"Host Group Data\"\n Path \"/etc/puppetlabs/code/environments/production/hieradata/.yaml\"\n Original path: \"%\\{::hostgroup}.yaml\"\n Path not found\n\n*Desired Behavior: Variable should resolve correctly.*\u00a0\n\n*Actual Behavior:*\n\n[root@master06 bin]# puppet lookup puppet_agent::package_version --node node22 --environment raot\nWarning: Undefined variable '::hostgroup';\n (file & line not available)\n--- 6.24.0-1.el8\n[root@master06 bin]#", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26686", "fixedVersions": [], "id": "26686", "issueType": "Bug", "key": "PUP-11194", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9280a7e4-27ad-45ff-981a-3f12bb272c4e", "resolution": "Incomplete", "resolutionDate": "2021-11-10T21:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Global variable hostgroup passed from foreman is not resolved in hiera.yaml", "timeSpent": "PT0S", "updated": "2021-11-10T21:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-07-29T07:56:00.000000", "creator": "5b9fcedc03b52466f05c4510", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "SemanticPuppet returns the list of unsatisfied dependencies with all the information about the modules requiring it"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5eb12f89"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11215"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0a3vf:"}], "description": "Given the following dependencies list for a module:\n\n{noformat}\n\"dependencies\": [\n    {\n      \"name\": \"elastic-elasticsearch\",\n      \"version_requirement\": \"6.4.0\"\n    },\n    {\n      \"name\": \"elastic-elastic_stack\",\n      \"version_requirement\": \"6.3.2\"\n    },\n    {\n      \"name\": \"elastic-kibana\",\n      \"version_requirement\": \"6.3.1\"\n    },\n    {\n      \"name\": \"elastic-logstash\",\n      \"version_requirement\": \"6.1.5\"\n    },\n    {\n      \"name\": \"puppetlabs-stdlib\",\n      \"version_requirement\": \"7.1.0\"\n    }\n  ],\n{noformat}\nIf a very old version of \"puppetlabs-apt\" is already installed, SemanticPuppet will return \"puppetlabs-apt\" as unsatisfiable with no indications on the dependents\n\n{:e.unsatisfied=>\"puppetlabs-apt\"}\n\nIf \"puppetlabs-apt\" is not installed, SemnaticPuppet will say that it cannot resolve dependencies but will return no unsatisfied dependency.\n{:e.unsatisfied=>nil}\n\n\u00a0\n\n\u00a0\n\n\u00a0", "epicLinkSummary": "Fix puppet module/semantic_puppet dependencies handling ", "estimate": "PT0S", "externalId": "22463", "fixedVersions": [], "id": "22463", "issueType": "Bug", "key": "PUP-11193", "labels": [], "originalEstimate": "PT0S", "parent": "24553", "parentSummary": "Fix puppet module/semantic_puppet dependencies handling ", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5b9fcedc03b52466f05c4510", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "SemanticPuppet does not solve nested dependencies", "timeSpent": "PT0S", "updated": "2021-08-25T02:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-07-28T01:38:00.000000", "creator": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@662f225f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11195"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0a1gb:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Aug/21"}], "description": "Symbols \u201cleaking\u201d into serialized data has been a long standing problem so pops serialization tries to be strict about what it will write out (only valid Data).\nThe transaction logic should not serialize property values like :present as symbols.\nThis is a pre-requisite for switching all of puppet\u2019s data files to JSON in the future.", "epicLinkSummary": "Prepare YAML to JSON transition", "estimate": "PT0S", "externalId": "21403", "fixedVersions": [], "id": "21403", "issueType": "Bug", "key": "PUP-11191", "labels": [], "originalEstimate": "PT0S", "parent": "29797", "parentSummary": "Prepare YAML to JSON transition", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Remove Symbols \u201cleaking\u201d into serialized data", "timeSpent": "PT0S", "updated": "2021-08-06T05:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "602cd85ac0b285006f4f1dc7", "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "should open separate improvement ticket for `-c` option", "created": "2021-08-11T02:59:00.000000"}], "components": [], "created": "2021-07-27T06:48:00.000000", "creator": "557058:1134d60c-31df-407a-b573-e0cfaef8865e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@69b17759"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Priority"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master Config", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Monolithic"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0a0yb:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fix AIX puppet user resource not deleting the user's password when using the `managehome` setting."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "45238"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Aug/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_209310830_*|*_1_*:*_1_*:*_7496201_*|*_10007_*:*_1_*:*_435028367_*|*_3_*:*_1_*:*_3210018_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1280828189"}], "description": "*Puppet Version:* 7.8.0\n*Puppet Server Version:* PE 2021.2 (\t7.2.0) \n*OS Name/Version:* AIX 7.2\n\nwhen deleting a user with Puppet (User resource type), the password entry in /etc/security/passwd is not being cleaned up.\n\nResource definition example:\n\n{code:java}\n  user { 'saaddm':\n    ensure     => 'absent',\n    managehome => true\n  }\n \n{code}\n\n\nDebug:\n\n(130)PROD:root@xxxxxx:/root# puppet agent -t --debug 2>&1 | grep rmuser\nDebug: Executing: '/usr/sbin/rmuser saaddm'\n(0)PROD:root@xxxxxx:/root#\n\n*Desired Behavior:* password gets cleaned up\n\n\n*Actual Behavior:* password is still present in /etc/security/passwd\n\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26685", "fixedVersions": ["PUP 6.25.0", "PUP 7.11.0"], "id": "26685", "issueType": "Bug", "key": "PUP-11190", "labels": ["doc-reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:1134d60c-31df-407a-b573-e0cfaef8865e", "resolution": "Fixed", "resolutionDate": "2021-08-18T16:33:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "User resource not removing password on AIX agents", "timeSpent": "PT0S", "updated": "2021-09-08T03:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:80b1a2d0-6c75-4995-bdc3-c422bab7aabd", "attachments": [], "comments": [{"author": "557058:89116718-adb8-45d4-bcd9-1483be79f43a", "body": "Would also be great if the new functions had an optional \"recurse\" parameter (default: false).", "created": "2021-07-27T02:23:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "There is also the {{find_file}} function. It accepts a list of paths, but it only returns the first match:\n{noformat}\u276f tree  ~/.puppetlabs/etc/code/environments/production/modules/test/files/   \n/home/josh/.puppetlabs/etc/code/environments/production/modules/test/files/\n\u2514\u2500\u2500 a\n    \u251c\u2500\u2500 b\n    \u2514\u2500\u2500 c\n\n1 directory, 2 files\n\u276f bx puppet apply -e 'notice(find_file(\"test/a/b\", \"test/a/c\"))'                 \nNotice: Scope(Class[main]): /home/josh/.puppetlabs/etc/code/environments/production/modules/test/files/a/b\nNotice: Compiled catalog for localhost in environment production in 0.02 seconds\n{noformat}\nIf we allow {{recurse}}, then there's the issue of recurse limit and making sure users don't accidentally DoS puppetserver dynamically adding {{file}} resources to the catalog (like PUP-10946). I have a preference for glob syntax, e.g. {{files('foo/subdir/***/**.ini')}}?\n\nIf we modify {{find_file}} then we should keep {{find_template}} in sync (as proposed in PUP-1214).\n\nAlso, thoughts [~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b] and [~accountid:557058:97578a32-3955-4c5c-939e-58a878437b49]?", "created": "2021-07-27T19:11:00.000000"}, {"author": "557058:89116718-adb8-45d4-bcd9-1483be79f43a", "body": "I'm fine with globs, if extended glob syntax can be used, like\n{code}foo/sub/**/*.ini{code}\n[~accountid:63d40628f6e1b543161789a7], maybe this is what you have already written above, but may have been mangled by Jira...", "created": "2021-07-29T03:17:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b], is the required case also a common use case in the modules?", "created": "2021-08-02T08:40:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "I'm curious to understand the use case better. From my first reading of the desired goal, it seems like you should be able to do this today as follows:\n{code:java}\nfile { 'target-directory':\n  ensure  => directory,  \n  path    => '/path/to/dir',\n  source  => 'puppet:///foo/subdir',\n  recurse => remote,\n}{code}\n[~accountid:557058:89116718-adb8-45d4-bcd9-1483be79f43a]\u00a0could you describe in a little bit more detail what you are trying to do specifically? Curious to understand better.\u00a0Less the technical how-to of what you've tried", "created": "2021-08-02T09:27:00.000000"}, {"author": "557058:89116718-adb8-45d4-bcd9-1483be79f43a", "body": "[~accountid:557058:97578a32-3955-4c5c-939e-58a878437b49], my use case is to manage files on the agent based on content of the \"files\" or \"templates\" directory of a module (or a sub directory thereof), so that I don't need to change the class' code every time new files are added.\n\nAnyway, I've read the documentation for the \"file\" resource again, and it looks like I can indeed achieve that with \"recurse\" (at least partly). Up to now, I've only used recurse together with \"ensure => absent\". It didn't come to my mind that it would also work this way.\n\nWhat's missing is the \"templates\" part, though.\n\nI also like the idea of using glob patterns here, which is currently not possible.", "created": "2021-08-03T00:12:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "Thanks for that additional context, [~accountid:557058:89116718-adb8-45d4-bcd9-1483be79f43a]. That's helpful.\n\nI'm hearing that the simple case, copy files as-is from module to target, is achievable today with the {{File}} resource and {{recurse => remote}}.\n\nI'm also hearing that for a more complex, probably less common use case involving templates, it would be useful to have a general capability of inspecting module content dynamically from Puppet DSL code.\n\nGiven the complexity and non-generality of the second use case, I don't think it would make sense to implement a series of content-type-specific functions to enable this. That is, I don't think extending or modifying {{find_template}}, {{find_file}}, etc. would be generally beneficial.\n\nIt could make sense to extend a capability similar to the existing {{module_directory()}} function. For example, pairing it with a new {{module_files()}} function. A function like that could take a list of module-relative glob paths, and return an array of file paths. E.g.\n{code}call: module_files('module1/files/*', 'module2/templates/**/*.epp', 'module3/metadata.json')\nreturn: [\n  \"/etc/puppetlabs/code/environments/production/modules/module1/files/file1\",\n  \"/etc/puppetlabs/code/environments/production/modules/module1/files/file2\",\n  \"/etc/puppetlabs/code/environments/production/modules/module2/templates/tmp1.txt.epp\",\n  \"/etc/puppetlabs/code/environments/production/modules/module2/templates/tmp2.txt.epp\",\n  \"/etc/puppetlabs/code/environments/production/modules/module2/templates/subdir/tmp3.txt.epp\",\n  \"/etc/puppetlabs/code/environments/production/modules/module3/metadata.json\",\n]{code}\n\u00a0\n\nIf we provide additional functionality for this kind of use case out-of-box, the template-specific use case could be built on top of it using something like:\n{code:puppet}$module_directory = module_directory('xampl')\n\nmodule_files('xampl/templates/**/*.epp').each |$template| {\n  $relative_path = regsubst($template, \"${module_directory}/templates/(.*).epp\", '\\\\1')\n  file { \"/target/path/${relative_path}\":\n    ensure  => file,\n    content => epp($template, {\n      template_param_1 => 'value1',\n      template_param_2 => 'value2',\n    }),\n  }\n}{code}\n\u00a0\n\nThe technical complexity of a function like this is very low. If this doesn't make it into product for a time, it's probably something [you could write yourself|https://puppet.com/docs/puppet/6/functions_ruby_overview.html]. For example:\n\n\u00a0\n{code:ruby}\nPuppet::Functions.create_function(:'custom::module_files') do\n  dispatch :module_files do\n    repeated_param 'String', :patterns\n  end\n\n  def module_files(*patterns)\n    patterns.reduce([]) do |memo, pattern|\n      module_name = pattern.split('/').first\n      glob = pattern.split('/').drop(1).join('/')\n      module_directory = call_function('module_directory', module_name)\n      memo + Dir.glob(\"#{module_directory}/#{glob}\").select { |path| File.file?(path) }\n    end\n  end\nend {code}", "created": "2021-08-03T14:31:00.000000"}, {"author": "557058:89116718-adb8-45d4-bcd9-1483be79f43a", "body": "[~accountid:557058:97578a32-3955-4c5c-939e-58a878437b49], thanks a lot for the detailed explanation. Yes, the request was to add (a) new function(s), not to modify any existing ones.\n\nI will definitely try to implement \"module_files()\" myself (using your example above) to get a quick result. However, I also think this might be useful for others, too, so it would be really great to have it shipped as part of Puppet itself.", "created": "2021-08-05T00:18:00.000000"}, {"author": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "body": "[~accountid:557058:89116718-adb8-45d4-bcd9-1483be79f43a] you might consider building and maintaining this yourself as a module on the Forge.", "created": "2021-08-30T16:33:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "We agree it is likely an improvement for the core functionality, but due to other issues demanding precedence, we don\u2019t anticipate being able to address this any time soon. As such we are closing this as \u201cWon\u2019t Fix.\u201d We may revisit it at a later time, and if so will re-open this ticket", "created": "2021-09-21T03:59:00.000000"}], "components": ["Functions", "Language"], "created": "2021-07-27T02:16:00.000000", "creator": "557058:89116718-adb8-45d4-bcd9-1483be79f43a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3dc12213"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0a0wj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4844582414_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:* 6.x, 7.x\n *Puppet Server Version:* 6.x, 7.x\n *OS Name/Version:* all\n\nSometimes, one needs to put several files in place on an agent node that come from the same module. As it is now, one needs to explicitly name each file in an array to iterate over. This has the drawback that one needs to adapt the code whenever a new file is added to <module>/files (or <module>/templates)\n\n*Desired Behavior:*\n\nBe able to write something like that:\n{code:java}\nfiles('puppet:///modules/foo/subdir').each |$file| {\n  file {\n    ...\n  }\n }{code}\nand similar for templates (you get the idea).\n\n*Actual Behavior:*\n\nThis is currently not possible (at least to my knowledge).\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28823", "fixedVersions": [], "id": "28823", "issueType": "New Feature", "key": "PUP-11189", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:89116718-adb8-45d4-bcd9-1483be79f43a", "resolution": "Won't Fix", "resolutionDate": "2021-09-21T03:59:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Add functions to iterate over files/templates in the current module", "timeSpent": "PT0S", "updated": "2021-09-21T03:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/ca2d86957f78c16093379f6708af63f9ea9ab1f8", "created": "2021-07-28T11:38:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in\u00a06ce33c3955", "created": "2021-08-02T10:01:00.000000"}], "components": [], "created": "2021-07-23T10:21:00.000000", "creator": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@32b66250"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09zib:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Users can now access files in the {{scripts/}} directory of a module using the new {{scripts}} file mount when using Puppet APIs to load file content and metadata."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_426178978_*|*_1_*:*_1_*:*_436614181_*|*_10009_*:*_1_*:*_169963726_*|*_5_*:*_1_*:*_0"}], "description": "This adds a file_serving mount called \"scripts\" that loads files from a module's {{scripts/}} directory. This is used by Puppetserver to serve content and file metadata for these files. This is part of a larger story around loading scripts from the {{scripts/}} module directory, and loading other static files from {{files/}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21401", "fixedVersions": ["PUP 6.25.0", "PUP 7.10.0"], "id": "21401", "issueType": "Task", "key": "PUP-11187", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "resolution": "Fixed", "resolutionDate": "2021-08-04T09:14:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Add scripts file serving mount", "timeSpent": "PT0S", "updated": "2021-08-10T09:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623c12ff94742a00683e41fd", "body": "Slightly related ticket: https://puppet.atlassian.net/browse/PUP-11185 (due to package provider insync/munge need of fix)", "created": "2021-07-23T05:20:00.000000"}], "components": [], "created": "2021-07-23T05:17:00.000000", "creator": "623c12ff94742a00683e41fd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@58433bc6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09zdv:"}], "description": "Given manifest\n{code:puppet}\npackage { 'redis':\n  ensure   => 5,\n  provider => 'dnfmodule',\n}\n{code}\napplied on a Centos8 twice gives the following output\n\n\n{code:bash}\n# puppet apply manifest.pp\nNotice: Compiled catalog for example.puppetlabs.net in environment production in 0.01 seconds\nNotice: /Stage[main]/Main/Package[redis]/ensure: created\nNotice: Applied catalog in 3.86 seconds\n# puppet apply manifest.pp\nNotice: Compiled catalog for example.puppetlabs.net in environment production in 0.01 seconds\nNotice: /Stage[main]/Main/Package[redis]/ensure: ensure changed '5' to 5\nNotice: Applied catalog in 5.67 seconds\n{code}\nwhereas CLI behaves as expected:\n{code:bash}\n# puppet resource package redis ensure=6 provider=dnfmodule\nNotice: /Package[redis]/ensure: ensure changed '5' to '6'\npackage { 'redis':\n  ensure   => '6',\n  provider => 'dnfmodule',\n}\n# puppet resource package redis ensure=6 provider=dnfmodule\npackage { 'redis':\n  ensure   => '6',\n  provider => 'dnfmodule',\n}\n{code}\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20265", "fixedVersions": [], "id": "20265", "issueType": "Bug", "key": "PUP-11186", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c12ff94742a00683e41fd", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "dnfmodule provider is not idempotent when ensuring Integer version", "timeSpent": "PT0S", "updated": "2022-02-23T19:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "602cd85ac0b285006f4f1dc7", "created": "2021-08-03T06:55:00.000000", "name": "install_pip_with_version_1.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11796"}, {"attacher": "602cd85ac0b285006f4f1dc7", "created": "2021-08-03T06:55:00.000000", "name": "install_pip_with_version_1_as_string.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11718"}, {"attacher": "602cd85ac0b285006f4f1dc7", "created": "2021-08-03T06:55:00.000000", "name": "install_pip_with_version_1_resource.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11644"}], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:623c12ff94742a00683e41fd], could we mark supported providers in code (e.g. a feature will be listed here: [https://puppet.com/docs/puppet/7/types/package.html#package-provider-features]) ?", "created": "2021-07-27T00:34:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:602cd85ac0b285006f4f1dc7] , can you provide a debug run of puppet resource and puppet apply for the above cases?", "created": "2021-07-27T08:44:00.000000"}, {"author": "602cd85ac0b285006f4f1dc7", "body": "\u00a0\n{code:bash}[root@sleepy-count ~]# cat data.pp\npackage { 'colorize':\n  ensure   => '1',\n  provider => 'pip3',\n}{code}\n\u00a0\n /opt/puppetlabs/bin/puppet apply data.pp --debug >[^install_pip_with_version_1_as_string.txt]\n\n\u00a0\n{code:bash}[root@sleepy-count ~]# cat data.pp\npackage { 'colorize':\n  ensure   => 1,\n  provider => 'pip3',\n}{code}\n\u00a0\n /opt/puppetlabs/bin/puppet apply data.pp --debug > [^install_pip_with_version_1.txt]\n\n/opt/puppetlabs/bin/puppet resource package 'colorize' ensure=1 provider=pip3 --debug > [^install_pip_with_version_1_resource.txt]", "created": "2021-08-03T07:02:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "Thank you for filing this issue. We agree it is likely an improvement, but due to other issues demanding precedence, we don\u2019t anticipate being able to address this any time soon. As such we are closing this as \u201cWon\u2019t Fix.\u201d We may revisit it at a later time, and if so will re-open this ticket.", "created": "2021-09-21T04:16:00.000000"}], "components": [], "created": "2021-07-23T04:33:00.000000", "creator": "602cd85ac0b285006f4f1dc7", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@229f3821"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-8958"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09zdn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5182966707_*|*_6_*:*_1_*:*_0"}], "description": "Puppet is not idempotent when ensuring major version of a package with pip.\n\n{code:bash}# puppet resource package 'colorize' ensure=1 provider=pip3\nNotice: /Package[colorize]/ensure: created\npackage { 'colorize':\n  ensure   => '1.0.0',\n  provider => 'pip3',\n}\n# puppet resource package 'colorize' ensure=1 provider=pip3\nNotice: /Package[colorize]/ensure: ensure changed '1.0.0' to '1'\npackage { 'colorize':\n  ensure   => '1.0.0',\n  provider => 'pip3',\n}\n{code}\nDebug logs show that above is actually running:\n{code:bash}\n# /usr/bin/pip3 install -q colorize==1\n{code}\nWhich is a valid way for asking pip to install *1.0.0* version of a package.\n\nAvailable versions of the colorize package:\n{code:bash}# /usr/bin/pip3 install -q colorize==versionplease\n  Could not find a version that satisfies the requirement colorize==versionplease (from versions: 0.2.0, 0.2.1, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.1.0)\nNo matching distribution found for colorize==versionplease\n{code}", "epicLinkSummary": "Pip Package Improvements", "estimate": "PT0S", "externalId": "29796", "fixedVersions": [], "id": "29796", "issueType": "Bug", "key": "PUP-11185", "labels": [], "originalEstimate": "PT0S", "parent": "23151", "parentSummary": "Pip Package Improvements", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "602cd85ac0b285006f4f1dc7", "resolution": "Won't Fix", "resolutionDate": "2021-09-21T04:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "pip provider ensure not idempotent ", "timeSpent": "PT0S", "updated": "2022-02-23T19:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This issue is a result of the switch to {{require_relative}} and can be reproduced in puppet 7.6.0 (before the ruby patch). It seems to be ruby bug with short filename and relative_require:\n\n{noformat}\nC:\\>md abcdefghijk\nC:\\>cd abcdef~1\nC:\\abcdef~1>type *rb\n\na.rb\nputs \"dir a #{__dir__}\"\nrequire_relative 'b'\nputs load('C:\\abcdefghijk\\b.rb')\n\nb.rb\nputs \"dir b #{__dir__}\"\nrequire_relative 'c'\n\nc.rb\nputs \"dir c #{__dir__}\"\nrequire 'tempfile'\nclass C < DelegateClass(File)", "created": "2021-09-17T15:45:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in\u00a090ec8bd2c2", "created": "2021-10-01T09:47:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in\u00a0ba1e8af0717c6116f77d8665db115887d30c2ff1", "created": "2021-10-04T08:15:00.000000"}], "components": [], "created": "2021-07-22T17:54:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6b891ab2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09xgj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fixes a regression that prevented puppet from running if the current working directory was a short Windows path (8.3)"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_253692818_*|*_1_*:*_1_*:*_398236251_*|*_10007_*:*_1_*:*_586090365_*|*_3_*:*_1_*:*_596085803_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_4198083203_*|*_10005_*:*_1_*:*_326674868"}], "description": "*Puppet Version: 7.9.0*\n\nThe autoloader can load the same file twice if the ruby load path contains Windows 8.3 style paths. The file {{lib/puppet/file_system/uniquefile.rb}} creates a class whose parent is an anonymous class. If the file is loaded twice, then it will fail with: {{superclass mismatch for class Uniquefile (TypeError)}}.\n\nTo reproduce, install puppet-agent on Windows:\n{noformat}C:\\> cmd /c start /w msiexec /qn /i http://builds.puppetlabs.lan/puppet-agent/7.9.0/artifacts/windows/puppet-agent-7.9.0-x64.msi\nC:\\> net stop puppet\nC:\\> cd C:\\PROGRA~1\\PUPPET~1\\Puppet\\puppet\\bin\n{noformat}\ncreate \"puppettest.rb\" containing:\n{code:ruby}require 'puppet'\nPuppet.initialize_settings\nputs \"RUBYLIBDIR #{RbConfig::CONFIG['rubylibdir']}\"\nputs \"Loaded Puppet\"\npp $LOADED_FEATURES.grep(/uniquefile/).first\nPuppet::Type.type(:exec)\n{code}\nAnd execute the script:\n{noformat}C:\\PROGRA~1\\PUPPET~1\\Puppet\\puppet\\bin>ruby puppettest.rb\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/facter/util/file_helper.rb:9: warning: already initialized constant Class::DEBUG_MESSAGE\nC:/PROGRA~1/PUPPET~1/Puppet/puppet/lib/ruby/vendor_ruby/facter/util/file_helper.rb:9: warning: previous definition of DEBUG_MESSAGE was here\n...\nHundreds of already initialized constant errors\n...\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/file_system/windows.rb:123: warning: already initialized constant Puppet::FileSystem::Windows::LOCK_VIOLATION\nC:/PROGRA~1/PUPPET~1/Puppet/puppet/lib/ruby/vendor_ruby/puppet/file_system/windows.rb:123: warning: previous definition of LOCK_VIOLATION was here\nTraceback (most recent call last):\n        33: from puppettest.rb:6:in `<main>'\n        32: from C:/PROGRA~1/PUPPET~1/Puppet/puppet/lib/ruby/vendor_ruby/puppet/metatype/manager.rb:154:in `type'\n        31: from C:/PROGRA~1/PUPPET~1/Puppet/puppet/lib/ruby/vendor_ruby/puppet/concurrent/lock.rb:10:in `synchronize'\n        30: from C:/PROGRA~1/PUPPET~1/Puppet/puppet/lib/ruby/vendor_ruby/puppet/metatype/manager.rb:171:in `block in type'\n        29: from C:/PROGRA~1/PUPPET~1/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:182:in `load'\n        28: from C:/PROGRA~1/PUPPET~1/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:78:in `load_file'\n        27: from C:/PROGRA~1/PUPPET~1/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:78:in `load'\n        26: from C:/PROGRA~1/PUPPET~1/Puppet/puppet/lib/ruby/vendor_ruby/puppet/type/exec.rb:1:in `<top (required)>'\n        25: from C:/PROGRA~1/PUPPET~1/Puppet/puppet/lib/ruby/vendor_ruby/puppet/type/exec.rb:2:in `<module:Puppet>'\n        24: from C:/PROGRA~1/PUPPET~1/Puppet/puppet/lib/ruby/vendor_ruby/puppet/metatype/manager.rb:73:in `newtype'\n        23: from C:/PROGRA~1/PUPPET~1/Puppet/puppet/lib/ruby/vendor_ruby/puppet/concurrent/lock.rb:10:in `synchronize'\n        22: from C:/PROGRA~1/PUPPET~1/Puppet/puppet/lib/ruby/vendor_ruby/puppet/metatype/manager.rb:126:in `block in newtype'\n        21: from C:/PROGRA~1/PUPPET~1/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:196:in `loadall'\n        20: from C:/PROGRA~1/PUPPET~1/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:91:in `loadall'\n        19: from C:/PROGRA~1/PUPPET~1/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:91:in `each'\n        18: from C:/PROGRA~1/PUPPET~1/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:93:in `block in loadall'\n        17: from C:/PROGRA~1/PUPPET~1/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:78:in `load_file'\n        16: from C:/PROGRA~1/PUPPET~1/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:78:in `load'\n        15: from C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/provider/exec/posix.rb:1:in `<top (required)>'\n        14: from C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/provider/exec/posix.rb:1:in `require_relative'\n        13: from C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/provider/exec.rb:1:in `<top (required)>'\n        12: from C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/provider/exec.rb:1:in `require_relative'\n        11: from C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/provider.rb:37:in `<top (required)>'\n        10: from C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/provider.rb:43:in `<class:Provider>'\n         9: from C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/provider.rb:43:in `require_relative'\n         8: from C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/confiner.rb:1:in `<top (required)>'\n         7: from C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/confiner.rb:1:in `require_relative'\n         6: from C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/confine_collection.rb:3:in `<top (required)>'\n         5: from C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/confine_collection.rb:3:in `require_relative'\n         4: from C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/confine.rb:3:in `<top (required)>'\n         3: from C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/confine.rb:3:in `require_relative'\n         2: from C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util.rb:11:in `<top (required)>'\n         1: from C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util.rb:11:in `require_relative'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/file_system/uniquefile.rb:17:in `<top (required)>': superclass mismatch for class Uniquefile (TypeError)\n{noformat}\nThe problem stems from a behavior change in Dir.glob in Ruby 2.1 combined with using relative_require. See PUP-6557 and [https://bugs.ruby-lang.org/issues/10819].\n\nWhen puppet is initially loaded, all LOADED_FEATURES are added using 8.3 paths:\n{noformat}C:/PROGRA~1/PUPPET~1/Puppet/puppet/lib/ruby/vendor_ruby/puppet/file_system/uniquefile.rb\n{noformat}\nWhen we call `Puppet::Type.type(:exec)`, it uses the autoloader to load the exec type and all of its providers. The autoloader uses `Dir.glob` to find them. Ruby 2.1 changed the behavior of `Dir.glob` to always return the long path name on Windows. So then the autoloader tries to load:\n{noformat}C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/file_system/uniquefile.rb\n{noformat}\nAlso note in the stack trace above how the path changes from 8.3 to long paths:\n{noformat} 17: from C:/PROGRA~1/PUPPET~1/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:78:in `load_file'\n 16: from C:/PROGRA~1/PUPPET~1/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:78:in `load'\n 15: from C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/provider/exec/posix.rb:1:in `<top (required)>'\n ...\n 1: from C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util.rb:11:in `require_relative'\n C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/file_system/uniquefile.rb:17:in `<top (required)>': Could not autoload puppet/type/exec: Could not autoload ../../../../../../../Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/provider/exec/posix: superclass mismatch for class Uniquefile (Puppet::Error)\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28822", "fixedVersions": ["PUP 7.12.0"], "id": "28822", "issueType": "Bug", "key": "PUP-11184", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-10-04T08:16:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Autoloader is confused by Windows 8.3 paths", "timeSpent": "PT0S", "updated": "2021-10-08T17:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-07-22T15:20:00.000000", "creator": "61d4868af63ac800706ebb62", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6337fd87"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11174"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09x8b:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6069483371_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-08-17)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2021-08-18T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "estimate": "PT0S", "externalId": "28821", "fixedVersions": [], "id": "28821", "issueType": "Task", "key": "PUP-11183", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27675", "parentSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61d4868af63ac800706ebb62", "resolution": "Done", "resolutionDate": "2021-09-30T21:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 7.10.0)", "timeSpent": "PT0S", "updated": "2021-09-30T21:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-07-22T15:20:00.000000", "creator": "61d4868af63ac800706ebb62", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5e00d714"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11174"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09x83:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6069487570_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-08-17)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n", "duedate": "2021-08-18T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "estimate": "PT0S", "externalId": "27676", "fixedVersions": [], "id": "27676", "issueType": "Task", "key": "PUP-11182", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27675", "parentSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61d4868af63ac800706ebb62", "resolution": "Done", "resolutionDate": "2021-09-30T21:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 7.10.0)", "timeSpent": "PT0S", "updated": "2021-09-30T21:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61d4868af63ac800706ebb62", "attachments": [], "comments": [], "components": [], "created": "2021-07-22T15:20:00.000000", "creator": "61d4868af63ac800706ebb62", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3c08e542"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11174"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk48n:q0200000i"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_2239872708_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_90843381"}], "description": "(Initial planned release date: 2021-08-17)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 7.10.0 is now available\".\n", "duedate": "2021-08-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "estimate": "PT0S", "externalId": "26684", "fixedVersions": [], "id": "26684", "issueType": "Task", "key": "PUP-11181", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27675", "parentSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61d4868af63ac800706ebb62", "resolution": "Fixed", "resolutionDate": "2021-08-18T14:45:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Send release announcement (Puppet Platform 7.10.0)", "timeSpent": "PT0S", "updated": "2021-08-18T14:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [], "components": [], "created": "2021-07-22T15:19:00.000000", "creator": "61d4868af63ac800706ebb62", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@247e1af"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11174"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09x7f:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2464412604_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-08-17)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2021-08-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "estimate": "PT0S", "externalId": "24542", "fixedVersions": [], "id": "24542", "issueType": "Task", "key": "PUP-11180", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27675", "parentSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61d4868af63ac800706ebb62", "resolution": "Fixed", "resolutionDate": "2021-08-20T03:53:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 7.10.0)", "timeSpent": "PT0S", "updated": "2021-08-20T03:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-07-22T15:19:00.000000", "creator": "61d4868af63ac800706ebb62", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@80b2e01"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11174"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09x77:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6069497594_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-08-17)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2021-08-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "estimate": "PT0S", "externalId": "23463", "fixedVersions": [], "id": "23463", "issueType": "Task", "key": "PUP-11179", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27675", "parentSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61d4868af63ac800706ebb62", "resolution": "Done", "resolutionDate": "2021-09-30T21:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 7.10.0)", "timeSpent": "PT0S", "updated": "2021-09-30T21:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "The next release in the Puppet 7 series, Puppet 7.10.0, is now available!\n\nThe release contains new features, minor enhancements, and bug fixes including:\n * \n\nFor the full list of changes, check out the release notes:\u00a0[https://puppet.com/docs/puppet/latest/release_notes_osp.html]", "created": "2021-08-17T03:41:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "\u00a0\n\n[~accountid:70121:4596f954-1fdf-472f-a700-6b7c2ffbc525] [~accountid:5b9fcedc03b52466f05c4510] [~accountid:557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c] [~accountid:6323aedbed8abffd7ffdf0ce]\u00a0Please add any changes that you want to call out to the highlights email above. Thanks!\n\nPuppet 7.10.0 release notes:\u00a0[https://puppet-docs-preview.netlify.app/docs/puppet/7/release_notes_puppet.html#release_notes_puppet_7-10-0]\n\nServer 7.3.0 release notes:\u00a0[https://puppet-docs-preview.netlify.app/docs/puppet/7/server/release_notes.html#puppet-server-730]\n\nFacter 4.2.3 release notes:\u00a0[https://puppet-docs-preview.netlify.app/docs/puppet/7/release_notes_facter.html#release_notes_facter_4-2-3]\n\nUsername: puppet Password: fork.left.extra", "created": "2021-08-17T03:46:00.000000"}], "components": [], "created": "2021-07-22T15:19:00.000000", "creator": "61d4868af63ac800706ebb62", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@413efe54"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11174"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09x6r:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Aug/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2204802662_*|*_10009_*:*_1_*:*_1315577931_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-08-17)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2021-08-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "estimate": "PT0S", "externalId": "21400", "fixedVersions": [], "id": "21400", "issueType": "Task", "key": "PUP-11178", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27675", "parentSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61d4868af63ac800706ebb62", "resolution": "Fixed", "resolutionDate": "2021-09-01T09:12:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare release announcement (Puppet Platform 7.10.0)", "timeSpent": "PT0S", "updated": "2021-09-01T09:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Release notes draft:\u00a0https://docs.google.com/document/d/1yRsmwGcPkDBEIosxcey8loFJj0mcJzyeocaPVrCq4nk/edit", "created": "2021-08-16T07:18:00.000000"}], "components": [], "created": "2021-07-22T15:19:00.000000", "creator": "61d4868af63ac800706ebb62", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@240f934c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11174"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09x6j:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Aug/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2131132832_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-08-17)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2021-08-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "estimate": "PT0S", "externalId": "20263", "fixedVersions": [], "id": "20263", "issueType": "Task", "key": "PUP-11177", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27675", "parentSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61d4868af63ac800706ebb62", "resolution": "Fixed", "resolutionDate": "2021-08-16T07:18:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 7.10.0)", "timeSpent": "PT0S", "updated": "2021-08-16T07:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-07-22T15:19:00.000000", "creator": "61d4868af63ac800706ebb62", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@43e5d4fe"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11174"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09x6b:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6069514282_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-08-17)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2021-08-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "estimate": "PT0S", "externalId": "29765", "fixedVersions": [], "id": "29765", "issueType": "Task", "key": "PUP-11176", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27675", "parentSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61d4868af63ac800706ebb62", "resolution": "Done", "resolutionDate": "2021-09-30T21:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 7.10.0)", "timeSpent": "PT0S", "updated": "2021-09-30T21:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-07-22T15:19:00.000000", "creator": "61d4868af63ac800706ebb62", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@39157515"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11174"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09x63:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6069518431_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-08-17)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 7.10.0 and puppet-agent 7.10.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2021-08-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "estimate": "PT0S", "externalId": "28820", "fixedVersions": [], "id": "28820", "issueType": "Task", "key": "PUP-11175", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27675", "parentSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61d4868af63ac800706ebb62", "resolution": "Done", "resolutionDate": "2021-09-30T21:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 7.10.0)", "timeSpent": "PT0S", "updated": "2021-09-30T21:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-07-22T15:19:00.000000", "creator": "61d4868af63ac800706ebb62", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@64a54fc9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-3"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 7.10.0 Release - 2021-08-17\n"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "yellow"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09x5v:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6069548774_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "duedate": "2021-08-17T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27675", "fixedVersions": [], "id": "27675", "issueType": "Epic", "key": "PUP-11174", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61d4868af63ac800706ebb62", "resolution": "Done", "resolutionDate": "2021-09-30T21:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "timeSpent": "PT0S", "updated": "2021-10-12T12:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "623c12ff94742a00683e41fd", "created": "2021-07-21T07:39:00.000000", "name": "logs_3063.zip", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12040"}], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I think this is a dup of a ticket I filed?", "created": "2021-07-21T18:30:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Ah yeah, the first failure is:\n\n{noformat}\n2021-07-21T07:26:16.7344142Z   1) Puppet::Util::Windows::Process when reading environment variables will ignore only keys or values with corrupt byte sequences\n2021-07-21T07:26:16.7345252Z      Failure/Error: get_uint32(i * 2) == 0\n2021-07-21T07:26:16.7345887Z      IndexError:\n2021-07-21T07:26:16.7346563Z        Memory access offset=32 size=4 is out of bounds\n{noformat}\n\nwhich occurs in an after each block. That leaves puppet's context in a bad state causing the rest of the failures. I'm going to close this as a dup of PUP-11122", "created": "2021-07-22T16:41:00.000000"}], "components": [], "created": "2021-07-21T07:39:00.000000", "creator": "623c12ff94742a00683e41fd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3ac55ee9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09ugj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_118969637_*|*_5_*:*_1_*:*_0"}], "description": "We've been experiencing lately some transient failures with [rspec tests|https://github.com/puppetlabs/puppet/actions/workflows/rspec_tests.yaml] on Windows GitHub Actions. It takes about 16 minutes to fail, whereas successful runs happen in about 18 minutes, so this happens very late and can easily become annoying.\n\nOver 900 tests (958 seen so far) across multiple files fail when this happen (from a total of 26109 examples). Most of them are due to objects being *nil* and methods cannot be called (around 940).\n\nAttached logs are from are from such failed run (see *windows-2016(ruby 2.6)* files).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23461", "fixedVersions": [], "id": "23461", "issueType": "Bug", "key": "PUP-11173", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c12ff94742a00683e41fd", "resolution": "Duplicate", "resolutionDate": "2021-07-22T16:41:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Fix Windows GitHub Actions transient failures", "timeSpent": "PT0S", "updated": "2021-07-22T16:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5b9fcedc03b52466f05c4510", "attachments": [{"attacher": "623a4c434a57610068e67834", "created": "2021-07-21T04:28:00.000000", "name": "metadata.json", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11959"}], "comments": [{"author": "5b9fcedc03b52466f05c4510", "body": "This might be related to the semantic_puppet changes. It breaks with semnatic_puppet 1.0.4 and 1.0.3 but has a dependency resolution with semantic_puppet 1.0.2\nI've created a dummy module with the same dependencies and this is the result when downgrading semantic_puppet to 1.0.2:\n\n{noformat}\n\u276f /opt/puppetlabs/puppet/bin/gem list semantic_puppet\nsemantic_puppet (1.0.2)\n\n\n\u276f  puppet module install /test-test_sp-0.1.0.tar.gz --debug --trace\n...\nInfo: Resolving dependencies ...\nError: Could not install module 'test-test_sp' (v0.1.0)\nThe requested version cannot satisfy all dependencies\nUse `puppet module install 'test-test_sp' --ignore-dependencies` to install only this modul\n{noformat}\n\n\n{noformat}\n\nwith semantic_puppet > 1.0.2\n\n\u276f  puppet module install /test-test_sp-0.1.0.tar.gz --debug --trace\n...\nInfo: Resolving dependencies ...\nError: undefined method `[]' for nil:NilClass\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/module_tool/applications/installer.rb:167:in `rescue in run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/module_tool/applications/installer.rb:135:in `run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/module_tool/applications/application.rb:11:in `run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/face/module/install.rb:128:in `block (3 levels) in <top (required)>'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/interface/action.rb+eval[wrapper]:261:in `install'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/face_base.rb:254:in `main'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:437:in `run_command'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:421:in `block in run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:744:in `exit_on_fail'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:421:in `run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:143:in `run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:77:in `execute'\n/opt/puppetlabs/puppet/bin/puppet:5:in `<main>'\nError: Try 'puppet help module install' for usage\n{noformat}\n\nI suppose this happens because of https://github.com/puppetlabs/semantic_puppet/pull/34\n\n\n\n", "created": "2021-07-21T07:01:00.000000"}, {"author": "623a4c434a57610068e67834", "body": "yay, repro!\n\nI can confirm that a rollback to 1.0.2 fails gracefully:\n\n\u00a0\n{code:java}/opt/puppetlabs/puppet/bin/gem install semantic_puppet:1.0.2\n\n/opt/puppetlabs/puppet/bin/gem uninstall -i /opt/puppetlabs/puppet/lib/ruby/vendor_gems semantic_puppet:1.0.4\n\n/opt/puppetlabs/bin/puppet module install /REDACTED/pkg/OUR_MODULE-3.0.0.tar.gz\n\nNotice: Preparing to install into /etc/puppetlabs/code/environments/production/modules ...\nNotice: Downloading from https://forgeapi.puppet.com ...\nError: Could not install module 'OUR_MODULE' (v3.0.0)\n The requested version cannot satisfy all dependencies\n Use `puppet module install 'OUR_MODULE' --ignore-dependencies` to install only this module\n{code}\nSo, I guess my next task is figuring out which of the dependencies is broken :D.\n\nIs there a way to get puppet to dump the dependency graph and/or to find out which of my dependencies is broken?\n\n\u00a0\n\n_I have just trialled and errored the heck out of my dependencies and found it", "created": "2021-07-21T20:18:00.000000"}, {"author": "5b9fcedc03b52466f05c4510", "body": "{quote}\nIs there a way to get puppet to dump the dependency graph and/or to find out which of my dependencies is broken?\n{quote}\n\nThis is what we've tried to do with the semantic_puppet changes, make it print the unsatisfiable dependencies. Since we have the list of dependencies that breaks I think we can work on improving the dependencies lookup.", "created": "2021-07-21T23:49:00.000000"}, {"author": "623a4c434a57610068e67834", "body": "Cool, well, since I have sorted out my dependency issue which was triggering this bug I'm no longer blocked, but look forward to one day seeing it fixed :).\n\nta,\n\nPhil", "created": "2021-07-22T17:25:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/3d23ac76122a248827e3e9e56cdf7a57ad61b141", "created": "2021-08-02T02:40:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in d3bd53d7b7", "created": "2021-08-04T09:06:00.000000"}], "components": ["Modules"], "created": "2021-07-21T04:16:00.000000", "creator": "623a4c434a57610068e67834", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@9d8483b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09uff:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "`puppet module install` could break in some cases when dependencies could not be resolved. The error cases are now treated and puppet emits an error message in this case."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_195974263_*|*_1_*:*_1_*:*_533347154_*|*_10007_*:*_1_*:*_326629527_*|*_3_*:*_1_*:*_97628277_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_73425260"}], "description": "*Installed Software*\n # rpm -qa |grep -E '(puppet|pdk)'\n puppet7-release-7.0.0-2.el7.noarch\n puppet-agent-7.8.0-1.el7.x86_64\n pdk-2.1.1.0-1.el7.x86_64\n\n\u00a0\n\n*Steps to reproduce*\n\nI am trying to deploy a custom puppet module and I went through:\n\nrake build:pdk\n\nthen:\n\npuppet module install ./path/to/OUR_MODULE_NAME-3.0.0.tar.gz --debug\n\n\u00a0\n\n*Desired Behavior:*\n\nOur module with all dependencies be installed\n\n*Actual Behavior:*\n\nCode exits non-zero trying to call ..constraints[*nil*].first[1]\n\n\u00a0\n\nIt seems like the error is caused because of a logical issue at:\n\n[https://github.com/puppetlabs/puppet/blob/main/lib/puppet/module_tool/applications/installer.rb#L141]\n\nWith some janky\n{quote}{\\{ rescue SemanticPuppet::Dependency::UnsatisfiableGraph => e}}\n {{\u00a0 unsatisfied = nil}}\n {{\u00a0 pp 'e'}}\n {{\u00a0 pp e}}\n {{\u00a0 pp 'e.respond_to?(:unsatisfied)'}}\n {{\u00a0 pp e.respond_to?(:unsatisfied)}}\n {{\u00a0 pp 'e.respond_to?(:unsatisfied)'}}\n {{\u00a0 pp e.respond_to?(:unsatisfied)}}\n{quote}\nThe output below shows that `e` does respond to :unsatisfied, but e.unsatisfied is nil, so when it's called on L167 it fails\n\n\u00a0\n{quote}{{$ puppet module install ./pkg/OUR_MODULE_NAME-3.0.0.tar.gz --debug}}\n {{Debug: Runtime environment: puppet_version=7.8.0, ruby_version=2.7.3, run_mode=user, default_encoding=UTF-8}}\n {{Notice: Preparing to install into /home/vagrant/.puppetlabs/etc/code/modules ...}}\n {{Debug: Could not find library 'archive/tar/minitar' required to enable feature 'minitar'}}\n {{Debug: Executing: 'gzip -dc /REDACTED/pkg/OUR_MODULE_NAME-3.0.0.tar.gz | tar xof -'}}\n {{Debug: Executing: 'find . -type d -exec chmod 755 {} +'}}\n {{Debug: Executing: 'find . -type f -exec chmod u+rw,g+r,a-st {} +'}}\n {{Debug: Executing: 'chown -R 1000:1000 .'}}\n {{Debug: Unpacked local tarball to /home/vagrant/.puppetlabs/opt/puppet/cache/OUR_MODULE_NAME/cache/local-tarball20210721-26316-1jpeh2d}}\n {{Notice: Downloading from [https://forgeapi.puppet.com|https://forgeapi.puppet.com/] ...}}\n {{Debug: Could not find library 'pe_license' required to enable feature 'pe_license'}}\n {{Debug: Creating new connection for [https://forgeapi.puppet.com:443|https://forgeapi.puppet.com/]}}\n {{Debug: Starting connection for [https://forgeapi.puppet.com:443|https://forgeapi.puppet.com/]}}\n {{Debug: Using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384}}\n {{Debug: HTTP GET [https://forgeapi.puppet.com/v3/releases?module=cds-puppet&sort_by=version&exclude_fields=readme%2Cchangelog%2Clicense%2Curi%2Cmodule%2Ctags%2Csupported%2Cfile_size%2Cdownloads%2Ccreated_at%2Cupdated_at%2Cdeleted_at] returned 200 OK}}\n {{Debug: Caching connection for [https://forgeapi.puppet.com:443|https://forgeapi.puppet.com/]}}\n {{Debug: Using cached connection for [https://forgeapi.puppet.com:443\n|https://forgeapi.puppet.com/]}}{{<SOME OUTPUT OMITTED>}}|\n\n{{Debug: Caching connection for [https://forgeapi.puppet.com:443|https://forgeapi.puppet.com/]}}\n {{Debug: Using cached connection for [https://forgeapi.puppet.com:443|https://forgeapi.puppet.com/]}}\n {{Debug: HTTP GET [https://forgeapi.puppet.com/v3/releases?module=thias-postfix&sort_by=version&exclude_fields=readme%2Cchangelog%2Clicense%2Curi%2Cmodule%2Ctags%2Csupported%2Cfile_size%2Cdownloads%2Ccreated_at%2Cupdated_at%2Cdeleted_at] returned 200 OK}}\n {{Debug: Caching connection for [https://forgeapi.puppet.com:443|https://forgeapi.puppet.com/]}}\n {{Info: Resolving dependencies ...}}\n{quote}\n{quote}{{\"e\"}}\n {{#<SemanticPuppet::Dependency::UnsatisfiableGraph: Could not find satisfying releases for OUR_MODULE_NAME>}}\n {{\"e.unsatisfied\"}}\n {{nil}}\n {{\"e.respond_to?(:unsatisfied)\"}}\n {{true}}\n{quote}\n{quote}{{Error: undefined method `[]' for nil:NilClass}}\n {{Error: Try 'puppet help module install' for usage}}\n{quote}\n\u00a0\n\n*Bonus Info* \n * I am only seeing this now because I have finally been able to schedule time on upgrading from puppet 5, and am going straight to 7.\n * rake works:\n ** check\n ** rubocop\n ** lint\n ** metadata_lint\n ** validate", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28819", "fixedVersions": ["PUP 6.25.0", "PUP 7.10.0"], "id": "28819", "issueType": "Bug", "key": "PUP-11172", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4c434a57610068e67834", "resolution": "Fixed", "resolutionDate": "2021-08-04T09:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "undefined method `[]' for nil:NilClass when handling SemanticPuppet::Dependency::UnsatisfiableGraph", "timeSpent": "PT0S", "updated": "2021-08-11T07:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Hi [~accountid:557058:89116718-adb8-45d4-bcd9-1483be79f43a],\n\nMy assumption is that this happens because the agent version on your primary server (which handles the catalog compilation) is older and doesn't have the {{max_files}} feature. That work (PUP-10946) went in 6.23.0 so it's available on the agent, which is why you're seeing the warning. Can you confirm that this is the case?\n\nTo be able to set the parameter in the manifest you need at least Puppet 6.23.0 on your server node.", "created": "2021-07-21T03:36:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Also make sure to restart the puppetserver after upgrading its local puppet-agent package.", "created": "2021-07-22T18:16:00.000000"}, {"author": "557058:89116718-adb8-45d4-bcd9-1483be79f43a", "body": "[~accountid:63d40628f6e1b543161789a7], yes, by the time this happened, the agent version on the server was still at 6.22.1, while all other agents had already been upgraded to 6.23.0. Meanwhile, everything was upgraded to 6.24.0, so I'll test again...", "created": "2021-07-22T23:51:00.000000"}, {"author": "557058:89116718-adb8-45d4-bcd9-1483be79f43a", "body": "Sorry for replying late. Issue is resolved now.\n\n\u00a0", "created": "2021-07-27T01:58:00.000000"}], "components": ["Types and Providers"], "created": "2021-07-21T01:19:00.000000", "creator": "557058:89116718-adb8-45d4-bcd9-1483be79f43a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "No \"Internal server error\" after adding max_files to a file resource."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@e73a966"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09ueb:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_147406576_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_373380483"}], "description": "*Puppet Version:* 6.23.0\n *Puppet Server Version:* 6.15.3\n *OS Name/Version:* Debian 10 (Master), Ubuntu 20.04.2 LTS (Agent)\n\nAfter getting the following warning:\n{code:java}\nThe directory 'XXX' contains 1530 entries, which exceeds the default soft limit 1000 and may cause excessive resource consumption and degraded performance. To remove this warning set a value for `max_files` parameter or consider using an alternate method to manage large directory trees{code}\nfor a file resource that removes a directory tree, I added a \"max_files => 2000\" attribute to that resource. But then I got this:\n{code:java}\nCould not retrieve catalog from remote server: Error 500 on SERVER: Server Error: no parameter named 'max_files' (file: /etc/puppetlabs/code/environments/production/modules/XXX/manifests/XXX.pp, line: 8) on File[XXX] (file: /etc/puppetlabs/code/environments/production/modules/XXX/manifests/XXX.pp, line: 8) on node XXX{code}\n*Desired Behavior:*\n\nFile resource should work as documented, catalog should be executed\n\n*Actual Behavior:*\n\nSee above\n\n*BTW: Please update drop down lists for \"Agent OS\" and \"Master OS\" above. They're way outdated.*", "environment": "Linux", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23460", "fixedVersions": [], "id": "23460", "issueType": "Bug", "key": "PUP-11171", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:89116718-adb8-45d4-bcd9-1483be79f43a", "resolution": "Fixed", "resolutionDate": "2021-07-27T01:59:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "\"Server Error: no parameter named 'max_files'\", when adding max_files to file resource", "timeSpent": "PT0S", "updated": "2021-07-27T01:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "attachments": [{"attacher": "6220db9494f7e20069fe964a", "created": "2021-07-16T10:39:00.000000", "name": "user_creation_debug.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11717"}, {"attacher": "6220db9494f7e20069fe964a", "created": "2021-07-16T10:39:00.000000", "name": "user_deletion_debug.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11643"}], "comments": [{"author": "6220db9494f7e20069fe964a", "body": "attaching debug puppet apply runs for user creation and user deletion for reference too", "created": "2021-07-16T10:40:00.000000"}], "components": [], "created": "2021-07-16T10:33:00.000000", "creator": "6220db9494f7e20069fe964a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3b91b4b6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzco4j:y"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fix an issue where the user home directory was not removed when `managehome` was set to `true`."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "45117"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Aug/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_202723408_*|*_1_*:*_1_*:*_337483430_*|*_10007_*:*_1_*:*_949987052_*|*_3_*:*_1_*:*_533183917_*|*_10009_*:*_1_*:*_393549286_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_849315381"}], "description": "OS agent: AIX 7.1 or 7.2\n\nwhen using the following manifest with puppet apply to create finch user\n\n{code:java}\ninclude add_user\nclass add_user {\n  # add user, create homedir and set a password\n  user { 'finch':\n    ensure     => 'present',\n    comment    => 'H Finch',\n    managehome => true,\n    # note the single quotes to stop $ expanding\n    password   => 'Pa$$w0rd',\n    home       => '/home/finch',\n  }\n\n}\n{code}\n\nthe user finch gets created along with its home folder as expected\n\nThen, if we use the following manifest to get rid of the same user\n\n{code:java}\ninclude delete_user\nclass delete_user{\n\n user { 'finch':\n   ensure           => 'absent',\n   managehome       => true,\n   home             => '/home/finch',\n }\n}\n{code}\n\nthe user finch gets deleted but its home folder (/home/finch) is left behind.\n\nI have used the same code in centos7 and both user and home folder gets deleted at once as expected\n\n*Desired Behavior:*\n\nthe code should work in the same manner independently of the OS platform - here AIX and centos\n\n*Actual Behavior:*\n\ncode is not removing deleted user's home directory in AIX\n\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29763", "fixedVersions": ["PUP 6.25.0", "PUP 7.11.0"], "id": "29763", "issueType": "Bug", "key": "PUP-11170", "labels": ["doc-reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6220db9494f7e20069fe964a", "resolution": "Fixed", "resolutionDate": "2021-08-23T05:50:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "User resource unable to remove user's home directory when set to absent in AIX", "timeSpent": "PT0S", "updated": "2021-09-08T03:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5b9fcedc03b52466f05c4510", "body": "merged in 6.x at https://github.com/puppetlabs/puppet/commit/fd8a0ed4535005c3332ae3cd8a975cfc715d2287", "created": "2021-07-19T00:08:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:62bc76dd228c59d8da1a18d4] Please don't reopen this ticket. If you're having issues with RHEL9, please reach out in the community slack channel.", "created": "2022-06-21T10:37:00.000000"}], "components": ["Modules"], "created": "2021-07-12T13:29:00.000000", "creator": "70121:abfc3b67-5a26-4b3b-bc14-fded34d7a974", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6a509ad3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Community Contributors", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "mwhahaha"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09off:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Use `systemd` as the default service provider for EL 9 variants such as RedHat or CentOS Stream."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_198497752_*|*_1_*:*_1_*:*_68020425_*|*_10007_*:*_1_*:*_212865183_*|*_10009_*:*_1_*:*_196716098_*|*_5_*:*_2_*:*_28628499023_*|*_10005_*:*_3_*:*_406637896"}], "description": "*Puppet Version:*\npuppet-7.8.0\n\n*Puppet Server Version:*\n*OS Name/Version:*\n\nCentOS Stream 9\n\nDescribe your issue in as much detail as possible\u2026\n\nUsing the service provider results in chkconfig being used instead of systemd. This is similar to the steps we had to do for PUP-9069\n\nDescribe steps to reproduce\u2026\n\nUse the service provider to manage a service.\n\n*Desired Behavior:*\n\nsystemd provider is used\n\n*Actual Behavior:*\n\nchkconfig provider is used\n\n*Example*\nhttps://github.com/openstack/puppet-pacemaker/blob/master/manifests/service.pp#L60-L66\n\nResults in:\n\n<13>Jul 12 19:00:39 puppet-user: Error: Could not enable pcsd: Execution of '/sbin/chkconfig --add pcsd' returned 1: error reading information on service pcsd: No such file or directory\n<13>Jul 12 19:00:39 puppet-user: Error: /Stage[main]/Pacemaker::Service/Service[pcsd]/ensure: change from 'stopped' to 'running' failed: Could not enable pcsd: Execution of '/sbin/chkconfig --add pcsd' returned 1: error reading information on service pcsd: No such file or directory\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25535", "fixedVersions": ["PUP 6.25.0", "PUP 7.10.0"], "id": "25535", "issueType": "Bug", "key": "PUP-11168", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:abfc3b67-5a26-4b3b-bc14-fded34d7a974", "resolution": "Fixed", "resolutionDate": "2022-06-21T10:37:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Add RHEL9 support for services", "timeSpent": "PT0S", "updated": "2022-06-21T10:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "6220db96c4d0fe0069535219", "body": "FWIW, I ran across this issue as well when using [onceover|https://github.com/dylanratcliffe/onceover]\u00a0with a control-repo, which leverages rspec-puppet, and was able to resolve it by mocking the service type (restricted to the RedHat osfamily for my use case) with the maskable feature enable like:\n{code:ruby}Puppet::Type.type(:service).defaultprovider.has_feature :maskable if node_facts['osfamily'] == 'RedHat'{code}\n\u00a0\n\nI added the above to the \"before\" block as described in [https://github.com/dylanratcliffe/onceover#advanced-settings]\n\n\u00a0\n\n- Jake", "created": "2021-08-27T21:15:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "Thank you for filing this issue. We agree it is likely an issue, probably between puppet and rspec-puppet, but due to other issues demanding precedence, we don\u2019t anticipate being able to address this any time soon. As such we are closing this as \u201cWon\u2019t Fix.\u201d We may revisit it at a later time, and if so will re-open this ticket.", "created": "2021-09-21T04:20:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "/cc: [~accountid:557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b]", "created": "2021-09-21T04:21:00.000000"}, {"author": "623c0dfe50bb2b0070b6b0b3", "body": "Please re-consider this won't fix.", "created": "2021-10-11T05:34:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:623c0dfe50bb2b0070b6b0b3], can you provide more info on the case where the mocks from this and the linked tickets are not enough?", "created": "2021-10-11T05:43:00.000000"}, {"author": "5e3375e183d74c0e821851f3", "body": "The method Jake posted above also worked for me. You can also add the lines below to a {{before}} block to mock the filesystem calls for {{/proc/1/comm}}. You could add these for OSes with {{systemd}} with some conditional statements.\n{code}  allow(Puppet::FileSystem).to receive(:exist?).and_call_original\n  allow(Puppet::FileSystem).to receive(:exist?).with('/proc/1/comm').and_return(true)\n  allow(Puppet::FileSystem).to receive(:read).and_call_original\n  allow(Puppet::FileSystem).to receive(:read).with('/proc/1/comm').and_return(['systemd'])\n{code}\nIf you use custom fact sets with the\u00a0{{service_provider}} fact from\u00a0[puppetlabs-stdlib|[https://github.com/puppetlabs/puppetlabs-stdlib/blob/main/lib/facter/service_provider.rb],]\u00a0you could use {{node_facts['service_provider']}} in the conditional statement.", "created": "2021-11-18T11:40:00.000000"}], "components": [], "created": "2021-07-09T09:52:00.000000", "creator": "557058:054fa98a-5e29-48e7-aeca-d5542926f8ba", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@25e47678"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09nzn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6373645799_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.23.0*\n *Puppet Server Version: N/A*\n *OS Name/Version:*\n\nAfter the release of Puppet 6.23.0 I've had to modify my manifests to workaround an issue affecting testing with rspec-puppet.\n\nIn my testing environment (a jenkins agent in an unprivileged docker container), the following code (intended for RHEL7 running systemd)\n\n\u00a0\n{code:java}\n if versioncmp($facts['operatingsystemmajrelease'], '7') >= 0 {\n   service { 'mcollective':\n     ensure => 'stopped',\n     enable => 'mask',\n   }\n }\n{code}\nhas started throwing\n{noformat}\nProvider redhat must have features 'maskable' to set 'enable' to 'mask'{noformat}\ndue to the changes made in [https://github.com/puppetlabs/puppet/commit/8d6c5ba92076babba07a42d8f82c9e6f86f8ef8b]\n\nThis line [https://github.com/puppetlabs/puppet/blob/aa1df95ab3c8ee5bd8f007ba45cca422b1de2498/lib/puppet/provider/service/systemd.rb#L14]\n\nis executed to help determine the default service provider. During rspec-puppet testing this code is being executed on the test environment platform, which may or may not be detected as systemd. (In my case, it isn't because I'm in a docker container, but equally the default service provider of eg. Mac OS is also not systemd).\n\nNot sure what the solution to this could be.\u00a0 The new validation code isn't 'wrong', but rspec-puppet wants to test code against various OSes by using stubbed facts.\u00a0 Since the systemd service provider is confined based on the actual presence of systemd and not facts, this no longer works.\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20255", "fixedVersions": [], "id": "20255", "issueType": "Bug", "key": "PUP-11167", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:054fa98a-5e29-48e7-aeca-d5542926f8ba", "resolution": "Won't Fix", "resolutionDate": "2021-09-21T04:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Provider redhat must have features 'maskable' to set 'enable' to 'mask' during rspec-puppet testing", "timeSpent": "PT0S", "updated": "2021-11-18T11:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/bda5769f9a6819115470c319bc03ef0d967ad433", "created": "2021-07-15T17:53:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in b6e983bef76b7d6825c30da3a812de7d5c998d4e", "created": "2021-07-20T00:02:00.000000"}], "components": [], "created": "2021-07-08T17:54:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@e0441e1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09nqr:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet server and agent no longer change their current working directories when listing modules in an environment directory."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_367792375_*|*_1_*:*_1_*:*_39002_*|*_10007_*:*_1_*:*_604707122_*|*_5_*:*_1_*:*_0"}], "description": "When listing modules by path, puppet changes the current working directory unnecessarily. This was first reported in PUP-9997, but broken out here into a separate issue:\n{code:ruby}def modules_by_path\n    modules_by_path = {}\n    modulepath.each do |path|\n      if Puppet::FileSystem.exist?(path)\n        Dir.chdir(path) do\n          module_names = Dir.entries(path).select do |name|\n            Puppet::Module.is_module_directory?(name, path)\n          end\n          modules_by_path[path] = module_names.sort.map do |name|\n            Puppet::Module.new(name, File.join(path, name), self)\n          end\n        end\n      else\n        modules_by_path[path] = []\n      end\n    end\n    modules_by_path\n  end\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27672", "fixedVersions": ["PUP 6.25.0", "PUP 7.10.0"], "id": "27672", "issueType": "Bug", "key": "PUP-11166", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-07-20T00:03:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Don't change current working directory when listing modules", "timeSpent": "PT0S", "updated": "2021-11-30T03:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in\u00a0https://github.com/puppetlabs/puppet/commit/1d6f9e61ef4c3350f55ef60a4ab66eaabbca7d4b", "created": "2021-07-14T15:28:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 09aa69bbfa", "created": "2021-07-16T12:54:00.000000"}], "components": [], "created": "2021-07-08T17:19:00.000000", "creator": "623c166301f8660070b700f4", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6ae0808"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09npf:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Added a new subdirectory to the Module class `scripts/` which\nautomatically generates the functions `scripts?()`, `scripts()`, and\n`script()` on the class for retrieving available scripts. This will help in the future standardize on more specific file loading from either the `files` directory or `scripts` directory in a module."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_163591769_*|*_1_*:*_1_*:*_511724606_*|*_10009_*:*_1_*:*_512683857_*|*_6_*:*_1_*:*_0"}], "description": "Based on this Bolt Github issue. [https://github.com/puppetlabs/bolt/issues/2918]\u00a0\n\nSimilar to https://puppet.atlassian.net/browse/PUP-10996\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21399", "fixedVersions": ["PUP 6.25.0"], "id": "21399", "issueType": "Improvement", "key": "PUP-11165", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c166301f8660070b700f4", "resolution": "Fixed", "resolutionDate": "2021-07-22T11:19:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Add 'scripts' directory to Puppet Module type (backport to Puppet 6)", "timeSpent": "PT0S", "updated": "2021-08-16T01:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5f5510c910d187006f1274d8", "body": "I think [https://github.com/puppetlabs/puppet/pull/8683]\u00a0fixes this.", "created": "2021-07-08T16:52:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/9ba5f98d4a1c50d6bed6e6e7cc4c2204b1b370b0", "created": "2021-07-20T09:10:00.000000"}], "components": ["Types and Providers"], "created": "2021-07-08T16:49:00.000000", "creator": "5f5510c910d187006f1274d8", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1b3ff700"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Community Contributors", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "ccaviness"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09noj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fix an issue where the `launchd` service provider would fail if a parsable but invalid LaunchAgent or LaunchDaemon plist file exists. "}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_187915250_*|*_1_*:*_1_*:*_401948714_*|*_10007_*:*_1_*:*_214476459_*|*_10009_*:*_2_*:*_205964439_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_78845134"}], "description": "If a file in the {{LaunchAgents}} or {{LaunchDaemons}} paths is encountered that's parseable by {{Puppet::Util::Plist.read_plist_from_file}} but not a valid {{launchd}} plist file, then Puppet will crash with an error.\n\nTo reproduce:\n{code}\n# echo \"aaa\" >/Library/LaunchDaemons/invalid.txt\n# puppet resource service\nError: Could not run: undefined method `has_key?' for \"aaa\":String\n{code}\n\nIn [launchd.rb line 141|https://github.com/puppetlabs/puppet/blob/aa1df95ab3c8ee5bd8f007ba45cca422b1de2498/lib/puppet/provider/service/launchd.rb#L141], the parsed plist ({{job}}) is checked with {{.has_key?}} to ensure  a {{Label}} is present. If the parsed plist is not a {{Hash}}, though, this will fail.\n\nI expect the correct course of action is to add a {{job.is_a?(Hash)}} check first.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27671", "fixedVersions": ["PUP 6.25.0", "PUP 7.10.0"], "id": "27671", "issueType": "Bug", "key": "PUP-11164", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5f5510c910d187006f1274d8", "resolution": "Fixed", "resolutionDate": "2021-07-21T07:21:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "launchd service provider fails if a parsable but invalid LaunchAgent or LaunchDaemon plist file exists", "timeSpent": "PT0S", "updated": "2021-08-11T07:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:adac4e58-01ac-4fce-8be9-94131c26c73d", "attachments": [], "comments": [{"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "[~accountid:557058:cb7bc15e-c86d-41f5-bc56-683d06b0a7fe]\u00a0what information is needed for this ticket? (asking based on ticket status change, I may just not understand what that status means in the workflow)", "created": "2021-07-14T18:12:00.000000"}, {"author": "557058:cb7bc15e-c86d-41f5-bc56-683d06b0a7fe", "body": "Hi [~accountid:557058:97578a32-3955-4c5c-939e-58a878437b49], I was on PTO for a couple of weeks so only getting around to this now. The team assign tickets to myself when they require some Product input, or if we need to gather requirements :)\u00a0 When do we advise our largest customers on steps to mitigate this, is it during initial setup? Also cc/ [~accountid:63d40628f6e1b543161789a7]\u00a0into this for some engineering expertise.", "created": "2021-07-26T06:58:00.000000"}, {"author": "557058:adac4e58-01ac-4fce-8be9-94131c26c73d", "body": "[~accountid:557058:97578a32-3955-4c5c-939e-58a878437b49] [~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b] how often is this coming up? trying to balance this with the rest of the tickets - if you were to guess what % of customers run into it?", "created": "2021-09-20T08:51:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "100% of customers run into the unevenly spread workload problem. A lesser percentage notice it. If the customer is small (say, less than a thousand nodes), the available Puppet compute power will eclipse the total agent workload enough to\u00a0make the thundering herd _issue_\u00a0not a _problem_. Small herd, small thunder.\n\nThe issue becomes a problem when the available compute power starts to become more evenly matched to the workload. [~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b]\u00a0would have to speak to the percentage of customers that Support needs to advise on enabling our special configuration {{max-queued-requests}} option, which is the first tier workaround used to mitigate the issue. This workaround tries to push back on the herd from the server side, by basically telling agents \"come back later\". It's imperfect, but better than nothing.*\n\nFor our largest customers, say >10,000 nodes (at a guess) we pretty universally have to talk about {{max-queued-requests}} at a minimum up front, and for most we end up evolving into suggesting the second tier workaround, which is\u00a0[reidmv-puppet_run_scheduler|https://forge.puppet.com/modules/reidmv/puppet_run_scheduler]\u00a0or similar\u2014basically, stop using the service, and use cron/scheduled-tasks to run the agent instead.\n\nThat strategy, even as a pre-implemented module, is uncomfortable because all customers would rather run services daemons than cron/scheduled-tasks. The big ones grumpily end up sacrificing that in exchange for stable performance.\n\n\u00a0\n----\n*\u00a0It's possible that an implementation solving for thundering herd could be built to interact more directly with the {{max-queued-requests}} back-off\u00a0mechanism, to balance an agent's schedule. Agent changes to make the run scheduling start times aligned with run-interval (start every run-interval), rather than being subject to individual run times (wait run-interval between runs) would still be desirable in that approach.", "created": "2021-09-20T09:19:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "I think this is basically the same request I made in the past via PUP-4212.  ", "created": "2021-09-28T15:11:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "Possibly. There are definitely similarities. If there's any difference, I think it would be that this ticket is more \"smooth workload distribution is something I want", "created": "2021-09-28T15:22:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:557058:97578a32-3955-4c5c-939e-58a878437b49], what are the benefits of randomizing first daemon run? Does adding the startup randomization to the first daemon run randomization gives better results?\n\nCould implementing something like this be enough?\n # first puppet-agent run: {{now() + $splay, if there is a collision, }}{{do 3}}\n # subsequent puppet-agent runs: each {{$run_interval}}, {{if there is a collision, 3, otherwise reset backoff_multiplier}}\n # collisions handling (based on server 503)\n ## {{increment backoff_multiplier}}\n ## sleep for {{backoff_multiplier * (retry-after || fixed default)}}\n ## reset run interval to now() and retry daemon run\n\nOP1: is the value of {{retry-after}} fixed (I assumed this and that's why I proposed the backoff_multiplier)\n\nOP2: is there any soft means to detect \"Thundering herds\" other than HTTP 503 response?\n\n\u00a0\n\n\u00a0", "created": "2021-10-01T06:16:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "close in favor of https://puppet.atlassian.net/browse/PUP-11365 epic", "created": "2021-11-17T05:21:00.000000"}], "components": [], "created": "2021-07-07T11:00:00.000000", "creator": "557058:97578a32-3955-4c5c-939e-58a878437b49", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@25a93186"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09m3f:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_512351327_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_2_*:*_10962110390"}], "description": "h2. Problem\n\nOne of the most-viewed articles in Open Source Puppet Assist between September of 2020 and March of 2021 was [determine a thundering herd condition in Puppet|https://ospassist.puppet.com/hc/en-us/articles/360040327753-determine-a-thundering-herd-condition-in-puppet-]\u00a0(OSPA-21).\n\nThundering herds have been an out-of-box problem in Puppet for more than a decade, and for users \"in the know\", there is a clear, bulletproof solution: use splayed, deterministic run start times to evenly distribute agent checkins.\n\nProblematically, this doesn't work with our daemonized agent. Customers must instead disable the agent, and use OS schedulers such as Cron (Posix) and Scheduled Tasks (Windows). See [this module|https://forge.puppet.com/modules/reidmv/puppet_run_scheduler]\u00a0for full automation of the configuration.\nh2. Desired Solution\n\nThe Puppet agent should provide a deterministic run scheduling mode which evenly distributes agent runs automatically, and eliminates the possibility of thundering herds developing. This mode should become the new default mode.\n\nCharacteristics:\n * Scheduled run start times should be based on computed wall clock times. Not on variable-time events such as previous run end times.\n * An agent's individual run start time should include a random offset element, seeded on the agent's certname setting _+\u00a0a random seed.\u2020_\n * The agent should schedule and perform a first-start run quickly (immediately, or splayed if splay is configured) on daemon startup, after which subsequent run starts should adhere to the computed wall-clock schedule\n\nOn startup, an agent might schedule runs thusly.\n # Schedule a startup run for\n {{now() + $splay}}\n # Schedule the first regular daemon run for\n {{now() + ((($run_interval - (now() % $run_interval)) + fqdn_rand($certname)) % $run_interval)}}\n # Every subsequent run should be scheduled exactly {{$run_interval}}\u00a0after of the previously scheduled run\n\n * Optionally, a provision can be made to skip a scheduled run if the previous scheduled run completed too soon within a configured proximity. This may happen after the special startup run, for example, or if a previously scheduled run entered into a backoff/retry loop based on server 503 responses and so did not start/complete for much longer than expected\n\n\u00a0\n\n\u00a0\n\nWe advise our largest customers to achieve this scheduling algorithm today in order to better distribute load, and to prevent thundering herds. We should eliminate the onerous workaround by incorporating it into our product, and in so doing deliver the same benefits to all Puppet users, as well as eliminate one of our most common troubleshooting exasperations.\n----\n\u2020\u00a0It is not important for a given agent to always select the same wall-clock start times; only for agents to have different, evenly spread start times, and for subsequent runs to be +consistently+ spaced. Including a random seed element permits the (unusual, not recommended) use of the same certificate by multiple agents. Including the certname accounts for the possibility of running on a system which cannot generate true random seeds.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25530", "fixedVersions": [], "id": "25530", "issueType": "Improvement", "key": "PUP-11163", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:97578a32-3955-4c5c-939e-58a878437b49", "resolution": "Fixed", "resolutionDate": "2021-11-17T05:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prevent thundering herd via deterministic run scheduling", "timeSpent": "PT0S", "updated": "2021-11-17T05:21:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [], "components": [], "created": "2021-07-07T02:36:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@65bdf36"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3868"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09lg3:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Added support for Ubuntu 18.04 aarch64"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2582_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_4072793472"}], "description": "Update Public-facing Puppet docs to include this platform\n\nThis ticket will be set with the fix version of the first release containing the new platform and checked with doc team during the Platform release process.\n", "epicLinkSummary": "Add Ubuntu 18.04 (aarch64) FOSS support", "estimate": "PT0S", "externalId": "27670", "fixedVersions": ["PUP 6.25.0", "PUP 7.11.0"], "id": "27670", "issueType": "Task", "key": "PUP-11162", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": "55817", "parentSummary": "Add Ubuntu 18.04 (aarch64) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "resolution": "Fixed", "resolutionDate": "2021-08-23T05:56:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Public-facing Puppet docs to include Ubuntu 18.04 (aarch64)", "timeSpent": "PT0S", "updated": "2021-09-13T04:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "probably created by mistake", "created": "2021-07-06T06:24:00.000000"}], "components": [], "created": "2021-07-05T08:39:00.000000", "creator": "623c157001f8660070b70068", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1959b9bc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09kgj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_78340903_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:*\n *Puppet Server Version:*\n *OS Name/Version:*\n\nDescribe your issue in as much detail as possible\u2026\n Describe steps to reproduce\u2026\n\n*Desired Behavior:*\n\n*Actual Behavior:*\n\nPlease take a moment and attach any relevant log output and/or manifests. This will help us immensely when troubleshooting the issue.\n\nExamples:\n Run puppet agent with --test --trace --debug\n\nRelevant sections of {{/var/log/puppetlabs/puppetserver/puppetserver.log}} or any applicable logs from the same directory.\n\nFor more detailed information turn up the server logs by upping the log level in the server's logback.xml\n\nRelevant sections of configurations files (puppet.conf, hiera.conf, Server's conf.d, defaults/sysconfig)\n\nFor memory issues with server heap dumps are also helpful.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23457", "fixedVersions": [], "id": "23457", "issueType": "Bug", "key": "PUP-11160", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c157001f8660070b70068", "resolution": "Fixed", "resolutionDate": "2021-07-06T06:24:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "{brief summary of issue}", "timeSpent": "PT0S", "updated": "2021-07-06T06:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "duplicate of https://puppet.atlassian.net/browse/PUP-7486", "created": "2021-07-06T08:26:00.000000"}], "components": [], "created": "2021-07-05T08:12:00.000000", "creator": "623c12ff94742a00683e41fd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2bc3072f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Manual Test"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09kgb:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_87271560_*|*_6_*:*_1_*:*_0"}], "description": "Docs indeed mention in https://puppet.com/docs/puppet/6/types/user.html#user-provider-openbsd that ruby-shadow needs to be installed in order to manage user passwords, but Puppet should give at least a warning that it couldn't manage the user password instead of silently continuing (creates a user without any password successfully when a password was provided in manifest).\n\nUseful output:\n{code:bash}\n# Bundled gem\n\u279c bundle exec puppet resource user test1 ensure=present password=pass1\nWarning: /User[test1]: Ssh_authorized_key type is not available. Cannot purge SSH keys.\nNotice: /User[test1]/ensure: created\nuser { 'test1':\n  ensure   => 'present',\n  provider => 'useradd',\n}\n\u279c bundle exec puppet resource user test1 ensure=present password=pass2\nWarning: /User[test1]: Ssh_authorized_key type is not available. Cannot purge SSH keys.\nuser { 'test1':\n  ensure   => 'present',\n  provider => 'useradd',\n}\n\n# Latest Puppet gem build\n\u279c gem install puppet\nFetching puppet-7.8.0.gem\nSuccessfully installed puppet-7.8.0\nParsing documentation for puppet-7.8.0\nInstalling ri documentation for puppet-7.8.0\nDone installing documentation for puppet after 14 seconds\n1 gem installed\n\u279c puppet resource user test2 ensure=present password=pass\nWarning: /User[test2]: Ssh_authorized_key type is not available. Cannot purge SSH keys.\nNotice: /User[test2]/ensure: created\nuser { 'test2':\n  ensure   => 'present',\n  provider => 'useradd',\n}\n\u279c puppet resource user test2 ensure=present password=pass2\nWarning: /User[test2]: Ssh_authorized_key type is not available. Cannot purge SSH keys.\nuser { 'test2':\n  ensure   => 'present',\n  provider => 'useradd',\n}\n\u279c puppet --version\n7.8.0\n\u279c bundle exec puppet --version\n6.24.0\n\n# Bundled ruby with ruby-shadow installed\n\u279c bundle exec puppet resource user shadow ensure=present password=pass\nWarning: /User[shadow]: Ssh_authorized_key type is not available. Cannot purge SSH keys.\nNotice: /User[shadow]/ensure: created\nuser { 'shadow':\n  ensure   => 'present',\n  password => 'pass',\n  provider => 'useradd',\n}\n\u279c bundle exec puppet resource user shadow ensure=present password=pass2\nWarning: /User[shadow]: Ssh_authorized_key type is not available. Cannot purge SSH keys.\nNotice: /User[shadow]/password: changed [redacted] to [redacted]\nuser { 'shadow':\n  ensure   => 'present',\n  password => 'pass2',\n  provider => 'useradd',\n}\n\n# Latest AIO nightly build\n\u279c puppet resource user shadow ensure=present password=pass\nNotice: /User[shadow]/ensure: created\nuser { 'shadow':\n  ensure   => 'present',\n  password => 'pass',\n  provider => 'useradd',\n}\n\u279c puppet resource user shadow ensure=present password=pass1\nNotice: /User[shadow]/password: changed [redacted] to [redacted]\nuser { 'shadow':\n  ensure   => 'present',\n  password => 'pass1',\n  provider => 'useradd',\n}\n{code}\n\nWe should try to keep same behaviour between gem and AIO versions or at least avoid confusing mismatches like this one. \n\nWe have a debug message lost in the river that tells-ish us about this:\n{code:bash}\n\u279c bundle exec puppet resource user testdebug ensure=present password=pass --debug\n...\nDebug: Could not find library 'shadow' required to enable feature 'libshadow'\n...\nDebug: Finishing transaction 12080\nDebug: Storing state\nDebug: Pruned old state cache entries in 0.00 seconds\nDebug: Stored state in 0.00 seconds\nuser { 'testdebug':\n  ensure   => 'present',\n  provider => 'useradd',\n}\n{code}\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22462", "fixedVersions": [], "id": "22462", "issueType": "Bug", "key": "PUP-11159", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c12ff94742a00683e41fd", "resolution": "Duplicate", "resolutionDate": "2021-07-06T08:26:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "User password management with `useradd` provider fails silently", "timeSpent": "PT0S", "updated": "2021-07-06T08:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/9f0ca2b9f62a30ab1c3f0ca71439d98c207487be", "created": "2021-07-20T20:27:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Reverted in 6.x in\u00a0[https://github.com/puppetlabs/puppet/commit/fa308bca3d]\n\nNew PR merged to 6.x in\u00a0[https://github.com/puppetlabs/puppet/commit/53aa5b312d]", "created": "2021-07-27T19:28:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Reverted in 6.x in https://github.com/puppetlabs/puppet/commit/21bf78d0ed\n\nRereverted in 6.x in https://github.com/puppetlabs/puppet/commit/9e32544180", "created": "2021-07-29T17:16:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Integration test added in\u00a0[https://github.com/puppetlabs/puppet/commit/fc0436dc7a]", "created": "2021-07-29T17:18:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in\u00a045be538ea9", "created": "2021-07-30T12:16:00.000000"}], "components": [], "created": "2021-07-02T17:43:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5e42f3d6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10539"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09k5v:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Previously, Puppet Server could expire an environment and reload it, while it was being used to compile a catalog. If translations were enabled (Puppet[:disable_i18n] set to false), then compilation could fail. Now Puppet Server prevents environments from being reloaded while they are in use, and instead reloads the environment the next time it is requested."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_3_*:*_436606898_*|*_1_*:*_1_*:*_127660_*|*_10007_*:*_3_*:*_1237530629_*|*_3_*:*_2_*:*_627120241_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_98435421"}], "description": "The environment cache's keys may be strings or symbols, so you can end up with same environment cached under two different names (see PUP-10955). We tried fixing the issue, but it turns out we're currently relying on the symbol/string confusion to prevent an environment from being reloaded during a compilation.\n\nFor example, given this script:\n\n{code:ruby}\nrequire 'puppet'\nLocale.current = 'ja_JP'\nPuppet.initialize_settings\nPuppet::GettextConfig.setup_locale\nPuppet::Resource::Catalog.indirection.terminus_class = :compiler\nPuppet[:log_level] = 'debug'\nPuppet::Util::Log.newdestination(:console)\n\nPuppet::ApplicationSupport.push_application_context(Puppet::Util::RunMode[:server])\ncatalog = Puppet::Resource::Catalog.indirection.find(Puppet[:certname], environment: :production)\nputs catalog.resource(:notify, 'happy')[:message]\n{code}\n\nResults in the following:\n{code}\n$ bundle exec puppet module install eputnam-i18ndemo\n$ bundle exec ruby envs.rb\n...\nDebug: Loaded translations for puppetlabs-stdlib.\nDebug: Loaded translations for eputnam-i18ndemo.\nDebug: Evicting cache entry for environment 'production'\nDebug: Deleted current text domain :production: true\nDebug: Path to /home/josh/.puppetlabs/etc/code/environments/production does not exist, using default environment.conf\n...`\nNotice: Compiled catalog for localhost in environment production in 0.02 seconds\n--*IT'S HAPPY FUN TIME*--\nyppah\n--*IT'S HAPPY FUN TIME*--\n{code}\n\nNote the translations are loaded, but the environment is cleared and the text domain is deleted prior to compilation, so we end up with the non-localized message {{IT'S HAPPY FUN TIME}}.\n\nChanging the {{environment}} parameter to a string, prevents the environment from being cleared:\n\n{code:ruby}\ncatalog = Puppet::Resource::Catalog.indirection.find(Puppet[:certname], environment: 'production')\n{code}\n\nAnd we get the localized message:\n{code}\n--*eputnam-i18ndemo function: \u305d\u308c\u306f\u697d\u3057\u3044\u6642\u9593\u3067\u3059*--\nyppah\n--*eputnam-i18ndemo function: \u305d\u308c\u306f\u697d\u3057\u3044\u6642\u9593\u3067\u3059*--\n{code}\n\nWe should be explicit about not reloading an environment during a single compilation. If environment_timeout=0, then the environment should be reloaded during the next compilation (or any indirected request).\n\nAlso [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] says it's important for versioned code deploys to keep the same environment object throughout a compile.", "epicLinkSummary": "Environment convergence", "estimate": "PT0S", "externalId": "25529", "fixedVersions": ["PUP 6.25.0", "PUP 7.10.0"], "id": "25529", "issueType": "Bug", "key": "PUP-11158", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": "24513", "parentSummary": "Environment convergence", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-07-30T12:20:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "An environment may be reloaded during a single compilation", "timeSpent": "PT0S", "updated": "2021-08-11T06:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/9173e35f36  and passed CI in b6e983bef7", "created": "2021-07-20T09:08:00.000000"}], "components": ["Compiler"], "created": "2021-07-02T10:38:00.000000", "creator": "6220db9494f7e20069fe964a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2bac5674"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Customer Feedback"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09g60:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Previously, when :versioned_environment_dirs was true, catalog compilation failed to add metadata for static catalog file resources; this meant that an agent receiving a catalog would not attempt to request that static file content. This has been addressed and now metadata is correctly added to the catalog when :versioned_environment_dirs is true."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "43787"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_339515322_*|*_1_*:*_1_*:*_11368992_*|*_10007_*:*_1_*:*_170678068_*|*_3_*:*_1_*:*_680340121_*|*_10009_*:*_1_*:*_28942657_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_7339416_*|*_10005_*:*_1_*:*_340570026"}], "description": "*Puppet Version:*\u00a0\n *Puppet Server Version:* *2019.8.5* and *2019.8.6*\n *OS Name/Version: Centos 7*\n\nWhen versioned_deploys is enabled (lockless deploys feature) the file resource stops operating as static catalog\u00a0\n\n*Desired Behavior:*\n\nWhen deploy_versions is enabled (lockless deploys feature) the file resource stops operating as static catalog\u00a0**\u00a0\n\n*Actual Behavior:*\n\n\u00a0\n\nUsing the following class as example:\n\n\n{code:java}\nclass file_serving_test {\n# creating a file in the root folder\n  file { '/root/jordi9.conf':\n    ensure => file,\n    source => 'puppet:///modules/file_serving_test/jordi9.conf'\n  }\n}\n{code}\n\n\nwithout version_deploys - static catalogs working\n\n{code:java}\n 10.64.132.119 - - [02/Jul/2021:14:22:22 +0000] \"GET /puppet/v3/static_file_content/site/file_serving_test/files/jordi9.conf?environment=production&code_id=urn%3Apuppet%3Acode-id%3A1%3Acc6a314c8caf1c58434ba024e0a38c234044cbe0%3Bproduction HTTP/1.1\" 200 14 \"-\" \"Puppet/6.22.1 Ruby/2.5.9-p229 (x86_64-linux)\" 8 - -\n{code}\n\n with version_deploys and no other changes - static catalogs not working\n\n{code:java}\n 10.64.132.119 - - [02/Jul/2021:14:28:52 +0000] \"GET /puppet/v3/file_metadata/modules/file_serving_test/jordi9.conf?links=manage&checksum_type=md5&source_permissions=ignore&environment=production HTTP/1.1\" 200 289 \"-\" \"Puppet/6.22.1 Ruby/2.5.9-p229 (x86_64-linux)\" 16 - 12\n 10.64.132.119 - - [02/Jul/2021:14:35:10 +0000] \"GET /puppet/v3/file_metadata/modules/file_serving_test/jordi9.conf?links=manage&checksum_type=md5&source_permissions=ignore&environment=production HTTP/1.1\" 200 367 \"-\" \"Puppet/6.22.1 Ruby/2.5.9-p229 (x86_64-linux)\" 11 - 8\n 10.64.132.119 - - [02/Jul/2021:14:58:46 +0000] \"GET /puppet/v3/file_metadata/modules/file_serving_test/jordi9.conf?links=manage&checksum_type=md5&source_permissions=ignore&environment=production HTTP/1.1\" 200 367 \"-\" \"Puppet/6.22.1 Ruby/2.5.9-p229 (x86_64-linux)\" 10 - 7\n{code}\n\n with version_deploys, deleting\u00a0{{jordi9.conf}}\u00a0from the agent and no other changes - static catalogs not working\n\n{code:java}\n 10.64.132.119 - - [02/Jul/2021:15:04:41 +0000] \"GET /puppet/v3/file_metadata/modules/file_serving_test/jordi9.conf?links=manage&checksum_type=md5&source_permissions=ignore&environment=production HTTP/1.1\" 200 367 \"-\" \"Puppet/6.22.1 Ruby/2.5.9-p229 (x86_64-linux)\" 18 - 14\n 10.64.132.119 - - [02/Jul/2021:15:04:42 +0000] \"GET /puppet/v3/file_content/modules/file_serving_test/jordi9.conf?environment=production HTTP/1.1\" 200 14 \"-\" \"Puppet/6.22.1 Ruby/2.5.9-p229 (x86_64-linux)\" 10 - 7 1\n{code}\n\nLogic steps to reproduce:\n# Add a file resource with source => 'puppet:///modules...' into the control repo in a module\n# Enable code manager\n# Observe static catalogs are working and the metadata for the file is inlined in the catalog.\n# Enable versioned code deploys\n# Observe that the static catalogs do not include the inlined metadata and the agent makes the file_metadata API call for the files\n\n*OUTCOMES*\n* Determine the cause of this bug - if you've put in ~2 points worth of work into this and can't determine the cause, we should stop and re-evaluate next steps.\n* If it's easy, fix it\n* If not, open separate ticket(s) describing the necessary changes", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24469", "fixedVersions": ["PUP 6.25.0", "PUP 7.10.0"], "id": "24469", "issueType": "Bug", "key": "PUP-11169", "labels": ["doc-reviewed", "jira_escalated", "versioned_deploys"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6220db9494f7e20069fe964a", "resolution": "Fixed", "resolutionDate": "2021-07-20T17:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "static catalogs not working for file resource when versioned_deploys enabled", "timeSpent": "PT0S", "updated": "2021-10-14T10:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-06-30T13:31:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4ccc4f4f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11148"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09gr7:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1829055676_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-07-20)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2021-07-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "estimate": "PT0S", "externalId": "21396", "fixedVersions": [], "id": "21396", "issueType": "Task", "key": "PUP-11157", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20252", "parentSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-07-21T17:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 6.24.0)", "timeSpent": "PT0S", "updated": "2021-07-21T17:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-06-30T13:31:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@68e9f147"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11148"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09gqz:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1829051553_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-07-20)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n", "duedate": "2021-07-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "estimate": "PT0S", "externalId": "20254", "fixedVersions": [], "id": "20254", "issueType": "Task", "key": "PUP-11156", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20252", "parentSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-07-21T17:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 6.24.0)", "timeSpent": "PT0S", "updated": "2021-07-21T17:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "attachments": [], "comments": [], "components": [], "created": "2021-06-30T13:31:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4f7a5ff7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11148"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk48n:q02i"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_1816901360_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_12115448"}], "description": "(Initial planned release date: 2021-07-20)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 6.24.0 is now available\".\n", "duedate": "2021-07-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "estimate": "PT0S", "externalId": "29759", "fixedVersions": [], "id": "29759", "issueType": "Task", "key": "PUP-11155", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20252", "parentSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-07-21T17:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Send release announcement (Puppet Platform 6.24.0)", "timeSpent": "PT0S", "updated": "2021-07-21T17:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [], "components": [], "created": "2021-06-30T13:31:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@68442f69"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11148"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09gqb:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1782952097_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-07-20)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2021-07-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "estimate": "PT0S", "externalId": "27669", "fixedVersions": [], "id": "27669", "issueType": "Task", "key": "PUP-11154", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20252", "parentSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-07-21T04:46:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 6.24.0)", "timeSpent": "PT0S", "updated": "2021-07-21T04:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-06-30T13:30:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6e15d365"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11148"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09gq3:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1828993977_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-07-20)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2021-07-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "estimate": "PT0S", "externalId": "26676", "fixedVersions": [], "id": "26676", "issueType": "Task", "key": "PUP-11153", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20252", "parentSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-07-21T17:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 6.24.0)", "timeSpent": "PT0S", "updated": "2021-07-21T17:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "The next release in the Puppet 6 series, Puppet 6.24.0, is now available!\n\nThe release contains new features, minor enhancements, and bug fixes including:\n * support for Debian 11 Bullseye amd64\n * code-signed MacOS executable files for `puppet` and `pxp-agent`\n\n * `exec` provider directly executes commands when passed as an array (instead of executing via the standard shell)\n\nFor the full list of changes, check out the release notes:\u00a0[https://puppet.com/docs/puppet/latest/release_notes_osp.html]", "created": "2021-07-19T09:37:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:70121:4596f954-1fdf-472f-a700-6b7c2ffbc525]\u00a0[~accountid:557058:55b23daa-f1aa-41fd-b10d-bf49a61932da]\u00a0[~accountid:70121:4c2994e4-73a9-4e99-971a-6d93d39be223]\u00a0[~accountid:6323aedbed8abffd7ffdf0ce]\u00a0Please add any changes that you want to call out to the highlights email above. Thanks!\n\nPuppet 6.24.0 release notes:\u00a0https://puppet-docs-preview.netlify.app/docs/puppet/6/release_notes_puppet.html#release_notes_puppet_6-24-0\n\nServer 6.16.1 release notes:\u00a0https://puppet-docs-preview.netlify.app/docs/puppet/6/server/release_notes.html#puppet-server-6161\n\nUsername: puppet Password: fork.left.extra", "created": "2021-07-19T09:38:00.000000"}], "components": [], "created": "2021-06-30T13:30:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6f3f6701"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11148"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09gpn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1627683228_*|*_10009_*:*_1_*:*_155137909_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-07-20)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2021-07-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "estimate": "PT0S", "externalId": "24468", "fixedVersions": [], "id": "24468", "issueType": "Task", "key": "PUP-11152", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20252", "parentSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-07-21T04:44:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare release announcement (Puppet Platform 6.24.0)", "timeSpent": "PT0S", "updated": "2021-07-21T04:44:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:70121:4596f954-1fdf-472f-a700-6b7c2ffbc525] [~accountid:5b9fcedc03b52466f05c4510] [~accountid:557058:cb7bc15e-c86d-41f5-bc56-683d06b0a7fe] [~accountid:557058:55b23daa-f1aa-41fd-b10d-bf49a61932da] Could you please review the Puppet 6 release notes:\u00a0https://docs.google.com/document/d/1NnCeCCGbMZ_Ys-cHDMWk-b2D_YyRAATWQgxqcju_jts/edit?usp=sharing", "created": "2021-07-14T10:12:00.000000"}], "components": [], "created": "2021-06-30T13:30:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@52eabe4b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11148"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09gpf:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1197733570_*|*_10009_*:*_1_*:*_160048811_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-07-20)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2021-07-04T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "estimate": "PT0S", "externalId": "23456", "fixedVersions": [], "id": "23456", "issueType": "Task", "key": "PUP-11151", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20252", "parentSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-07-16T06:40:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 6.24.0)", "timeSpent": "PT0S", "updated": "2021-07-16T06:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-06-30T13:30:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6e8d82d2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11148"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09gp7:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_798684579_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-07-20)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2021-07-02T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "estimate": "PT0S", "externalId": "22461", "fixedVersions": [], "id": "22461", "issueType": "Task", "key": "PUP-11150", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20252", "parentSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-07-09T19:22:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 6.24.0)", "timeSpent": "PT0S", "updated": "2021-07-09T19:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-06-30T13:30:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@66788bcf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11148"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09goz:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_798677068_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-07-20)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 6.24.0 and puppet-agent 6.24.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2021-07-02T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "estimate": "PT0S", "externalId": "21350", "fixedVersions": [], "id": "21350", "issueType": "Task", "key": "PUP-11149", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20252", "parentSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-07-09T19:22:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 6.24.0)", "timeSpent": "PT0S", "updated": "2021-07-09T19:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-06-30T13:30:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6a3751fd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-6"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 6.24.0 Release - 2021-07-20\n"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "green"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09gor:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4655376882_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "duedate": "2021-07-20T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20252", "fixedVersions": [], "id": "20252", "issueType": "Epic", "key": "PUP-11148", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-08-23T10:40:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "timeSpent": "PT0S", "updated": "2021-08-23T10:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-06-30T13:28:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@48339dc7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09gjv:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7977001877_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-07-20)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2021-07-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "estimate": "PT0S", "externalId": "28817", "fixedVersions": [], "id": "28817", "issueType": "Task", "key": "PUP-11147", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27667", "parentSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-09-30T21:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 7.9.0)", "timeSpent": "PT0S", "updated": "2021-09-30T21:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-06-30T13:28:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@66817e91"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09gjn:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1829637306_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-07-20)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n", "duedate": "2021-07-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "estimate": "PT0S", "externalId": "27668", "fixedVersions": [], "id": "27668", "issueType": "Task", "key": "PUP-11146", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27667", "parentSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-07-21T17:42:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 7.9.0)", "timeSpent": "PT0S", "updated": "2021-07-21T17:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "attachments": [], "comments": [], "components": [], "created": "2021-06-30T13:28:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@48c953cd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk48n:q024"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_2910524865_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_12295934"}], "description": "(Initial planned release date: 2021-07-20)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 7.8.0 is now available\".\n", "duedate": "2021-07-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "estimate": "PT0S", "externalId": "26673", "fixedVersions": [], "id": "26673", "issueType": "Task", "key": "PUP-11145", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27667", "parentSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-08-03T09:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Send release announcement (Puppet Platform 7.9.0)", "timeSpent": "PT0S", "updated": "2021-08-03T09:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [], "components": [], "created": "2021-06-30T13:27:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@61091abe"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09giz:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1783124966_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-07-20)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2021-07-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "estimate": "PT0S", "externalId": "24467", "fixedVersions": [], "id": "24467", "issueType": "Task", "key": "PUP-11144", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27667", "parentSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-07-21T04:46:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 7.9.0)", "timeSpent": "PT0S", "updated": "2021-07-21T04:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-06-30T13:27:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@536be2c3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09gir:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1829170160_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-07-20)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2021-07-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "estimate": "PT0S", "externalId": "23455", "fixedVersions": [], "id": "23455", "issueType": "Task", "key": "PUP-11143", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27667", "parentSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-07-21T17:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 7.9.0)", "timeSpent": "PT0S", "updated": "2021-07-21T17:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "The next release in the Puppet 7 series, Puppet 7.9.0, is now available!\n\nThe release contains new features, minor enhancements, and bug fixes including:\n * installing `.exe` packages on Windows using HTTPS as a package source\n * support for Debian 11 Bullseye amd64\n * code-signed MacOS executable files for `puppet` and `pxp-agent`\n\n * `exec` provider directly executes commands when passed as an array (instead of executing via the standard shell)\n\nFor the full list of changes, check out the release notes:\u00a0[https://puppet.com/docs/puppet/latest/release_notes_osp.html]", "created": "2021-07-19T09:33:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:70121:4596f954-1fdf-472f-a700-6b7c2ffbc525] [~accountid:557058:55b23daa-f1aa-41fd-b10d-bf49a61932da] [~accountid:70121:4c2994e4-73a9-4e99-971a-6d93d39be223] [~accountid:6323aedbed8abffd7ffdf0ce] Please add any changes that you want to call out to the highlights email above. Thanks!\n\nPuppet 7.9.0 release notes:\u00a0https://puppet-docs-preview.netlify.app/docs/puppet/7/release_notes_puppet.html#release_notes_puppet_7-9-0\n\nServer 7.2.1 release notes:\u00a0https://puppet-docs-preview.netlify.app/docs/puppet/7/server/release_notes.html#puppet-server-721\n\nFacter 4.2.2 release notes:\u00a0https://puppet-docs-preview.netlify.app/docs/puppet/7/release_notes_facter.html#release_notes_facter_4-2-1\n\nUsername: puppet Password: fork.left.extra", "created": "2021-07-19T09:36:00.000000"}], "components": [], "created": "2021-06-30T13:27:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2bd961c4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09gib:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1627735226_*|*_10009_*:*_1_*:*_155289944_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-07-20)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2021-07-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "estimate": "PT0S", "externalId": "21349", "fixedVersions": [], "id": "21349", "issueType": "Task", "key": "PUP-11142", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27667", "parentSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-07-21T04:44:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare release announcement (Puppet Platform 7.9.0)", "timeSpent": "PT0S", "updated": "2021-07-21T04:44:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:70121:4596f954-1fdf-472f-a700-6b7c2ffbc525] [~accountid:5b9fcedc03b52466f05c4510] [~accountid:557058:cb7bc15e-c86d-41f5-bc56-683d06b0a7fe] [~accountid:557058:55b23daa-f1aa-41fd-b10d-bf49a61932da] Could you please review the Puppet 7 release notes:\u00a0https://docs.google.com/document/d/1Mwocl-Ea31TlT1XwFgTXjhQA-9YWTJSrlWOYyi4kIPc/edit?usp=sharing", "created": "2021-07-14T10:11:00.000000"}], "components": [], "created": "2021-06-30T13:27:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5a2d5c1e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09gi3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1197833083_*|*_10009_*:*_1_*:*_154494017_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-07-20)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2021-07-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "estimate": "PT0S", "externalId": "20250", "fixedVersions": [], "id": "20250", "issueType": "Task", "key": "PUP-11141", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27667", "parentSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-07-16T05:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 7.9.0)", "timeSpent": "PT0S", "updated": "2021-07-16T05:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-06-30T13:27:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@51f4672d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09ghv:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1829171328_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-07-20)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2021-07-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "estimate": "PT0S", "externalId": "29757", "fixedVersions": [], "id": "29757", "issueType": "Task", "key": "PUP-11140", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27667", "parentSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-07-21T17:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 7.9.0)", "timeSpent": "PT0S", "updated": "2021-07-21T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-06-30T13:27:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2e3bde61"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09ghn:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_798882144_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-07-20)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 7.8.0 and puppet-agent 7.9.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2021-07-07T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "estimate": "PT0S", "externalId": "28816", "fixedVersions": [], "id": "28816", "issueType": "Task", "key": "PUP-11139", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27667", "parentSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-07-09T19:22:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 7.9.0)", "timeSpent": "PT0S", "updated": "2021-07-09T19:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-06-30T13:27:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@465bb883"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-4"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 7.9.0 Release - 2021-07-20"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_blue"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09ghf:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1829196984_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 7.9.0 Release - 2021-07-20", "duedate": "2021-07-20T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27667", "fixedVersions": [], "id": "27667", "issueType": "Epic", "key": "PUP-11138", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-07-21T17:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Platform 7.9.0 Release - 2021-07-20", "timeSpent": "PT0S", "updated": "2021-08-23T10:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-06-30T07:05:00.000000", "creator": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@59dfc5c4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09gbf:"}], "description": "On Debian 10(might be also other platforms affected) when querying a user that contains non-ASCII characters in its name, puppet errors out as seen below:\n\n{code:bash}\n\nroot@fell-scattergun:~# puppet --version\n6.23.0\n\nroot@fell-scattergun:~# cat manifest.pp\nuser { 'G\u00e9rard':\n ensure => present,\n password => 'pass',\n}\n\nroot@fell-scattergun:~# puppet apply manifest.pp\nNotice: Compiled catalog for fell-scattergun.delivery.puppetlabs.net in environment production in 0.01 seconds\nNotice: /Stage[main]/Main/User[G\u00e9rard]/ensure: created\nNotice: Applied catalog in 0.09 seconds\n\nroot@fell-scattergun:~# puppet resource user G\u00e9rard --trace\nError: Could not run: incompatible character encodings: ASCII-8BIT and UTF-8\n/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/fast_gettext-1.1.2/lib/fast_gettext/vendor/string.rb:70:in `%'\n/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/fast_gettext-1.1.2/lib/fast_gettext/vendor/string.rb:70:in `%'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource.rb:489:in `to_manifest'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/resource.rb:152:in `block (2 levels) in main'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/resource.rb:151:in `map'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/resource.rb:151:in `block in main'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:314:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/resource.rb:138:in `main'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:390:in `run_command'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:382:in `block in run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:735:in `exit_on_fail'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:382:in `run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:143:in `run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:77:in `execute'\n/opt/puppetlabs/puppet/bin/puppet:5:in `<main>'\n{code}\n\nChecking variables from [puppet/resource.rb|https://github.com/puppetlabs/puppet/blob/main/lib/puppet/resource.rb#L464] shows:\n\n\n{code:bash}\n[1] pry(#<Puppet::Resource>)> self.type.to_s.downcase\n=> \"user\"\n[2] pry(#<Puppet::Resource>)> escaped\n=> \"G\\xC3\\xA9rard\"\n[3] pry(#<Puppet::Resource>)> attributes\n=> \"  ensure             => 'present',\\n  gid                => 1020,\\n  home               => '/home/G\\u00E9rard',\\n  password           => 'pass',\\n  password_max_age   => 99999,\\n  password_min_age   => 0,\\n  password_warn_days => 7,\\n  provider           => 'useradd',\\n  shell              => '/bin/sh',\\n  uid                => 1020,\\n\"\n[4] pry(#<Puppet::Resource>)>\n[5] pry(#<Puppet::Resource>)> attributes.encoding\n=> #<Encoding:UTF-8>\n[6] pry(#<Puppet::Resource>)> escaped.encoding\n=> #<Encoding:ASCII-8BIT>\n{code}\nThis error seems to come from core Ruby which cannot handle concatenating differently encoded strings that contain special characters:\n\n{code:bash}\n# irb\n2.7.3 :028 > a = \"G\u00e9rard\"\n => \"G\u00e9rard\"\n2.7.3 :029 > b = \"G\u00e9rard\".force_encoding(\"ASCII-8BIT\")\n => \"G\\xC3\\xA9rard\"\n2.7.3 :030 > a + b\nTraceback (most recent call last):\n        5: from /Users/dorinpleava/.rvm/rubies/ruby-2.7.3/bin/irb:23:in `<main>'\n        4: from /Users/dorinpleava/.rvm/rubies/ruby-2.7.3/bin/irb:23:in `load'\n        3: from /Users/dorinpleava/.rvm/rubies/ruby-2.7.3/lib/ruby/gems/2.7.0/gems/irb-1.2.6/exe/irb:11:in `<top (required)>'\n        2: from (irb):30\n        1: from (irb):30:in `+'\nEncoding::CompatibilityError (incompatible character encodings: UTF-8 and ASCII-8BIT)\n{code}\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21348", "fixedVersions": [], "id": "21348", "issueType": "Bug", "key": "PUP-11137", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet cannot query non-ASCII users", "timeSpent": "PT0S", "updated": "2021-07-06T08:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "623e74f1d32a94006a65d5a3", "created": "2021-07-02T01:00:00.000000", "name": "puppet logs.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11716"}], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:623e74f1d32a94006a65d5a3] can you attach your {{test.erb}}?", "created": "2021-07-01T02:14:00.000000"}, {"author": "623e74f1d32a94006a65d5a3", "body": "Hi [~accountid:63d40628f6e1b543161789a7] , it is basically a blank file.. whether data in it or blank, it seems to not make a difference, we get same error in both scenarios, I should have mentioned this too in description.", "created": "2021-07-01T02:19:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Thanks [~accountid:623e74f1d32a94006a65d5a3] There should be a stack trace in the server's log /var/log/puppetlabs/puppetserver/puppetserver.log. Can you include that?", "created": "2021-07-01T09:16:00.000000"}, {"author": "623e74f1d32a94006a65d5a3", "body": "Yes [~accountid:63d40628f6e1b543161789a7], Please find logs:- [^puppet logs.txt]\n\nThe logs are for Module named KVM but the issue we are facing is the same for 'template' attribute in file resource in test module mentioned above.", "created": "2021-07-02T01:00:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Hi [~accountid:623e74f1d32a94006a65d5a3] thanks. There's some confusion trying to call {{Puppet[..]}}. That said Puppet requires ruby 2.3, see https://github.com/puppetlabs/puppet/blob/8bebfa2dd16da79e385eaf6122b68b18d89e5cb6/.gemspec#L21, but you're running with ruby 2.0.0p648. So you'll need to use a more recent version of ruby.", "created": "2021-07-02T10:15:00.000000"}, {"author": "623e74f1d32a94006a65d5a3", "body": "Hi [~accountid:63d40628f6e1b543161789a7]\u00a0, Just want to Confirm that\u00a0*ruby 2.0.0p648*\u00a0is installed on system but for facter command, I am getting following:-\u00a0\n\n[root@test ~]# facter rubysitedir rubyversion\nrubysitedir => /opt/puppetlabs/puppet/lib/ruby/site_ruby/2.5.0\n*rubyversion => 2.5.8*\n[root@test~]#\n[root@test~]#\n[root@test~]# which gem\n/usr/bin/gem\n\nDoes upgrading system ruby will help?\u00a0", "created": "2021-07-04T22:35:00.000000"}, {"author": "623e74f1d32a94006a65d5a3", "body": "Any suggestions on this [~accountid:63d40628f6e1b543161789a7]\u00a0??\u00a0", "created": "2021-07-07T23:03:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "We can ignore the ruby 2.0 issue, because puppetserver vendors JRuby 9.x.\n\nThe top of the stack trace refers to line https://github.com/puppetlabs/puppet/blob/6.15.0/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb#L20\n\nBased on the stack trace, it's trying to call  {{Puppet::Pops::Loader::RubyLegacyFunctionInstantiator::Puppet[]}} (which of course doesn't exist) instead of the top-level {{Puppet[]}}.\n\nAfter upgrading the {{puppet-agent}} package on the puppetserver host, did you restart the puppetserver service?", "created": "2021-07-08T11:38:00.000000"}, {"author": "623e74f1d32a94006a65d5a3", "body": "Yes [~accountid:63d40628f6e1b543161789a7], i did restart puppetserver and agent service both, it seems strange error.", "created": "2021-07-08T23:35:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:623e74f1d32a94006a65d5a3] please attach {{test.erb}} that you reference in the description as {{template('test/test.erb')}}", "created": "2021-07-28T17:17:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "We haven't been able to reproduce, so I'm going to close this out. Please reopen with the requested information and steps to reproduce.", "created": "2021-09-13T22:39:00.000000"}], "components": ["Compiler"], "created": "2021-06-30T04:32:00.000000", "creator": "623e74f1d32a94006a65d5a3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Affects Build", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "6.15.3"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3374bd22"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09ga3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_78128424_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_6467085944"}], "description": "*Puppet Version: 6.15.0*\n *Puppet Server Version: 6.15.3*\n *OS Name/Version: Centos 7.8*\n*Ruby Version:\u00a0ruby 2.0.0p648 (2015-12-16) [x86_64-linux]*\n\nWe have upgraded puppet 5 to 6, then executed our one module which was using templates, it was of course using template function to invoke erb file but on puppet agent run it gives following error:-\u00a0\n\nInfo: Using configured environment 'production'\n Info: Retrieving pluginfacts\n Info: Retrieving plugin\n Info: Retrieving locales\n Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, undefined method `[]' for Puppet::Pops::Loader::RubyLegacyFunctionInstantiator::Puppet:Module (file: /etc/puppet/environments/production/modules/test/manifests/init.pp, line: 4, column: 20) on node xxxxxxxxxxxxxxx\n Warning: Not using cache on failed catalog\n Error: Could not retrieve catalog; skipping run\n\nContent of init.pp:-\u00a0\n\nclass test{\n\nfile\n\n{ 'test': content => template('test/test.erb'), ensure => file, path => '/etc/test', }\n\n*Desired Behavior: Should Render erb file.*\n\n*Actual Behavior: gives of Error 500 with \"undefined method `[]'\"*\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25527", "fixedVersions": [], "id": "25527", "issueType": "Bug", "key": "PUP-11136", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e74f1d32a94006a65d5a3", "resolution": "Cannot Reproduce", "resolutionDate": "2021-09-13T22:39:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "When Upgraded Puppet 5 to 6, Unable to Render ERB files via Template Function.", "timeSpent": "PT0S", "updated": "2021-09-13T22:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is a dup of PUP-4045 so I'm going to close this. Please comment on/reference the existing ticket.", "created": "2021-07-01T02:12:00.000000"}], "components": ["Type System"], "created": "2021-06-30T02:40:00.000000", "creator": "6220dbba302c6b006af29f88", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@434cbbfc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Normal"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master Config", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Monolithic"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "RHEL 7 (x86_64)"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09g8z:"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "44904"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_84720885_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 7.6.0*\n *Puppet Server Version: 2019.8.5*\n *OS Name/Version: Rhel 8 on Agent*\n\nThe customer is facing an issue with managing socket files on his system using the `FILE` resource in his custom module.\n\nI have managed to replicate the issue by installing netcat on my VM and creating a .socket file by running:\u00a0\n{code:java}\nnc -lkU aSocket.sock{code}\nNot all socket files have this extension but they share the same file type which starts with \"S\" e.g:\u00a0\n{code:java}\nsrwxrwxrwx 1 root root 0 Jun 29 11:15 aSocket.sock{code}\nPuppet doesn't seem to know how to handle this type of file and throws an error:\u00a0\n{code:java}\nFailed to generate additional resources using 'eval_generate': Cannot manage files of type socket\n{code}\n**Customer code:\n\u00a0\n{code:java}\nfile { '/root': \n   ensure => directory, \n   owner => 'root', \n   recurse => true, \n   recurselimit => '2', \n   require => User['root'], \n}{code}\n\u00a0\n\u00a0\n\n*Steps to replicate:*\n\n1. Install netcat\u00a0\n\n2. Run:\u00a0\n{code:java}\nnc -lkU /tmp/aSocket.sock\n{code}\n3. Insert the following into\u00a0\n{code:java}\n/etc/puppetlabs/code/environments/production/manifests/site.pp\nfile {'/tmp': \n   ensure => directory, \n   owner => root, \n   recurse => true, \n}\n{code}\n4. Run:\u00a0\n{code:java}\npuppet apply -v --noop \"/etc/puppetlabs/code/environments/production/manifests/site.pp\"{code}\n\u00a0\n\nThe only way to currently get around this is to add the file to Ignore parameter but from what I can see, not all files have the .sock extension, the only thing that matches is the file type.\u00a0\n\n*Desired Behavior:*\u00a0Handle socket file types\u00a0\n\n*Actual Behavior:*\u00a0Throws an error\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20249", "fixedVersions": [], "id": "20249", "issueType": "Bug", "key": "PUP-11135", "labels": ["customer", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6220dbba302c6b006af29f88", "resolution": "Duplicate", "resolutionDate": "2021-07-01T02:12:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Failed to generate additional resources using 'eval_generate': Cannot manage files of type socket", "timeSpent": "PT0S", "updated": "2021-11-15T01:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [{"attacher": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "created": "2021-07-17T07:54:00.000000", "name": "Screen Shot 2021-07-17 at 9.49.36 AM.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12208"}], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:557058:be86c7d6-2807-42d3-9715-80da0cf607cd], is the agent run failing on Windows or it is just the connection failure logged as error on Windows?", "created": "2021-06-29T09:28:00.000000"}, {"author": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "body": "I think it's very easy to reproduce, just shutdown the first server on the list.\nIt appears as an error in the console and in the report processor\n", "created": "2021-07-06T08:44:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:be86c7d6-2807-42d3-9715-80da0cf607cd] could you include the stack trace when running with {{--trace}}?", "created": "2021-07-06T08:48:00.000000"}, {"author": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "body": "[~accountid:63d40628f6e1b543161789a7], seems jira very selective in sending notifications, missed this. I will upload it today\n", "created": "2021-07-16T06:50:00.000000"}, {"author": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "body": "I have misled you, I apologize. After more experiments I can see that server_list is processed correctly and it is recorded as a warning. I got confused, because this is a single event in the report for a failed run !Screen Shot 2021-07-17 at 9.49.36 AM.png|thumbnail! So the reason for the failure is probably something else and the warning is just accompanies it. Mia culpa\n", "created": "2021-07-17T07:57:00.000000"}, {"author": "623c12ff94742a00683e41fd", "body": "[~accountid:557058:be86c7d6-2807-42d3-9715-80da0cf607cd], no worries, I've closed this ticket with \"Won't fix\" but feel free to open another ticket if you find any issues with your failed run.", "created": "2021-07-19T02:40:00.000000"}], "components": [], "created": "2021-06-29T09:24:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@58488fd6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09foz:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_602143518_*|*_3_*:*_1_*:*_248143117_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_853138257"}], "description": "*PE Version: 2019.8.7*\n *Puppet Server Version: 6.23.0*\n *OS Name/Version: Windows*\n\nserver_list not fully working on Windows:\n{code}Could not retrieve catalog from remote server: Request to https://infdevx-puppet202.example.com:8140/puppet/v3/catalog/infdevw-mdt001.example.com?environment=windows_development failed after 1.027 seconds: Failed to open TCP connection to infdevx-puppet202.example.com:8140 (No connection could be made because the target machine actively refused it. - connect(2) for \"infdevx-puppet202.example.com\" port 8140)\n\n \n\nWrapped exception:\n\n \n\nFailed to open TCP connection to infdevx-puppet202.example.com:8140 (No connection could be made because the target machine actively refused it. - connect(2) for \"infdevx-puppet202.example.com\" port 8140)\n\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21347", "fixedVersions": [], "id": "21347", "issueType": "Bug", "key": "PUP-11134", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "resolution": "Won't Fix", "resolutionDate": "2021-07-19T02:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "server_list not fully working on Windows ", "timeSpent": "PT0S", "updated": "2021-07-19T02:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-06-29T09:14:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@19bdd81"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-8"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Service provider enhancement"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_purple"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09foj:"}], "description": "Currently service state is binary and any not-running state is considered stopped.\n\nWhen services are not in stopped state but in transitional state(starting/stopping), puppet will consider them stopped and will try to restart the service while in fact the service is currently starting but not fully started.\n\nThis epic should add support for transitional state like starting/stopping.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29755", "fixedVersions": [], "id": "29755", "issueType": "Epic", "key": "PUP-11133", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Service provider enhancement", "timeSpent": "PT0S", "updated": "2021-06-29T09:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "There's also some issues in the puppetlabs-selinux module:\u00a0https://puppet.atlassian.net/issues/?jql=project%20%3D%20MODULES%20AND%20component%20%3D%20selinux_core%20ORDER%20BY%20issuetype%20DESC", "created": "2021-06-29T14:12:00.000000"}], "components": [], "created": "2021-06-29T08:10:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "SE "}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5173d6eb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-4"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "SELinux updates"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_blue"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09fmj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Jun/21"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20247", "fixedVersions": [], "id": "20247", "issueType": "Epic", "key": "PUP-11132", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "SELinux updates", "timeSpent": "PT0S", "updated": "2022-04-01T18:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:6243b6b65f63fd0069b1a970]\u00a0the error message means the [https://forge.puppet.com/modules/puppetlabs/sshkeys_core]\u00a0module is not installed. Based on the file path {{/opt/puppetlabs/puppet/lib64/ruby/vendor_ruby/puppet/type/user.rb}} it appears you're not running for puppet-agent packages built by Puppet.", "created": "2021-06-29T09:00:00.000000"}, {"author": "6243b6b65f63fd0069b1a970", "body": "[~accountid:63d40628f6e1b543161789a7] that's correct, we're packaging ourselves based on puppet opensource version (and haven't changed our specfiles from 6.22\u21926.23, so that's something new).\n\nbasically we:\n* take source from https://downloads.puppetlabs.com/puppet/puppet-<version>.tar.gz\n* add:\n** Facter\n** Hiera\n** Ruby Augeas\n** Ruby Shadow\n* add ruby gems:\n** Concurrent Ruby\n** Deep Merge\n** Fast Gettext\n** Hiera eYAML\n** Highline\n** Hocon\n** HTTP Client\n** Locale\n** Multi JSON\n** Puppet Resource API\n** Semantic Puppet\n** Trollop\n\nThese are mostly the dependencies listed here: https://github.com/puppetlabs/puppet/blob/main/.gemspec#L34-L42\nIf there are some (external) module dependencies to make puppet (agent) run, they should be listed somewhere, or am I missing something?\n\nEspecially, it feels strange for me that a module is required if I explicitly tell the code not to use it ", "created": "2021-06-29T10:51:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "If you remove the {{purge_ssh_keys}} parameter, then it should work as expected, since the default is to not purge. That said, I agree short-circuiting when it's set to {{:false}} makes sense, though I find double negatives confusing, so maybe:\n\n{code:ruby}\nif !self[:purge_ssh_keys].empty? && self[:purge_ssh_keys] != :false}}\n{code}\n\nNote in general we don't fix bugs or implement features for third-party packages of puppet. But if you'd like to submit a pull request, we'd gladly accept.", "created": "2021-06-29T11:42:00.000000"}, {"author": "6243b6b65f63fd0069b1a970", "body": "I created a pull request :)\n\nsite note: in the CONTRIBUTING.md you reference a \"Contributor License Agreement\" but trying to sign this leads to a 404 ", "created": "2021-07-01T04:12:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/af2d2e6c420f535d91366212ded3cb48b42c78af", "created": "2021-07-01T13:10:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 99a52d4737", "created": "2021-07-02T10:22:00.000000"}], "components": ["Types and Providers"], "created": "2021-06-29T08:01:00.000000", "creator": "6243b6b65f63fd0069b1a970", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5faae36"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Community Contributors", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "https://github.com/Lightning-"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09fm3:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet no longer emits a warning if the \"purge_ssh_keys\" parameter for the \"user\" type is set to false (the default) and the \"sshkeys_core\" module is not installed."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_76394224_*|*_1_*:*_1_*:*_3490714_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_187785869"}], "description": "It seems that the type {{user}} does not honor setting {{purge_ssh_keys => false}} correctly.\n\npuppet language:\n{code:config}\nuser { \"myuser\":\n  ensure => present,\n  [...]\n  purge_ssh_keys => false,\n}\n{code}\n\nleads to the following warning:\n{code:log}\n/Stage[main]/Mymodule/Mymodule::Mydefinedtype[myuser]/User[myuser] (warning): Ssh_authorized_key type is not available. Cannot purge SSH keys.\n{code}\n\n\nDiving into the code, this seems logical: https://github.com/puppetlabs/puppet/blob/main/lib/puppet/type/user.rb#L698\n\n{{self[:purge_ssh_keys]}} may take values {{:true}}, {{:false}} and {{[\"string1\", \"string2\"]}}, but\n{code:ruby}\nirb(main):001:0> foo = :false\nirb(main):002:0> foo.empty?\n=> false\nirb(main):003:1* if !foo.empty?\nirb(main):004:1*   puts \"something wrong here\"\nirb(main):005:0> end\nsomething wrong here\n=> nil\n{code}\n\nI'd recommend the following patch to fix this:\n{code:ruby}\n--- /opt/puppetlabs/puppet/lib64/ruby/vendor_ruby/puppet/type/user.rb\t2021-06-29 14:56:58.756944173 +0200\n+++ /tmp/user.rb\t2021-06-29 14:56:35.920004027 +0200\n@@ -695,7 +695,7 @@\n     end\n \n     def generate\n-      if !self[:purge_ssh_keys].empty?\n+      if !self[:purge_ssh_keys].empty? && !(self[:purge_ssh_keys] == :false)\n         return [] if self[:ensure] == :present && !provider.exists? \n         if Puppet::Type.type(:ssh_authorized_key).nil?\n           warning _(\"Ssh_authorized_key type is not available. Cannot purge SSH keys.\")\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28815", "fixedVersions": ["PUP 7.9.0"], "id": "28815", "issueType": "Bug", "key": "PUP-11131", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6243b6b65f63fd0069b1a970", "resolution": "Fixed", "resolutionDate": "2021-07-02T10:23:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Puppet type 'user' does not honor 'purge_ssh_keys: false'", "timeSpent": "PT0S", "updated": "2021-12-08T17:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Windows"], "created": "2021-06-29T06:15:00.000000", "creator": "6220dbba302c6b006af29f88", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@68e2204d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master Config", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Monolithic"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Other"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09fln:"}], "description": "*Puppet Version: 7.6.0*\n *Puppet Server Version: 2021.1*\n *OS Name/Version: Primary RHEL8 & Agent(issues) Windows Server 2019*\n\nThe customer is having issues with running MSSQL service by passing `logonaccount` parameters.\u00a0\n\n{{Error: Failed to apply catalog: Parameter logonpassword failed on Service[MSSQLSERVER]: Failed to update service configuration: The account name is invalid or does not exist, or the password is invalid for the account name specified. (file: /etc/puppetlabs/code/modules/profiles/manifests/windows/mssql.pp, line: 32)}}\n\nThe customer has tried to insert different combinations of LogonAccount (also trying to pass full path):\n\n1. PILOT\\rma_sql_svc\n 2. PILOT\n rma_sql_svc\n 3. domain\\rma_sql_svc\n 4. domain\n rma_sql_svc\n 6.\u00a0[rma_sql_svc@domain|mailto:rma_sql_svc@pilot.usda.lab]\n\nCode snippet:\n\n{{service {'MSSQLSERVER':}}\n {{\u00a0 \u00a0logonaccount => 'pilot.usda.lab}}\n {{rma_sql_svc',}}\n {{\u00a0 \u00a0logonpassword => 'Password1234', #sensitive}}\n {{\u00a0 \u00a0ensure => 'running'}}{{}}}\n\n**The puppet service account was given both Domain administrator and local administrator rights and nothing has worked.\u00a0\n\n\u00a0\n\nOne of our engineers has managed to create a workaround and stated:\n\n\"We added debug logs and the conclusion is that the error comes from Windows API and probably is caused by the way the MSSQLSERVER services are defined(maybe they are protected?), since we are not setting specifically the logon account on the respective API request.\"\n\n\u00a0\n\n*Desired Behavior:*\u00a0Run the MSSQL with a specific account.\u00a0\n\n*Actual Behavior:*\u00a0Windows API and MSSQLSERVER possibly have different ways of communicating and setting the accounts, which means that the current implementation of LogonAccount won't work for this specific service.\u00a0\n\n*Workaround applied:*\u00a0the direction was to use\u00a0{{exec}}\u00a0resource with\u00a0{{unless}}\u00a0parameter that will apply\u00a0{{exec}}\u00a0resource only if\u00a0{{unless}}\u00a0script return value is not 0.\n\n\u00a0\n\nA bug was raised under: https://puppet.atlassian.net/browse/PUP-11121\n\nMore information from the customer ticket: [https://puppetlabs.zendesk.com/agent/tickets/44707]\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26670", "fixedVersions": [], "id": "26670", "issueType": "New Feature", "key": "PUP-11130", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6220dbba302c6b006af29f88", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "LogonAccount not working with MSSQLSERVER service ", "timeSpent": "PT0S", "updated": "2021-07-27T08:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5b9fcedc03b52466f05c4510", "attachments": [], "comments": [{"author": "5b9fcedc03b52466f05c4510", "body": "https://github.com/puppetlabs/puppet/pull/8663/files\n\n{noformat}\n\u276f ls  ~/.puppetlabs/etc/code/environments/\nproduction\n                                                                                                                                                                                                                                                  \n\u276f bx ruby envs.rb\nListed test53724, production environments\nDeleted test53724 environment\nListed production environments\nCached production environments\n{noformat}\n\n", "created": "2021-06-30T09:11:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/40191235b18136b074514e7bb0d2fc6d2a7058fd and passed CI in 985d18ce2f", "created": "2021-07-07T17:21:00.000000"}], "components": [], "created": "2021-06-28T18:24:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@473854b2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10539"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09faj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "List environments is now evicting cached environments that are no longer on disk."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_232566613_*|*_1_*:*_1_*:*_50956259_*|*_10007_*:*_1_*:*_346590765_*|*_3_*:*_1_*:*_65181935_*|*_10009_*:*_1_*:*_42340584_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_78550740"}], "description": "Puppet::Environments::Cached#list returns environments that exist on disk and either caches the entry or updates its ttl. However, if an environment is in the cache, but is no longer on disk, then it is not removed from the cache. This shouldn't be an issue with r10k/code manager, because they explicitly delete the environment or all environments after purging the directory. But it could lead to consistency problems if the REST request never occurs or fails. The following shows how after the environment is deleted, it is not returned from the {{list}} method, yet it is still cached:\n{code:ruby}require 'puppet'\nPuppet.initialize_settings(['--environment_timeout', 'unlimited'])\nPuppet::Util::Log.newdestination(:console)\n\nname = \"test#{Process.pid}\"\ntestdir = File.join(Puppet[:environmentpath], name)\nFileUtils.mkdir_p(testdir)\n\nPuppet::ApplicationSupport.push_application_context(Puppet::Util::RunMode[:user])\n\nenvs = Puppet.lookup(:environments)\nenvs.get!(:production)\nenvs.get!(name)\n\nputs \"Listed #{envs.list.map(&:name).join(', ')} environments\"\n\nFileUtils.rm_rf(testdir)\nputs \"Deleted #{name} environment\"\n\nputs \"Listed #{envs.list.map(&:name).join(', ')} environments\"\nputs \"Cached #{envs.instance_variable_get(:@cache).keys.join(', ')} environments\"\n{code}\n{noformat}\u276f ls  ~/.puppetlabs/etc/code/environments/\nproduction/\n\n\u276f bx ruby envs.rb                         \nListed test2597598, production environments\nDeleted test2597598 environment\nListed production environments\nCached production, test2597598 environments\n{noformat}", "epicLinkSummary": "Environment convergence", "estimate": "PT0S", "externalId": "25526", "fixedVersions": ["PUP 6.24.0", "PUP 7.9.0"], "id": "25526", "issueType": "Bug", "key": "PUP-11129", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": "24513", "parentSummary": "Environment convergence", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-07-08T05:07:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Cached environment may not be deleted if the directory is removed", "timeSpent": "PT0S", "updated": "2021-07-13T05:49:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "623c166301f8660070b700f4", "attachments": [], "comments": [], "components": [], "created": "2021-06-24T17:14:00.000000", "creator": "623c166301f8660070b700f4", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6ff31b21"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09doz:"}], "description": "In Bolt ticket ([2853|[https://github.com/puppetlabs/bolt/issues/2853]]\u00a0) a user reported errors being unreadable when passing incorrect type to a plan function. This was especially noticeable with functions with optional arguments.\n\nI traced the primary issue to be in the type_mismatch_describer.rb file. In the message method, there is a check for whether to print the fully detailed message (vs the short_name). Previously, if the expected value and actual value evaluated to being the same class, the detailed description would always print.\u00a0\n\nTo get shorter messages for this use case, I added a few checks to differentiate between 'Target' and 'ResultType' objects which were previously evaluating to equal classes as PObjects. As of today, the primary concern with the proposed changes is whether they effect use cases where the long message is the expected/wanted behavior.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27666", "fixedVersions": [], "id": "27666", "issueType": "Improvement", "key": "PUP-11127", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c166301f8660070b700f4", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Generate short message when PObjectTypes are mismatched", "timeSpent": "PT0S", "updated": "2022-01-13T00:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I don't think this is a bug. If you have a corrupt executable that is in the PATH ahead of the real executable, then the OS will run the corrupt version. For example, the following\n\n{noformat}\nC:\\Users\\josh> echo '' > powershell.exe\nC:\\Users\\josh> set PATH=C:\\Users\\josh", "created": "2021-06-28T17:24:00.000000"}, {"author": "60c90c1b5c64b10071da4ae3", "body": "[~accountid:63d40628f6e1b543161789a7]\n\nI don't believe you replicated the scenario and instead created an entirely different outcome and subsequent error message with the steps you took.\n\nThe request is not to second-guess the OS or its built-in security, the request is to catch and log the scenario provided with a descriptive error message, so that customers can identify the issue and correct it. It's also a good defensive coding practice to validate an external binary before attempting to have it execute code.", "created": "2021-06-29T09:03:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:60c90c1b5c64b10071da4ae3] hmm, I'm confused, because you said:\n\n{quote}\nFor example, if powershell.exe is a zero byte file along a valid PATH ($Env:Path), or along the first path specified in PATH, then the invalid powershell.exe file will be called by puppet\n{quote}\n\nand that is exactly the scenario I reproduced. You also said:\n\n{quote}\nThe proposed change would be in the agent, to verify by some mechanism, (file header, or signature) - that the powershell.exe file is valid.\n{quote}\n\nThat is something we can't/shouldn't do, because that is second guessing the OS. You also said:\n\n{quote}\ncatch and log the scenario provided with a descriptive error message\n{quote}\n\nwhich is something we already do as I showed in my comment above.", "created": "2021-07-15T11:39:00.000000"}], "components": [], "created": "2021-06-23T13:20:00.000000", "creator": "60c90c1b5c64b10071da4ae3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@593ee373"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09bh7:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_446632456_*|*_6_*:*_1_*:*_0"}], "description": "It is possible for Puppet to run into error if the powershell.exe file is invalid.\n\n\u00a0\n\nExample error:\n\n0x800700c1\n\n^ To my best understanding, this error indicates an OS integrity issue (some problem with some file flagged as a system file).\n\n\u00a0\n\nFor example, if powershell.exe is a zero byte file along a valid PATH ($Env:Path), or along the first path specified in PATH, then the invalid powershell.exe file will be called by puppet or some module - even if a valid copy of powershell.exe exists along another or downstream path.\n\n\u00a0\n\nThe proposed change would be in the agent, to verify by some mechanism, (file header, or signature) - that the powershell.exe file is valid.\n\n\u00a0\n\nIf it's invalid:\n\nCatch the situation and log it\n\n\u00a0\n\nIf valid:\n\nProceed as normal\n\n\n\ncomponent: pxp agent", "environment": "Windows 10\n\nWindows Server 2016+", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23454", "fixedVersions": [], "id": "23454", "issueType": "Improvement", "key": "PUP-11126", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "60c90c1b5c64b10071da4ae3", "resolution": "Won't Do", "resolutionDate": "2021-06-28T17:24:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "PowerShell Validity check", "timeSpent": "PT0S", "updated": "2021-07-15T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623c16c7a9575800695acff5", "body": "[Pullrequest|https://github.com/puppetlabs/puppet/pull/8650] created.", "created": "2021-06-23T12:41:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in\u00a0https://github.com/puppetlabs/puppet/commit/f14090237b2185c3c7c32c1a354c1b9cf71955d0", "created": "2021-06-28T18:35:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in\u00a0a652a22156", "created": "2021-06-29T12:21:00.000000"}], "components": ["Functions"], "created": "2021-06-23T12:32:00.000000", "creator": "623c16c7a9575800695acff5", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@200ffbea"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Community Contributors", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "cocker-cc"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09bg3:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The 'empty' function now accepts Sensitive data types, which is useful if you need to test if a Sensitive variable is not nil and non-empty, such as in an ERB template."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_63945420_*|*_1_*:*_1_*:*_453802308_*|*_6_*:*_1_*:*_0"}], "description": "*Desired Behavior:*\n\nFunction {{empty()}} should accept a Parameter of Datatype {{Sensitive}} to test, if a {{Sensitive[String]}} is empty or not.\n\n*Actual Behavior:*\n\nFunction {{empty()}} does not accept a Parameter of Datatype {{Sensitive}} - in particular of Datatype {{Sensitive[String]}}.\n\n*Motivation:* \nConcearning {{Sensitive}} an EPP-File has the great Advantage over an ERB-File, that you easily can throw in Variables of Type {{Sensitive}}, and \"it just works\".  This Advantage is ruined in the Moment, in which you have to test a String for Emptyness in your EPP, because...  \n{noformat}\nif $mystring.empty { ... }\n{noformat}\n... crashes with {{Sensitive}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27709", "fixedVersions": ["PUP 6.24.0", "PUP 7.9.0"], "id": "27709", "issueType": "Improvement", "key": "PUP-11124", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c16c7a9575800695acff5", "resolution": "Fixed", "resolutionDate": "2021-06-29T12:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "make Function empty more tolerant", "timeSpent": "PT0S", "updated": "2021-07-13T06:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623c16c7a9575800695acff5", "body": "[Pullrequest|https://github.com/puppetlabs/puppet/pull/8651] created.", "created": "2021-06-23T12:41:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in\u00a0https://github.com/puppetlabs/puppet/commit/359fea6c7416175e10b835d39ab0df5501da5d74", "created": "2021-06-24T11:46:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in b7c9dd387a", "created": "2021-06-28T10:20:00.000000"}], "components": ["Functions"], "created": "2021-06-23T11:55:00.000000", "creator": "623c16c7a9575800695acff5", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@57d2d822"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Community Contributors", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "cocker-cc"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09bf7:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The \"unwrap\" function now accepts the \"Any\" data type. That way component modules like puppetlabs-postgresql can migrate to using Sensitive values while still accepting non-Sensitive values, and not have to special case how the value is unwrapped."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_340489385_*|*_1_*:*_1_*:*_85835076_*|*_5_*:*_1_*:*_0"}], "description": "*Desired Behavior:*\n\nFunction {{unwrap()}} should accept a Parameter of Datatype {{Any}} \u2013 in particular it should accept a Parameter not of Datatype {{Sensitive}}, f.e a simple {{String}}.\n\n*Actual Behavior:*\n\nFunction {{unwrap()}} only accepts a Parameter of Datatype {{Sensitive}}.\n\n*Examples:*\u00a0\n{noformat}class my_class(\n  Variant[String, Sensitive[String]] $password,\n) {\n  # do not care about the actual Datatype of $password\n  $password_unsensitive = $password.unwrap\n}\n{noformat}\n\u00a0\n\n\u00a0\n\n.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23453", "fixedVersions": ["PUP 6.24.0", "PUP 7.9.0"], "id": "23453", "issueType": "Improvement", "key": "PUP-11123", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c16c7a9575800695acff5", "resolution": "Fixed", "resolutionDate": "2021-06-28T10:21:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "make Function unwrap more tolerant", "timeSpent": "PT0S", "updated": "2021-07-13T06:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I've seen this test fail fairly regularly [https://github.com/puppetlabs/puppet/blob/f25f20da81a471a2744b843590e91e002e3ed164/spec/integration/util/windows/registry_spec.rb#L182]. I'm wondering if there's a bug when reading in REG_MULTI_SZ (with the double wide null terminator)? Or if the test [writes a corrupt registry key|https://github.com/puppetlabs/puppet/blob/f25f20da81a471a2744b843590e91e002e3ed164/spec/integration/util/windows/registry_spec.rb#L15] is reading it back in incorrectly.", "created": "2023-01-24T18:52:00.000000"}], "components": [], "created": "2021-06-17T13:44:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@42afa68"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-9341"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o099lv:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Jun/21"}], "description": "Sometimes pull requests fail on Windows. The error occurs in \"after :each\", which causes a cascading effect due to the {{Puppet.context}} being left in a bad state. It happens in PRs targeting 6.x (definitely) and main (I think):\n\n{noformat}\n  1) Puppet::Util::Windows::Process when reading environment variables will ignore only keys or values with corrupt byte sequences\n     Failure/Error: get_uint32(i * 2) == 0\n     IndexError:\n       Memory access offset=32 size=4 is out of bounds\n     # ./lib/puppet/util/windows/api_types.rb:82:in `get_uint32'\n     # ./lib/puppet/util/windows/api_types.rb:82:in `block in read_arbitrary_wide_string_up_to'\n     # ./lib/puppet/util/windows/api_types.rb:81:in `each'\n     # ./lib/puppet/util/windows/api_types.rb:81:in `find'\n     # ./lib/puppet/util/windows/api_types.rb:81:in `read_arbitrary_wide_string_up_to'\n     # ./lib/puppet/util/windows/process.rb:309:in `get_environment_strings'\n     # ./lib/puppet/util.rb:77:in `clear_environment'\n     # ./lib/puppet/test/test_helper.rb:202:in `after_each_test'\n     # ./spec/spec_helper.rb:192:in `block (2 levels) in <top (required)>'\n     # ./spec/spec_helper.rb:187:in `block (2 levels) in <top (required)>'\n     # util/rspec_runner:44:in `run'\n{noformat}", "epicLinkSummary": "Improve, repair or replace faulty or inadequate tests", "estimate": "PT0S", "externalId": "21346", "fixedVersions": [], "id": "21346", "issueType": "Improvement", "key": "PUP-11122", "labels": ["tech-debt"], "originalEstimate": "PT0S", "parent": "29505", "parentSummary": "Improve, repair or replace faulty or inadequate tests", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "RSpec tests sometimes lead to memory access error on Windows", "timeSpent": "PT0S", "updated": "2023-01-24T18:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/8e1ded9301b7cd928609f0e260eeebaa83aa4b3d", "created": "2021-06-22T07:23:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed in\u00a0888179690d", "created": "2021-06-24T16:59:00.000000"}], "components": [], "created": "2021-06-16T18:12:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4a12dc35"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o098mj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "\"puppet ssl show\" now shows the human readable names for certificate extensions containing custom OIDs provided the `trusted_oid_mapping_file` exists. This functionality existed in \"puppet cert print\" but was lacking in the new command."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_207657362_*|*_1_*:*_1_*:*_54777867_*|*_10007_*:*_1_*:*_424700123_*|*_5_*:*_1_*:*_0"}], "description": "PUP-4617 added the ability to print custom OIDs to the {{puppet cert print}} CLI. Later it was removed and replaced with {{puppet ssl show}}, but the new command doesn't support the custom OID functionality. See PUP-4617.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20242", "fixedVersions": ["PUP 6.24.0", "PUP 7.9.0"], "id": "20242", "issueType": "Improvement", "key": "PUP-11120", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-06-24T17:04:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Readd the ability to load custom OIDs", "timeSpent": "PT0S", "updated": "2021-07-13T04:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-06-16T09:36:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@76bdf9de"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4664"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3fk:i0bu3u9sy"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}], "description": "puppet face applications accept an extra argument, which is forwarded as an options hash to the indirector request, but the argument is unusable. In PUP-8700 the argument was hidden. In Pupppet 8, we should remove it.\n\nRemove this hack https://github.com/puppetlabs/puppet/commit/aa3520d059a7a594df78a329339487f881626963\nFind where \"extra\" is documented for face application and remove it\nRemove cases where \"options[:extra]\" is passed through the application to the indirector request.\nWhen running {{puppet facts --help}} there should not be an \"--extra\" option in documentation.\n", "epicLinkSummary": "Puppet 8", "estimate": "PT0S", "externalId": "20284", "fixedVersions": ["PUP 8.0.0"], "id": "20284", "issueType": "Task", "key": "PUP-11119", "labels": [], "originalEstimate": "PT0S", "parent": "57676", "parentSummary": "Puppet 8", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Remove \"extra\" cli option", "timeSpent": "PT0S", "updated": "2023-03-09T11:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:557058:31c596d1-7e27-4c91-bc18-1254edb3caab], can you confirm if we should add Apache 2 license to puppet gem?", "created": "2021-06-15T08:15:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Ah, puppet is currently Apache 2 licensed (https://github.com/puppetlabs/puppet/blob/main/LICENSE) but we need to update the gemspec to reference the license.\n\nRelated facter 4 is currently licensed MIT. Should we change that to Apache 2?", "created": "2021-06-15T09:08:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "https://puppet.atlassian.net/browse/FACT-3053 was created for facter issue", "created": "2021-07-05T04:58:00.000000"}], "components": [], "created": "2021-06-15T02:56:00.000000", "creator": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7c59abf4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o095v7:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet correctly reports  Apache 2.0 license when installed as a gem."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_19005060_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1990114407"}], "description": "Hi,\nthe puppet is published as a gem: https://rubygems.org/gems/puppet/versions/7.7.0. But it looks like there is no gemspec file and based on that there is no license specified:\n\n{code}\n~ $ bundle info puppet\n  * puppet (7.7.0)\n\tSummary: Puppet, an automated configuration management tool\n\tHomepage: https://github.com/puppetlabs/puppet\n\tPath: /home/bastelfreak/modulesync_config/modules/voxpupuli/puppet-corosync/.vendor/ruby/3.0.0/gems/puppet-7.7.0\n~ $ bundle licenses 2>&1 | awk '/^puppet:/ {print $0}'\npuppet: Unknown\nbastelfreak@bastelfreak-ws ~/modulesync_config/modules/voxpupuli/puppet-corosync $\n{code}\n\ncould you include the gemspec in the next release?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20283", "fixedVersions": ["PUP 6.24.0", "PUP 7.9.0"], "id": "20283", "issueType": "Task", "key": "PUP-11118", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "resolution": "Fixed", "resolutionDate": "2021-07-08T09:02:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Puppet gem has no gemspec/license", "timeSpent": "PT0S", "updated": "2021-07-13T07:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-06-10T14:13:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4f3b67ee"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11107"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o093gj:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1514_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2523750011"}], "description": "(Initial planned release date: 2021-06-22)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2021-06-23T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "estimate": "PT0S", "externalId": "29750", "fixedVersions": [], "id": "29750", "issueType": "Task", "key": "PUP-11116", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28813", "parentSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-07-09T19:15:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 7.8.0)", "timeSpent": "PT0S", "updated": "2021-07-09T19:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-06-10T14:13:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3f41b232"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11107"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o093gb:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1342_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2523737226"}], "description": "(Initial planned release date: 2021-06-22)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n", "duedate": "2021-06-23T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "estimate": "PT0S", "externalId": "28814", "fixedVersions": [], "id": "28814", "issueType": "Task", "key": "PUP-11115", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28813", "parentSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-07-09T19:15:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 7.8.0)", "timeSpent": "PT0S", "updated": "2021-07-09T19:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61d4868af63ac800706ebb62", "attachments": [], "comments": [], "components": [], "created": "2021-06-10T14:12:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@26abcc30"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11107"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o093g3:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1417_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1306411185"}], "description": "(Initial planned release date: 2021-06-22)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 7.8.0 is now available\".\n", "duedate": "2021-06-22T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "estimate": "PT0S", "externalId": "27707", "fixedVersions": [], "id": "27707", "issueType": "Task", "key": "PUP-11114", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28813", "parentSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-06-25T17:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Send release announcement (Puppet Platform 7.8.0)", "timeSpent": "PT0S", "updated": "2021-06-25T17:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5fc46fd09592df0076141ac0", "attachments": [], "comments": [], "components": [], "created": "2021-06-10T14:12:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@171cd32c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11107"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o093fn:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1326_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2523743310"}], "description": "(Initial planned release date: 2021-06-22)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2021-06-22T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "estimate": "PT0S", "externalId": "25524", "fixedVersions": [], "id": "25524", "issueType": "Task", "key": "PUP-11113", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28813", "parentSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-07-09T19:15:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 7.8.0)", "timeSpent": "PT0S", "updated": "2021-07-09T19:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-06-10T14:12:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@30cd0b4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11107"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o093ff:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1370_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2523740283"}], "description": "(Initial planned release date: 2021-06-22)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2021-06-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "estimate": "PT0S", "externalId": "24464", "fixedVersions": [], "id": "24464", "issueType": "Task", "key": "PUP-11112", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28813", "parentSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-07-09T19:15:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 7.8.0)", "timeSpent": "PT0S", "updated": "2021-07-09T19:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5fc46fd09592df0076141ac0", "attachments": [], "comments": [], "components": [], "created": "2021-06-10T14:12:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1d74714c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11107"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o093ez:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1613_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2523742590"}], "description": "(Initial planned release date: 2021-06-22)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:5fc46fd09592df0076141ac0] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2021-06-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "estimate": "PT0S", "externalId": "22393", "fixedVersions": [], "id": "22393", "issueType": "Task", "key": "PUP-11111", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28813", "parentSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-07-09T19:15:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare release announcement (Puppet Platform 7.8.0)", "timeSpent": "PT0S", "updated": "2021-07-09T19:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5fc46fd09592df0076141ac0", "attachments": [], "comments": [{"author": "5fc46fd09592df0076141ac0", "body": "[~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100], [~accountid:557058:cb7bc15e-c86d-41f5-bc56-683d06b0a7fe]\u00a0, [~accountid:5abd613dd4cf3c56be24b70d]\u00a0- release notes for 7.8.0 ready for review: \n [https://docs.google.com/document/d/1GEZO0gSGLGSe5T6V5WT6lcKSwDrozmGebIGCB8NT08A/edit?usp=sharing]", "created": "2021-06-21T08:27:00.000000"}], "components": [], "created": "2021-06-10T14:12:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5c26a122"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11107"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o093er:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1358_*|*_10009_*:*_1_*:*_275865210_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_929702996"}], "description": "(Initial planned release date: 2021-06-22)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2021-06-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "estimate": "PT0S", "externalId": "21345", "fixedVersions": [], "id": "21345", "issueType": "Task", "key": "PUP-11110", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28813", "parentSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-06-24T13:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 7.8.0)", "timeSpent": "PT0S", "updated": "2021-06-24T13:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-06-10T14:12:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5238b66c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11107"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o093ej:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1335_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_945312753"}], "description": "(Initial planned release date: 2021-06-22)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2021-06-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "estimate": "PT0S", "externalId": "20281", "fixedVersions": [], "id": "20281", "issueType": "Task", "key": "PUP-11109", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28813", "parentSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-06-21T12:47:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 7.8.0)", "timeSpent": "PT0S", "updated": "2021-06-21T12:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [], "components": [], "created": "2021-06-10T14:12:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@702d3cdd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11107"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o093eb:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1591_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_945296364"}], "description": "(Initial planned release date: 2021-06-22)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 7.8.0 and puppet-agent 7.8.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2021-06-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "estimate": "PT0S", "externalId": "29748", "fixedVersions": [], "id": "29748", "issueType": "Task", "key": "PUP-11108", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28813", "parentSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-06-21T12:47:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 7.8.0)", "timeSpent": "PT0S", "updated": "2021-06-21T12:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [{"author": "6323aedbed8abffd7ffdf0ce", "body": "Changed release date from 6/22 to 6/24.\n[|https://puppet.atlassian.net/secure/AddComment!default.jspa?id=402478]", "created": "2021-06-21T12:51:00.000000"}], "components": [], "created": "2021-06-10T14:12:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5fa3e540"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-1"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 7.8.0 Release - 2021-06-24"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_grey"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o093e3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2523830303_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 7.8.0 Release - 2021-06-24", "duedate": "2021-06-24T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28813", "fixedVersions": [], "id": "28813", "issueType": "Epic", "key": "PUP-11107", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-07-09T19:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Puppet Platform 7.8.0 Release - 2021-06-24", "timeSpent": "PT0S", "updated": "2021-08-23T10:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/7ff45abebac1ea4d5af75f4621419814fb18f1f1", "created": "2021-06-08T02:18:00.000000"}], "components": [], "created": "2021-06-07T08:54:00.000000", "creator": "623c12ff94742a00683e41fd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@219dc0ab"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08zub:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Aligns behaviour of user password management on macOS 10.14 with other versions to avoid `Operation not permitted @ rb_sysopen` transient errors."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_171108765_*|*_1_*:*_1_*:*_61554985_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:*7.7.0\n*OS Name/Version:*macOS 10.14\n\nCreating a new user on macOS 10.14 sometimes results in the following error:\n*Operation not permitted @ rb_sysopen - /var/db/dslocal/nodes/Default/users/testuser.plist*\n\nThis issue is not seen on macOS 10.15 or macOS 11.\n\nManifest used:\n\n{code:puppet}\n user { 'testuser':\n            ensure => present,\n            password => '6ce97688468f231845d9d982f1f10832ca0c6c728a77bac51c548af99ebd9b9c62bcba15112a0c7a7e34effbb2e92635650c79c51517d72b083a4eb2a513f51ad1f8ea9556cef22456159c341d8bcd382a91708afaf253c2b727d4c6cd3d29cc26011d5d511154037330ecea0263b1be8c1c13086d029c57344291bd37952b56',\n            salt       => '377e8b60e5fdfe509cad188d5b1b9e40e78b418f8c3f0127620ea69d4c32789c',\n            iterations => 40000,\n          }\n{code}\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22391", "fixedVersions": ["PUP 6.23.0", "PUP 7.8.0"], "id": "22391", "issueType": "Bug", "key": "PUP-11095", "labels": ["docs-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c12ff94742a00683e41fd", "resolution": "Fixed", "resolutionDate": "2021-06-10T01:32:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Creating new user on macOS 10.14 results in `Operation not permitted` error", "timeSpent": "PT0S", "updated": "2021-06-21T13:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "602cd85ac0b285006f4f1dc7", "attachments": [], "comments": [], "components": [], "created": "2021-06-07T07:48:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@23721812"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3808"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08zpf:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1984_*|*_3_*:*_1_*:*_422690312_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_3362007422"}], "description": "Update Public-facing Puppet docs with removal of this platform\n", "epicLinkSummary": "Remove OSX 10.14 (x86_64) FOSS support", "estimate": "PT0S", "externalId": "29743", "fixedVersions": ["PUP 6.25.0", "PUP 7.10.0"], "id": "29743", "issueType": "Task", "key": "PUP-11094", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": "59811", "parentSummary": "Remove OSX 10.14 (x86_64) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Fixed", "resolutionDate": "2021-07-21T03:07:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Update Public-facing Puppet docs to remove OSX 10.14 (x86_64)", "timeSpent": "PT0S", "updated": "2021-08-11T07:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "602cd85ac0b285006f4f1dc7", "attachments": [], "comments": [], "components": [], "created": "2021-06-07T07:40:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1f1a027e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3799"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08zjf:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1819_*|*_3_*:*_1_*:*_426067238_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_3359100454"}], "description": "Update Public-facing Puppet docs with removal of this platform\n", "epicLinkSummary": "Remove Fedora 31 (x86_64) FOSS support", "estimate": "PT0S", "externalId": "22388", "fixedVersions": ["PUP 6.25.0", "PUP 7.10.0"], "id": "22388", "issueType": "Task", "key": "PUP-11093", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": "56683", "parentSummary": "Remove Fedora 31 (x86_64) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Fixed", "resolutionDate": "2021-07-21T03:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Update Public-facing Puppet docs to remove Fedora 31 (x86_64)", "timeSpent": "PT0S", "updated": "2021-08-11T07:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "602cd85ac0b285006f4f1dc7", "attachments": [], "comments": [], "components": [], "created": "2021-06-07T07:33:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1bf282bf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3790"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08zdf:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1876_*|*_3_*:*_1_*:*_497571390_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_3283022896"}], "description": "Update Public-facing Puppet docs with removal of this platform\n", "epicLinkSummary": "Remove Fedora 30 (x86_64) FOSS support", "estimate": "PT0S", "externalId": "25523", "fixedVersions": ["PUP 6.25.0", "PUP 7.10.0"], "id": "25523", "issueType": "Task", "key": "PUP-11092", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": "58060", "parentSummary": "Remove Fedora 30 (x86_64) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Fixed", "resolutionDate": "2021-07-21T01:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Public-facing Puppet docs to remove Fedora 30 (x86_64)", "timeSpent": "PT0S", "updated": "2021-08-11T07:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "602cd85ac0b285006f4f1dc7", "attachments": [], "comments": [], "components": [], "created": "2021-06-07T07:23:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@54259808"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3781"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08z6z:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1938_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_4400963128"}], "description": "Update Public-facing Puppet docs with removal of this platform\n", "epicLinkSummary": "Remove RedHat 5 (x86_64, i386) FOSS support", "estimate": "PT0S", "externalId": "26643", "fixedVersions": ["PUP 6.25.0"], "id": "26643", "issueType": "Task", "key": "PUP-11091", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": "58465", "parentSummary": "Remove RedHat 5 (x86_64, i386) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Fixed", "resolutionDate": "2021-07-28T05:52:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Public-facing Puppet docs to remove RedHat 5 (x86_64, i386)", "timeSpent": "PT0S", "updated": "2021-10-06T08:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "This is a PE-only platform so it should not be documented in the FOSS docs.", "created": "2021-09-20T06:56:00.000000"}], "components": [], "created": "2021-06-07T07:15:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@637e2edd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3766"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08z0j:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Sep/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1877_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_9070852656"}], "description": "Update Public-facing Puppet docs to include this platform\n", "epicLinkSummary": "Add RedHat 8 FIPS x86_64 FOSS support", "estimate": "PT0S", "externalId": "27704", "fixedVersions": [], "id": "27704", "issueType": "Task", "key": "PUP-11090", "labels": [], "originalEstimate": "PT0S", "parent": "55700", "parentSummary": "Add RedHat 8 FIPS x86_64 FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Fixed", "resolutionDate": "2021-09-20T06:56:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Public-facing Puppet docs to include RedHat 8 FIPS x86_64", "timeSpent": "PT0S", "updated": "2021-09-20T06:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Hi [~accountid:623c16e6a2f6400069eb7e2d],\n\nDue to a large number of users depending on dotted facts with the expectation of being unstructured, we had to revert this behavior to match Facter 3 (FACT-3004). We're sorry about the inconvenience.\n\nThe functionality is still available but has to be opted in by setting {{force-dot-resolution}} to {{true}} in {{facter.conf}}:\n\n{code}\nglobal : {\n    force-dot-resolution : true\n}\n{code}\n\nThe change went into Facter 4.1.0 which has the following release notes: https://puppet.com/docs/puppet/7/release_notes_facter.html#release_notes_facter_4-1-0-resolved-issues-4-1-0", "created": "2021-06-08T07:28:00.000000"}, {"author": "623c16e6a2f6400069eb7e2d", "body": "Fair enough. Thanks for clarifying this.", "created": "2021-06-08T08:52:00.000000"}], "components": [], "created": "2021-06-07T05:30:00.000000", "creator": "623c16e6a2f6400069eb7e2d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@79ed2a0e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08yuj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_93514573_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 7.6.1, 7.7.0*\n *Puppet Server Version:* -\n *OS Name/Version: Windows 10*\n\nPuppet 7.6.1 (and also 7.7.0) breaks the dot notation for custom facts.\n\nTo reproduce the problem, create an empty directory (A) and inside this directory, create the following subdirectories:\n\nsite\\modules\\profiles\\facts.d\n\nInside the facts.d directory, create a file called fact_test.ps1 and fill it with this content\n{code:ps1}Write-Host\u00a0'mycustom_fact.mysubfact=abc' \n{code}\nThen from the top directory (A), call this:\n{code}puppet facts --environmentpath=. --environment=site\n{code}\n*Desired Behavior:*\n\nThe output should contain something like this:\n{code}\"mycustom_fact\": {\n    \"mysubfact\": \"abc\"\n}\n{code}\n*Actual Behavior:*\n\nThis works up to Puppet 7.5.0. Starting with Puppet 7.6.1, the output is like this:\n{code}\"mycustom_fact.mysubfact\": \"abc\"\n{code}\nThe release notes don't mention anything about this change. In any case, for us this is a breaking change because we have Puppet scripts that rely on the version 7.5 behavior.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20279", "fixedVersions": [], "id": "20279", "issueType": "Bug", "key": "PUP-11089", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c16e6a2f6400069eb7e2d", "resolution": "Won't Fix", "resolutionDate": "2021-06-08T07:28:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Puppet 7.6 breaks dot notation for custom facts (regression)", "timeSpent": "PT0S", "updated": "2021-06-08T08:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is due to the Security, Compliance, & Reporting template, closing", "created": "2021-06-04T10:04:00.000000"}], "components": [], "created": "2021-06-03T23:49:00.000000", "creator": "6243ae36f6a26900695c259f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1cf8e94b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08xsr:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_36914688_*|*_6_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27703", "fixedVersions": [], "id": "27703", "issueType": "Sub-task", "key": "PUP-11087", "labels": [], "originalEstimate": "PT0S", "parent": "25521", "parentSummary": "Puppet (agent) fails to run if environment is numerical", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6243ae36f6a26900695c259f", "resolution": "Incomplete", "resolutionDate": "2021-06-04T10:04:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "TEST", "timeSpent": "PT0S", "updated": "2021-06-04T10:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is due to the Security, Compliance, & Reporting template, closing", "created": "2021-06-04T10:04:00.000000"}], "components": [], "created": "2021-06-03T23:49:00.000000", "creator": "6243ae36f6a26900695c259f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4357160c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08xsj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_36944184_*|*_6_*:*_2_*:*_3462"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26642", "fixedVersions": [], "id": "26642", "issueType": "Sub-task", "key": "PUP-11086", "labels": [], "originalEstimate": "PT0S", "parent": "25521", "parentSummary": "Puppet (agent) fails to run if environment is numerical", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6243ae36f6a26900695c259f", "resolution": "Incomplete", "resolutionDate": "2021-06-04T10:05:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "DEV", "timeSpent": "PT0S", "updated": "2021-06-04T10:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is a duplicate of PUP-8289", "created": "2021-06-04T10:07:00.000000"}], "components": [], "created": "2021-06-03T23:49:00.000000", "creator": "6243ae36f6a26900695c259f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3d86ba7f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08xsb:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_37107307_*|*_6_*:*_1_*:*_0"}], "description": "When puppet agent (4.10.12) is run from the command-line, and you set the environment to a numerical value, e.g. 1234, the agent fails with a cryptic message.\n\n\u00a0\n\nExpected Behavior: explicitly disallow numeric environments or fix the parsing code (preferred).\n\n\u00a0\n\nSteps to reproduce. Command-Line (oracle linux):\n\n\u00a0\n\n{{puppet agent --environment 12345}}\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25521", "fixedVersions": [], "id": "25521", "issueType": "Bug", "key": "PUP-11085", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6243ae36f6a26900695c259f", "resolution": "Duplicate", "resolutionDate": "2021-06-04T10:07:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet (agent) fails to run if environment is numerical", "timeSpent": "PT0S", "updated": "2021-06-04T10:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "To make sure I'm understanding right, this ticket literally just covers replacing that conditional you linked with {{OpenSSL::PKey.read(pem, password)}}? Does this need tests or do we think whatever tests already exist are sufficient? Sorta guessing the latter, but want to make sure.", "created": "2021-06-03T22:04:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Yep just need to use PKey.read. The existing tests should be sufficient, as there are fixtures for [RSA|https://github.com/puppetlabs/puppet/blob/ea82f3b3170a1672487792e8da2c1e2188a0c2fa/spec/unit/x509/cert_provider_spec.rb#L271] and [EC|https://github.com/puppetlabs/puppet/blob/ea82f3b3170a1672487792e8da2c1e2188a0c2fa/spec/unit/x509/cert_provider_spec.rb#L298] keys and those tests run in MRI 2.5+ and JRuby.", "created": "2021-06-04T10:19:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I ended up adding a test with the other format (openssl/PKCS#8) that uses the header without the \"EC\" in it, that didn't work before.", "created": "2021-06-15T17:13:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in b7c9dd387a", "created": "2021-06-28T10:19:00.000000"}], "components": [], "created": "2021-06-03T10:26:00.000000", "creator": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@228426c9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hykebj:4090000694a43w"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet Agent can now load private keys in PKCS#8 format."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_927893125_*|*_1_*:*_1_*:*_11409_*|*_10007_*:*_1_*:*_64311682_*|*_3_*:*_1_*:*_106158836_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_968456590_*|*_10005_*:*_1_*:*_92749064"}], "description": "There's a littany of reasons that we couldn't use PKey.read in https://github.com/puppetlabs/puppet/blob/1a13e0cf96c70b303492e684f9ccf4c38207b3dd/lib/puppet/x509/cert_provider.rb#L218-L222.\n\nHowever, We no longer use this code in Terminii that will be loaded in JRuby (and so don't use this code at all in JRuby) nor do we support older versions of Ruby in Puppet 7.x. Our manual determination of which implementation class to construct is somewhat naive and PKey.read will do a better job.\n\nConsequently, we should use PKey.read in the above code.\n\n*Note: This should only be updated for puppet7 (main branch).*", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22384", "fixedVersions": ["PUP 6.24.0", "PUP 7.9.0"], "id": "22384", "issueType": "Task", "key": "PUP-11082", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2021-06-28T10:19:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Use PKey.read when loading private keys", "timeSpent": "PT0S", "updated": "2021-07-13T05:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-06-03T07:26:00.000000", "creator": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@35b04ecb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08uq3:"}], "description": "Spec tests in {{spec/unit/application/resource_spec.rb}} should be converted to integration tests and placed in {{spec/integration/application/resource_spec.rb}}\n\n[~accountid:63d40628f6e1b543161789a7] I see that a lot of applications still have tests under {{spec/unit}}, is the long-term plan to have them all converted into integration tests?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20276", "fixedVersions": [], "id": "20276", "issueType": "Improvement", "key": "PUP-11080", "labels": ["tech-debt"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Convert puppet resource application tests to integration tests", "timeSpent": "PT0S", "updated": "2021-06-15T01:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/78a9f15b5bcbccc88c102ddbb1355706a0fd5e48", "created": "2021-06-16T15:39:00.000000"}], "components": [], "created": "2021-06-03T07:21:00.000000", "creator": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@634a8e99"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08upv:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Previously, the `age` parameter of the `tidy` resource did not work according to the documentation and only removed files older than the specified time. Now it removes files whose age is equal to or greater than the specified time."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_142035447_*|*_1_*:*_1_*:*_498789179_*|*_10007_*:*_1_*:*_23878714_*|*_3_*:*_1_*:*_1165467_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_629257300"}], "description": "*Puppet Version:* any\n *Puppet Server Version:* n/a\n *OS Name/Version:* n/a\n\nThe documentation for the {{age}} parameter for the {{tidy}} type states:\n{quote}Tidy files whose age is *equal to or greater* than the specified time. You can choose seconds, minutes, hours, days, or weeks by specifying the first letter of any of those words (for example, \u20181w\u2019 represents one week).\n\nDocs: [https://puppet.com/docs/puppet/7.7/types/tidy.html#tidy-attribute-age]\n\n*Specifying 0 will remove all files*.\n{quote}\n*Desired Behavior:*\n\nSetting {{age=0}} removes all files\n\n*Actual Behavior:*\n\nSetting {{age=0}} requires the target file to be at least 1 second old.\n\nThis was discovered when writing integration tests for the {{puppet resource}} subcommand (PUP-11074).\n\nRelevant code: [https://github.com/puppetlabs/puppet/blob/b91e53a38cb4671d4de9078837c05931c69121f9/lib/puppet/type/tidy.rb#L147]\n{code}    def tidy?(path, stat)\n      # If the file's older than we allow, we should get rid of it.\n      (Time.now.to_i - stat.send(resource[:type]).to_i) > value\n    end\n{code}\nNote that the greater than or equal comparison is respected for the {{size}} parameter:\n{code}    def tidy?(path, stat)\n      stat.size >= value\n    end\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29735", "fixedVersions": ["PUP 6.24.0", "PUP 7.9.0"], "id": "29735", "issueType": "Bug", "key": "PUP-11079", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "resolution": "Fixed", "resolutionDate": "2021-06-18T07:07:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Setting age=0 on a tidy resource does not remove all files", "timeSpent": "PT0S", "updated": "2021-07-13T06:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5b0340d43eafdb09dee5bc3a", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The parameter is documented for the file and tidy resource in source, it looks like it's an issue on the type reference docs generation. [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] or [~accountid:5b0340d43eafdb09dee5bc3a] could you take a look? This affects both the file and tidy types in puppet 6.x and 7.x. Thanks!", "created": "2021-06-03T10:54:00.000000"}, {"author": "5b0340d43eafdb09dee5bc3a", "body": "Thanks for catching this [~accountid:6243b3c84fe01d006ba5c5e3]. The page has been updated", "created": "2021-06-04T12:13:00.000000"}], "components": ["Docs"], "created": "2021-06-03T03:20:00.000000", "creator": "6243b3c84fe01d006ba5c5e3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6efea9f8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08up7:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_27577551_*|*_3_*:*_1_*:*_90845522_*|*_5_*:*_1_*:*_0"}], "description": "The effects of PUP-10946 are not document by now: \nhttps://puppet.com/docs/puppet/7/types/file.html", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25610", "fixedVersions": [], "id": "25610", "issueType": "Bug", "key": "PUP-11083", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6243b3c84fe01d006ba5c5e3", "resolution": "Fixed", "resolutionDate": "2021-06-04T12:13:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "file resource documentation does not include max_files parameter", "timeSpent": "PT0S", "updated": "2021-06-04T12:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "602cd85ac0b285006f4f1dc7", "attachments": [], "comments": [], "components": [], "created": "2021-06-02T17:44:00.000000", "creator": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@74cd6078"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzvq87:2i6000000i42090400i004"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fix an issue where puppet generate would return an exit code with the value of 0 even when failing to generate a new custom type by creating a new Puppet::Generator method that checks whether a type has raised an error or not\n"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_523451967_*|*_1_*:*_2_*:*_1011485410_*|*_10007_*:*_1_*:*_1133317177_*|*_3_*:*_1_*:*_691303949_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2497729656_*|*_10005_*:*_1_*:*_11556122347"}], "description": "When {{puppet generate types}} cannot generate types, it will error, but it explicitly just logs it and keeps going.\n\nhttps://github.com/puppetlabs/puppet/blob/1a13e0cf96c70b303492e684f9ccf4c38207b3dd/lib/puppet/generate/type.rb#L204-L211\n\n{code}\n[~accountid:999854:23a05007-b2f2-4f72-b34a-02dd48a2bf90]$ puppet generate types\nNotice: Generating Puppet resource types.\nError: /Users/ben/.puppetlabs/etc/code/environments/production/modules/drupal/lib/puppet/type/drupal_module.rb: title patterns that use procs are not supported.\nError: /Users/ben/.puppetlabs/etc/code/environments/production/modules/drupal/lib/puppet/type/drupal_theme.rb: title patterns that use procs are not supported.\nError: /Users/ben/.puppetlabs/etc/code/environments/production/modules/drupal/lib/puppet/type/drupal_variable.rb: title patterns that use procs are not supported.\n[~accountid:999854:23a05007-b2f2-4f72-b34a-02dd48a2bf90]$ echo $?\n0\n{code}\n\nThis might be so that code manager doesn't fail when code is deployed, but this is certainly not expected. Should there be an option for explicit error codes?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21342", "fixedVersions": ["PUP 6.26.0", "PUP 7.14.0"], "id": "21342", "issueType": "Bug", "key": "PUP-11078", "labels": ["docs-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "resolution": "Fixed", "resolutionDate": "2021-12-21T05:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "puppet generate types should return non-zero when types cannot be generated", "timeSpent": "PT0S", "updated": "2022-02-22T22:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/8daf4341c0b55c152792121633c59ee76ee9d722", "created": "2021-06-08T07:30:00.000000"}], "components": [], "created": "2021-06-01T16:39:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@371a6317"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08tuz:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fixes a bug that prevented the build and prerelease components of the SemVer data type from being passed as a list of arguments or hash:\n\nSemVer(major => 1, minor => 0, patch => 0, prerelease => \"beta\", build => \"123\")\nSemVer(1, 0, 0, \"beta\", \"123\")"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_151328844_*|*_1_*:*_1_*:*_4793360_*|*_10007_*:*_1_*:*_567116576_*|*_6_*:*_1_*:*_0"}], "description": "The [language specification|https://github.com/puppetlabs/puppet-specifications/blob/master/language/types_values_variables.md#semvernew] says you should be able to pass the SemVer {{prerelease}} and {{build}} components as a hash or list of arguments. However, the values are corrupted when SemVer objects are created this way:\n\n{noformat}\n\u276f bx puppet apply  -e 'notice(SemVer(major => 1, minor => 0, patch => 0, prerelease => \"alpha\"))'\nNotice: Scope(Class[main]): 1.0.0-a.l.p.h.a\n...\n\u276f bx puppet apply  -e 'notice(SemVer(major => 1, minor => 0, patch => 0, build => \"123\"))'       \nNotice: Scope(Class[main]): 1.0.0+1.2.3\n...\n{noformat}\n\nNote the extra dots in the output. This leads to confusing behavior:\n\n{noformat}\n\u276f bx puppet apply  -e 'notice(SemVer(major => 1, minor => 0, patch => 0, build => \"123\") == SemVer(\"1.0.0+123\"))'\nNotice: Scope(Class[main]): false\n{noformat}\n\nPassing the build and prerelease components in the string version does work, because internally {{SemanticPuppet::Version.parse}} converts the [String component to an array|https://github.com/puppetlabs/semantic_puppet/blob/3ef28a432846c0d5492be1af3a412a1695b4b4b6/lib/semantic_puppet/version.rb#L38].\n\nThe problem is that the SemVer data type needs to pass the build and prerelease components as a single element array when calling {{SemanticPuppet::Version.new(.., prerelease, build)}}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21341", "fixedVersions": ["PUP 6.23.0", "PUP 7.8.0"], "id": "21341", "issueType": "Bug", "key": "PUP-11077", "labels": ["docs-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-06-10T01:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Passing SemVer prerelease or build as a hash doesn't work", "timeSpent": "PT0S", "updated": "2021-06-21T13:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5b9fcedc03b52466f05c4510", "attachments": [], "comments": [{"author": "5b9fcedc03b52466f05c4510", "body": "https://github.com/puppetlabs/puppet/pull/8613", "created": "2021-05-31T02:27:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/ddbe9172ed1ad2eb6614117faf2f2ac1e5295585", "created": "2021-06-01T19:51:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 1a13e0cf96", "created": "2021-06-03T11:26:00.000000"}], "components": [], "created": "2021-05-30T23:39:00.000000", "creator": "5b9fcedc03b52466f05c4510", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@122c4a90"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11071"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08t77:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Removes our dependency on SortedSet in preparation for supporting Ruby 3"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_142479590_*|*_1_*:*_1_*:*_307525_*|*_3_*:*_1_*:*_158828508_*|*_10009_*:*_1_*:*_145159_*|*_5_*:*_1_*:*_0"}], "description": "Ruby 3 has removed sorted_set from the core and exposes it as an external gem.\nIn puppet, we use it to store the versions of a package. This can be safely replaced by an Array.", "epicLinkSummary": "Ruby 3 support - Phase 2", "estimate": "PT0S", "externalId": "20274", "fixedVersions": ["PUP 7.8.0"], "id": "20274", "issueType": "Improvement", "key": "PUP-11076", "labels": ["docs-reviewed"], "originalEstimate": "PT0S", "parent": "26641", "parentSummary": "Ruby 3 support - Phase 2", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5b9fcedc03b52466f05c4510", "resolution": "Fixed", "resolutionDate": "2021-06-03T11:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Remove sorted_set usage", "timeSpent": "PT0S", "updated": "2021-06-21T13:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "https://github.com/puppetlabs/puppet/pull/8614", "created": "2021-05-31T01:28:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/6c775f7ca83f3b8fce9838825afa50b8e1d428b1", "created": "2021-06-08T02:17:00.000000"}], "components": [], "created": "2021-05-27T08:33:00.000000", "creator": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4196ac99"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08rnv:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Due to the presence of a nil vertex in the catalog, managing resources that call the `generate` method (such as `tidy`) would fail when using the `puppet resource` subcommand. This has been fixed by ensuring that nil vertices are never added to the catalog."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "31/May/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_172083879_*|*_1_*:*_1_*:*_431850576_*|*_10007_*:*_1_*:*_410563141_*|*_3_*:*_1_*:*_81218542_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_88559820"}], "description": "*Puppet Version: 7.7.0/6.23.0*\n *Puppet Server Version:* n/a\n *OS Name/Version: n/a*\n\nManaging resources with generators behaves differently with {{puppet resource}} and {{puppet apply}}.\n\nWhen running with {{puppet apply}}, the parent resource is always contained by something like {{Class[Main]}}, so adding an edge between that and our generated resource works.\n\nWhen running with {{puppet resource}}, the parent resource is not contained by anything ({{container_of(parent_resource)}} returns nil), which adds an edge with a nil vertex to the catalog. This in turn causes the run to fail with a NilClass exception when performing [pre-run checks|https://github.com/puppetlabs/puppet/blob/ab56d86ecb4b71298c75325462bf73376420bb40/lib/puppet/transaction.rb#L80] in the Transaction class, as the catalog now contains a nil vertex.\n\n*Desired Behavior:*\n\nRunning the following does not error:\n{code}\n> touch /tmp/asd\n> puppet resource tidy /tmp/asd age=0 --trace\n{code}\n\n*Actual Behavior:*\n\nRunning the above example gives the following error:\n{code}\nError: Could not run: undefined method `pre_run_check' for nil:NilClass\n/root/puppet/lib/puppet/transaction.rb:82:in `block in perform_pre_run_checks'\n/root/puppet/lib/puppet/transaction.rb:78:in `each'\n/root/puppet/lib/puppet/transaction.rb:78:in `perform_pre_run_checks'\n/root/puppet/lib/puppet/transaction.rb:104:in `evaluate'\n/root/puppet/lib/puppet/resource/catalog.rb:240:in `block (2 levels) in apply'\n[snip]\n{code}\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25609", "fixedVersions": ["PUP 6.23.0", "PUP 7.8.0"], "id": "25609", "issueType": "Bug", "key": "PUP-11074", "labels": ["docs-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "resolution": "Fixed", "resolutionDate": "2021-06-10T01:31:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Add catalog edge only if parent resource has a container", "timeSpent": "PT0S", "updated": "2021-06-21T13:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": " I produced the list above by running the {{full_catalog}} benchmark:\n\n{noformat}\n$ cd ~/work/puppet\n$ rbenv shell 2.5.8\n$ git submodule update --init --recursive\n$ bundle install --with development\n$ bundle exec rake benchmark:full_catalog:memory_profile\n...\nGenerated memory profile: /home/josh/work/puppet/mem_profile_157882\n{noformat}\n\nwhich shows about 46MB - 3MB = 43MB of string allocations. Note the benchmark uses a very small number of facts: https://github.com/puppetlabs/puppet/blob/a68574e063d74eda66d7e26ad493ad8372a3803d/benchmarks/full_catalog/benchmarker.rb#L40-L75, so memory allocations for real catalog compilations are much worse.\n\n{noformat}\n$ cat /home/josh/work/puppet/mem_profile_157882\n...\nallocated memory by class\n-----------------------------------\n  46541290  String\n...\nretained memory by class\n-----------------------------------\n   3179506  String\n{noformat}\n\nwhere objects are allocated in:\n\n{noformat}\nallocated objects by location\n-----------------------------------\n    102870  /home/josh/work/puppet/lib/puppet/pops/parser/lexer2.rb:531\n     99060  /home/josh/work/puppet/lib/puppet/pops/parser/lexer2.rb:554\n     56909  /home/josh/work/puppet/lib/puppet/pops/parser/lexer2.rb:708\n     53340  /home/josh/work/puppet/lib/puppet/pops/parser/lexer2.rb:529\n     53340  /home/josh/work/puppet/lib/puppet/pops/parser/lexer2.rb:530\n     53340  /home/josh/work/puppet/lib/puppet/pops/parser/lexer2.rb:552\n     49530  /home/josh/work/puppet/lib/puppet/pops/parser/lexer2.rb:553\n     41910  /home/josh/work/puppet/lib/puppet/pops/parser/lexer2.rb:496\n     38100  /home/josh/work/puppet/lib/puppet/pops/parser/lexer2.rb:497\n     36270  /home/josh/work/puppet/lib/puppet/pops/parser/lexer2.rb:711\n     33372  /home/josh/work/puppet/lib/puppet/resource.rb:651\n     32169  /home/josh/work/puppet/lib/puppet/concurrent/thread_local_singleton.rb:5\n     30036  /home/josh/work/puppet/lib/puppet/pops/parser/lexer2.rb:737\n     29592  /home/josh/work/puppet/lib/puppet/pops/parser/lexer2.rb:730\n     27831  /home/josh/work/puppet/lib/puppet/parser/scope.rb:497\n     26670  /home/josh/work/puppet/lib/puppet/pops/parser/lexer2.rb:494\n     26350  /home/josh/work/puppet/lib/puppet/pops/model/factory.rb:84\n     25549  /home/josh/.rbenv/versions/2.5.8/lib/ruby/2.5.0/pathname.rb:42\n     25545  /home/josh/work/puppet/lib/puppet/resource.rb:306\n     23696  /home/josh/.rbenv/versions/2.5.8/lib/ruby/2.5.0/pathname.rb:46\n     18706  /home/josh/work/puppet/lib/puppet/parser/templatewrapper.rb:85\n     16540  /home/josh/work/puppet/lib/puppet/parser/resource.rb:221\n     16453  /home/josh/work/puppet/lib/puppet/resource.rb:418\n     15260  /home/josh/work/puppet/lib/puppet/resource.rb:687\n     14454  /home/josh/work/puppet/lib/puppet/pops/model/factory.rb:538\n     14192  /home/josh/work/puppet/lib/puppet/type.rb:442\n     13938  /home/josh/work/puppet/lib/puppet/pops/model/factory.rb:779\n     13633  /home/josh/work/puppet/lib/puppet/resource.rb:642\n     12618  /home/josh/work/puppet/lib/puppet/pops/evaluator/runtime3_support.rb:321\n     11376  /home/josh/work/puppet/lib/puppet/resource/catalog.rb:169\n     11376  /home/josh/work/puppet/lib/puppet/resource/catalog.rb:92\n     11296  /home/josh/work/puppet/lib/puppet/pops/types/type_formatter.rb:25\n     10723  /home/josh/work/puppet/lib/puppet/concurrent/thread_local_singleton.rb:8\n     10615  /home/josh/work/puppet/lib/puppet/pops/visitor.rb:46\n     10580  /home/josh/.rbenv/versions/2.5.8/lib/ruby/2.5.0/ripper/sexp.rb:33\n     10333  /home/josh/work/puppet/lib/puppet/resource/type_collection.rb:232\n      9878  /home/josh/work/puppet/lib/puppet/pops/model/factory.rb:37\n      9780  /home/josh/work/puppet/lib/puppet/pops/parser/lexer2.rb:458\n      9756  /home/josh/.rbenv/versions/2.5.8/lib/ruby/2.5.0/erb.rb:873\n      9521  /home/josh/work/puppet/lib/puppet/pops/types/type_formatter.rb:652\n      9426  /home/josh/work/puppet/lib/puppet/pops/loader/typed_name.rb:19\n      9398  /home/josh/.rbenv/versions/2.5.8/lib/ruby/2.5.0/ripper/sexp.rb:106\n      9353  /home/josh/work/puppet/lib/puppet/parser/templatewrapper.rb:86\n      9278  /home/josh/work/puppet/lib/puppet/pops/loader/typed_name.rb:29\n      8982  /home/josh/work/puppet/lib/puppet/pops/visitor.rb:23\n      8711  /home/josh/work/puppet/lib/puppet/pops/parser/locator.rb:78\n      8627  /home/josh/work/puppet/lib/puppet/util/tagging.rb:113\n      8076  /home/josh/work/puppet/lib/puppet/parser/resource.rb:208\n      7961  /home/josh/work/puppet/lib/puppet/parser/scope.rb:435\n      7928  /home/josh/work/puppet/lib/puppet/type/file.rb:47\n{noformat}\n\nAlso the \"Allocated String Report\" shows where unnecessary allocations are made:\n\n{noformat}\nAllocated String Report\n-----------------------------------\n     40454  \"::\"\n     27831  /home/josh/work/puppet/lib/puppet/parser/scope.rb:497\n...\n     29980  \" \"\n     19966  /home/josh/work/puppet/lib/puppet/pops/parser/lexer2.rb:708\n..\n     24715  \"\"\n      5612  /home/josh/work/puppet/lib/puppet/resource.rb:642\n      2112  /home/josh/work/puppet/lib/puppet/pops/puppet_stack.rb:33\n...\n   13639  \"_\"\n      9353  /home/josh/work/puppet/lib/puppet/parser/templatewrapper.rb:85\n      3810  /home/josh/work/puppet/lib/puppet/pops/parser/lexer2.rb:530\n...\n     10723  \".singleton\"\n     10723  /home/josh/work/puppet/lib/puppet/concurrent/thread_local_singleton.rb:5\n...\n{noformat}", "created": "2021-07-28T10:52:00.000000"}], "components": [], "created": "2021-05-26T14:14:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Coremunity"}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Night's Watch"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@553dfdac"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-14"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Reduce Memory Usage"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_orange"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08rcj:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4956287_*|*_6_*:*_1_*:*_0_*|*_10012_*:*_1_*:*_11433035615_*|*_10014_*:*_1_*:*_5417553938"}, {"fieldName": "productboard URL", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:url", "value": "https://puppet.productboard.com/feature-board/planning/features/8160319"}], "description": "|Puppet was written before frozen string literals were added in Ruby 2.3, so by default puppet creates many transient string objects during compilation, which must be garbage collected. We can't simply switch all source files over to using \\{{frozen_string_literal: true}} because we sometimes create a string in one module/class/file, and the string is mutated somewhere unrelated. So we have to be selective about adding the pragma or calling \\{{String#freeze}}.\n\u00a0\nThe following are prime candidates:\n\u00a0\n{noformat}\nlib/puppet/concurrent/thread_local_singleton.rb\nlib/puppet/parser/scope.rb\nlib/puppet/parser/templatewrapper.rb\nlib/puppet/pops/model/factory.rb\nlib/puppet/pops/model/ast.rb\nlib/puppet/pops/parser/lexer2.rb\nlib/puppet/pops/parser/slurp_support.rb\nlib/puppet/pops/types/type_formatter.rb\nlib/puppet/resource/type_collection.rb\nlib/puppet/util/tagging.rb\n{noformat}|", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21340", "fixedVersions": ["PUP 7.13.0"], "id": "21340", "issueType": "Epic", "key": "PUP-11073", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Done", "resolutionDate": "2021-12-07T15:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Reduce memory usage", "timeSpent": "PT0S", "updated": "2021-12-07T15:20:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [{"author": "557058:55399b77-3824-47d7-b99d-a0113bcca913", "body": "The hardening requirements comes from CSC 14: 14.4 and 14.6\n\n[https://www.venafi.com/sites/default/files/2016-10/Venafi_Securing_SSH_CSCs_final.pdf]\n\nPrevent non-superusers from installing new authorized keys for user accounts.\n\nRestrict access on identity keys to interactive use, automated process or named admin staff responsible for managing keys.\n\nAllow only authorized administrators to modify authorized keys.", "created": "2021-05-26T08:41:00.000000"}, {"author": "557058:55399b77-3824-47d7-b99d-a0113bcca913", "body": "one possible solution: use the file owner:\n{code:java}\ndiff --git a/lib/puppet/type/user.rb b/lib/puppet/type/user.rb\nindex c61432acfe..ce657d097b 100644\n--- a/lib/puppet/type/user.rb\n+++ b/lib/puppet/type/user.rb\n@@ -788,7 +788,7 @@ module Puppet\n         map { |f| unknown_keys_in_file(f) }.\n         flatten.each do |res|\n           res[:ensure] = :absent\n-          res[:user] = self[:name]\n+          res[:user] = File.stat(f).uid\n           @parameters.each do |name, param|\n             res[name] = param.value if param.metaparam?\n           end\n{code}\nmaybe with an additional parameter?\n\n\u00a0", "created": "2021-06-03T01:28:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Hi [~accountid:70121:83c43a91-1367-4d35-b806-0b6bf79902a8],\n\nA possible workaround would be to purge the keys through the root user (or another superuser), such as:\n{code}user { 'root':\n  purge_ssh_keys => ['/etc/ssh/keys/testuser'],\n}\n{code}\nIf we add this functionality it would be good to also have something similar in the [sskeys_core|https://github.com/puppetlabs/puppetlabs-sshkeys_core] module. Currently the file owner is controlled by the {{user}} parameter, and the file path maps to {{target}}, so a sample authorized key would be:\n{code}ssh_authorized_key { 'testuser@ubuntu':\n  ensure => present,\n  user   => 'root',\n  target => '/etc/ssh/keys/testuser',\n  type   => 'ssh-rsa',\n  key    => 'AAAAB3NzaqXfdaQ==',\n}\n{code}\nThe limitation in the module would be that the file permissions are hardcoded to 600. This can be circumvented by ensuring the mode through a file resource, but it will cause corrective changes each time an authorized key changes. (authorized key resource enforces 600, file resource enforces 644).\n\nSince the functionality you request is achievable through a workaround in the user resource, I'm inclined against adding a new parameter in the user type. [~accountid:63d40628f6e1b543161789a7] what are your thoughts on this?", "created": "2021-06-07T09:39:00.000000"}, {"author": "557058:55399b77-3824-47d7-b99d-a0113bcca913", "body": "Hi [~accountid:70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56] ,\n\nmany thanks for providing a working solution.\n\nWe have tested the workaround and it works as expected.\n\nWe will check on how to do purging when using puppetlabs-accounts module and will do the required work in a separate ticket.", "created": "2021-06-09T02:53:00.000000"}, {"author": "557058:55399b77-3824-47d7-b99d-a0113bcca913", "body": "Fixed by working solution provided by [~accountid:70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56]", "created": "2021-06-09T02:54:00.000000"}], "components": [], "created": "2021-05-26T07:53:00.000000", "creator": "557058:55399b77-3824-47d7-b99d-a0113bcca913", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@711fe19"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08qj7:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_522085600_*|*_3_*:*_1_*:*_150257427_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_519335803"}], "description": "*Puppet Version:* any\n *Puppet Server Version:* unrelated\n *OS Name/Version:* any Linux system using SSH\n\nIn a secured environment ssh keys may not be in users home, but must be located in root context (e.g. /etc/ssh/keys/<user key file>\n\nBesides this it is forbidden for a user to add a new key or remove a key. Therefor the key files must be owned by root user using 0644 as access mode.\n\nWhen using purge_ssh_keys => [\"/etc/ssh/keys/${user}\"] within the user resource, the removal of ssh keys fails, as Puppet wants to delete the key using user privileges.\n\nReason is a hard-coded setting in puppet type:\n{code:java}# lib/puppet/type/user.rb line 785 and following:\n    def find_unmanaged_keys\n      self[:purge_ssh_keys].\n        select { |f| File.readable?(f) }.\n        map { |f| unknown_keys_in_file(f) }.\n        flatten.each do |res|\n          res[:ensure] = :absent\n          res[:user] = self[:name]          # <---------- !!!!!\n          @parameters.each do |name, param|\n            res[name] = param.value if param.metaparam?\n          end\n        end\n    end\n{code}\n*Desired Behavior:*\n\nAny unmanaged key gets removed.\n\n*Actual Behavior:*\n\nPuppet throws an error, that it can not change the file.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24461", "fixedVersions": [], "id": "24461", "issueType": "Bug", "key": "PUP-11072", "labels": ["community"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55399b77-3824-47d7-b99d-a0113bcca913", "resolution": "Fixed", "resolutionDate": "2021-06-09T02:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "purge_ssh_keys does not work if the key file is not owned by the user", "timeSpent": "PT0S", "updated": "2021-06-09T02:54:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:cb7bc15e-c86d-41f5-bc56-683d06b0a7fe", "body": "Hi [~accountid:623c11d150bb2b0070b6b2d3], thank you for filing this issue. We agree that this deviates from expected behaviour, but due to other issues demanding precedence, we don\u2019t anticipate being able to address this soon. If you are interested in submitting a patch to the repository for this project at\u00a0[https://github.com/puppetlabs], please open a pull request, we appreciate every contribution!", "created": "2021-06-01T09:11:00.000000"}], "components": ["Windows"], "created": "2021-05-26T04:10:00.000000", "creator": "623c11d150bb2b0070b6b2d3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5f6251d8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk409:i"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Jun/21"}], "description": "Hello,\n\n\u00a0\n\nPip provider is not working correctly on Windows when using WHL file.\n\nConsider the following snippet:\n{noformat}\npackage { 'GDAL':\n  ensure   => '3.2.3',\n  provider => 'pip',\n  install_options => ['https://download.lfd.uci.edu/pythonlibs/q4trcu4l/GDAL-3.2.3-cp37-cp37m-win_amd64.whl'],\n}\n{noformat}\nIt will install the module just fine but fails to understand it's installed.\n\nRunning \"puppet resource package\" shows no information about the GDAL package.\n\nThe reason is quite easy to understand once you've digged into Puppet code.\n\n[https://github.com/puppetlabs/puppet/blob/main/lib/puppet/provider/package/pip.rb#L63]\n\nPuppet agent runs pip freeze --all which returns:\n{noformat}\ncertifi==2020.12.5\nchardet==4.0.0\nGDAL @ file:///C:/Users/earthlab/GDAL-3.2.3-cp37-cp37m-win_amd64.whl\nidna==2.10\nnumpy==1.20.3\npika==1.0.1\npip==20.1.1\npython-dateutil==2.8.1\nPyYAML==5.4.1\nrequests==2.25.1\nsetuptools==47.1.0\nsix==1.16.0\nurllib3==1.26.4\n{noformat}\nAs you can see GDAL version is not reported, but replace by the WHL file URL.\n\nThis \"bug\" has been discussed here:\n\n[https://github.com/pypa/pip/issues/8176]\n\nMy understanding is that it used to work correctly with pip before\u00a0[https://www.python.org/dev/peps/pep-0610/] has been implemented but newer version broke the output. Command has to be changed to pip list --format=freeze which returns:\n{noformat}\ncertifi==2020.12.5\nchardet==4.0.0\nGDAL==3.2.3\nidna==2.10\nnumpy==1.20.3\npika==1.0.1\npip==20.1.1\npython-dateutil==2.8.1\nPyYAML==5.4.1\nrequests==2.25.1\nsetuptools==47.1.0\nsix==1.16.0\nurllib3==1.26.4\n{noformat}\nFrom my understanding, pip list --format=freeze should be the one being used.\n\n\u00a0\n\nBest regards, Adam.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29734", "fixedVersions": [], "id": "29734", "issueType": "Bug", "key": "PUP-11075", "labels": ["community", "help_wanted"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c11d150bb2b0070b6b2d3", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Pip provider on Windows does not work correclty with wheel files", "timeSpent": "PT0S", "updated": "2021-09-07T02:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [{"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Merged to 6.x in [https://github.com/puppetlabs/puppet/commit/7e22e621b3a57d3ba5d1d7ca16c8c0bda547f76e]\n\nThanks for the detailed write-up [~accountid:70121:ce512409-a854-49df-b3ee-7398ea4e6db9]!", "created": "2021-06-08T02:17:00.000000"}], "components": [], "created": "2021-05-25T14:48:00.000000", "creator": "70121:ce512409-a854-49df-b3ee-7398ea4e6db9", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "No manual alterations of plist is required for running security-related programs as other users."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3ded4f40"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08q2z:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fix an issue where user keychains could not be accessed when running the Puppet Agent through the macOS daemon."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_172116800_*|*_1_*:*_1_*:*_582879665_*|*_10007_*:*_1_*:*_407358137_*|*_3_*:*_1_*:*_83980929_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_88242405"}], "description": "We have puppet-agent running on macOS 11.1.0. Puppet is added to Full Disk Access list.\n\nOne of things we have managed by Puppet is running a python script as some user via exec resource. The script has the following part:\n{code:python}\ncontents = subprocess.check_output(['security', 'cms', '-D', '-i', path])\n{code}\n\nIt works fine when run by hand ({{sudo -u user /my/script.py}}) and it also works fine when run with {{sudo puppet agent -t}}, but fails when puppet-agent is run as daemon with the following error:\n{code}\nsecurity: cert import failed: Write permissions error.\nsecurity: problem decoding\n{code}\n\nWhile researching the problem, I found SO post with similar problem: https://stackoverflow.com/questions/26474949/mac-security-command-needs-write-permissions-when-run-by-daemon. And there was referenced answer from another SO post: https://stackoverflow.com/questions/6827874/missing-certificates-and-keys-in-the-keychain-while-using-jenkins-hudson-as-cont/9482707#9482707.\n\nI took advice from the answer and added the following two lines to {{/Library/LaunchDaemons/com.puppetlabs.puppet.plist}}:\n{code}\n        <key>SessionCreate</key>\n        <true />\n{code}\nAnd then I run {{launchd bootout system/puppet}} and {{launchctl bootstrap system /Library/LaunchDaemons/com.puppetlabs.puppet.plist}} (I'm not really a Mac user, mainly Linux admin, so maybe the last part was not needed), and after that the script runs fine from puppet-agent running as a daemon.\n\nPlease consider adding this modification to plist for puppet agent packages for Mac (I've checked agent version 7.6.1-1.osx10.15 - plist looks like plist for version 6.3.0), or suggest another way of solving that problem.", "environment": "{code:java}\n# facter os\n{\n  architecture => \"x86_64\",\n  family => \"Darwin\",\n  hardware => \"x86_64\",\n  macosx => {\n    build => \"20C69\",\n    product => \"macOS\",\n    version => {\n      full => \"11.1.0\",\n      major => \"11.1\",\n      minor => \"0\"\n    }\n  },\n  name => \"Darwin\",\n  release => {\n    full => \"20.2.0\",\n    major => \"20\",\n    minor => \"2\"\n  }\n}\n# puppet agent --version\n6.3.0{code}\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27701", "fixedVersions": ["PUP 6.23.0", "PUP 7.8.0"], "id": "27701", "issueType": "Bug", "key": "PUP-11081", "labels": ["community", "docs-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:ce512409-a854-49df-b3ee-7398ea4e6db9", "resolution": "Fixed", "resolutionDate": "2021-06-10T01:31:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet agent lacks access to user keychains on macOS", "timeSpent": "PT0S", "updated": "2021-06-21T13:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-05-25T09:53:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@32bac736"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-1"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Support Ruby 3 - Phase 2"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_grey"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08p6z:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_103227_*|*_6_*:*_1_*:*_0_*|*_10013_*:*_1_*:*_1386138786"}, {"fieldName": "productboard URL", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:url", "value": "https://puppet.productboard.com/feature-board/planning/features/8077795"}], "description": "Ruby 3 is installed by default on Fedora 34, Arch, Rocky and Alma Linux. The latter two are being adopted as users abandon Centos. And testing Ruby 3 in CI now will reduce the pain when we move to it in Puppet 8.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26641", "fixedVersions": ["PUP 7.8.0"], "id": "26641", "issueType": "Epic", "key": "PUP-11071", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Done", "resolutionDate": "2021-06-10T10:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Ruby 3 support - Phase 2", "timeSpent": "PT0S", "updated": "2021-06-11T03:18:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-05-17T00:54:00.000000", "creator": "623c12ff94742a00683e41fd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3b472ff3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08jss:"}], "description": "This came up as an improvement suggestion from [~accountid:557058:be86c7d6-2807-42d3-9715-80da0cf607cd] to aid in creating the exclude regular expression argument. This way users could run `puppet facts diff --names-only` and use that output to more easily identify and create the wanted regular expression and run `puppet facts diff --exclude <custom_regular_expression>`. \n\nImplementation in both Puppet (diff action) and puppetlabs-puppet_agent module (diff task) is needed.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29733", "fixedVersions": [], "id": "29733", "issueType": "New Feature", "key": "PUP-11068", "labels": ["community"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c12ff94742a00683e41fd", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Add '--names-only' option to `puppet facts diff`", "timeSpent": "PT0S", "updated": "2021-09-07T02:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "557058:94252a0b-7ed3-4e3e-ab98-1739f9e085d6", "body": "Appears to be caused by {{[b424130|https://github.com/puppetlabs/puppet/commit/b424130fedcc7c79fac939487f5bc69f920c061b]}}, which fixed PUP-10506.\n\nIf {{home}} parameter is skipped, {{[Dir.home(\"test123\")|https://ruby-doc.org/core-3.0.1/Dir.html#method-c-home]}} is invoked under the hood. This works well for existing accounts, however if the user account does not exist, it causes an {{ArgumentError}} \"user test123 doesn't exist\".\n\nAt first glance, it appears {{purge_ssh_keys}} properly handles missing files, so the {{home}} should be able to default to some safe value during initial creation (would {{/dev/null}} fallback cause issues?).", "created": "2021-05-16T04:42:00.000000"}], "components": [], "created": "2021-05-15T06:16:00.000000", "creator": "557058:94252a0b-7ed3-4e3e-ab98-1739f9e085d6", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4c455332"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Customer Feedback"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08jrw:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Prioritizes the `ensure` property of a managed user before the `purge_ssh_keys` parameter to avoid errors when the user doesn't already exist."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_496875529_*|*_1_*:*_1_*:*_268124493_*|*_10007_*:*_1_*:*_627293880_*|*_3_*:*_1_*:*_488418227_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_176777610"}], "description": "*Puppet Version:* 7.6.1\n*Puppet Server Version:* N/A - reproducible via local {{puppet apply}}\n*OS Name/Version:* Ubuntu 20.04 (LTS \"Focal\")\n\n----\n\nA {{user}} resource, with {{purge_ssh_keys}} parameter provided as either {{true}} or as an array of paths results in a \"Failed to apply catalog\" error, if the user account does not previously exist.\n\n{code:bash}\n$ puppet apply -e 'user { \"test123\": ensure => present, purge_ssh_keys => true, }' --noop\n{code}\n\n\n*Desired Behavior:*\n\nUser account is created, with SSH keys as provided.\nSSH key purging for user is enforced following creation.\n\n*Actual Behavior:*\n\n{noformat}\nNotice: Compiled catalog for host.example.com in environment production in 0.02 seconds\nError: Parameter purge_ssh_keys failed on User[test123]: Munging failed for value true in class purge_ssh_keys: user test123 doesn't exist (line: 1)\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25607", "fixedVersions": ["PUP 6.23.0", "PUP 7.8.0"], "id": "25607", "issueType": "Bug", "key": "PUP-11067", "labels": ["community", "docs-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:94252a0b-7ed3-4e3e-ab98-1739f9e085d6", "resolution": "Fixed", "resolutionDate": "2021-06-08T01:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Specifying purge_ssh_keys parameter for non-existing user errors out", "timeSpent": "PT0S", "updated": "2021-12-08T17:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "body": "Definitely not a blocker since we can just use `optional_param 'Optional[Integer]'`, works just as expected. No rush on our end, just didn't want to forget to make a ticket for it.", "created": "2021-05-18T10:35:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I think this is a case where 'optional' means different things in {{optional_param}} and {{Optional[T]}}. The former marks the parameter as an optional positional argument, while the latter is the type specification for the parameter, and {{Optional[T]}} will match either {{T}} or surprisingly {{Undef}}. See [https://puppet.com/docs/puppet/7/lang_data_undef.html] and https://puppet.atlassian.net/browse/PUP-8101?focusedCommentId=502043&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-502043\n\nSo if I have a {{wait}} function:\n{code:ruby}Puppet::Functions.create_function(:wait, Puppet::Functions::InternalFunction) do\n  dispatch :wait do\n    optional_param 'Integer[1]', :timeout\n  end\n\n  def wait(timeout = nil)\n    puts \"timeout #{timeout.inspect}\"\n  end\nend\n{code}\nThen I can omit the {{timeout}} parameter due to {{optional_param}}:\n{noformat}$ bx puppet apply -e 'wait()'     \ntimeout nil\n{noformat}\nBut passing {{nil}} as an explicit timeout parameter won't work, because it's not an instance of {{Integer}}:\n{noformat}$ bx puppet apply -e 'wait($nada)'  \nWarning: Unknown variable: 'nada'. (line: 1, column: 6)\nError: Evaluation Error: Error while evaluating a Function Call, 'wait' parameter 'timeout' expects an Integer value, got Undef (line: 1, column: 1) on node localhost\n{noformat}\nThat's a little surprising given we defaulted the function signature to {{\"timeout = nil\"}}.\n\nAs mentioned earlier, changing the function dispatch to {{Optional[Integer[1]]}} works because Optional[T] matches Undef:\n{noformat}$ bx puppet apply -e 'wait($nada)'\nWarning: Unknown variable: 'nada'. (line: 1, column: 6)\ntimeout nil\n{noformat}\nAs a module author I can imagine the current behavior is surprising. In theory, the {{optional_param}} method could automatically wrap the type specification:\n{code:ruby}    def optional_param(type, name)\n      internal_param(Puppet::Pops::Types::TypeFactory.optional(type), name)\n      @max += 1\n    end\n{code}\nThat way passing undef behaves the same as omitting the parameter. I assume double wrapping as Optional is not an issue? There might be other reasons why that'd be a bad idea...", "created": "2021-09-27T22:56:00.000000"}, {"author": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "body": "That makes total sense Josh. Should I just close this issue?", "created": "2021-10-11T16:35:00.000000"}], "components": [], "created": "2021-05-14T12:43:00.000000", "creator": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1a7ae00b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08jl0:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/May/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_3895525472_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_9653531143"}], "description": "With a custom ruby function with the following definition, passing `nil` to Timeout errors:\n{code}\nPuppet::Functions.create_function(:wait, Puppet::Functions::InternalFunction) do\n  dispatch :wait do\n    param 'Variant[Future, Array[Future]]', :futures\n    optional_param 'Integer[1]', :timeout\n    optional_param 'Hash[String[1], Any]', :options\n    return_type 'Array[Boltlib::PlanResult]'\n  end\n\n  def wait(futures, timeout = nil, options = {})\n{code}\n\nInspecting the types that Puppet expects for the function indicates that the timeout is `PIntegerType`, not optional.\n\nWith the following definition, the function has the correct signature:\n{code}\nPuppet::Functions.create_function(:wait, Puppet::Functions::InternalFunction) do\n  dispatch :wait do\n    param 'Variant[Future, Array[Future]]', :futures\n    optional_param 'Optional[Integer[1]]', :timeout\n    optional_param 'Hash[String[1], Any]', :options\n    return_type 'Array[Boltlib::PlanResult]'\n  end\n\n  def wait(futures, timeout = nil, options = {})\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24457", "fixedVersions": [], "id": "24457", "issueType": "Task", "key": "PUP-11066", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "resolution": "Won't Fix", "resolutionDate": "2021-10-18T08:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "optional_param does not set Integer to optional for custom ruby functions", "timeSpent": "PT0S", "updated": "2021-10-18T08:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The {{delayed}} property is missing the {{required_features}} part (like we do for {{mask}}). That way the property can only be set to that value if the provider supports the feature.", "created": "2021-05-14T17:43:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "The case for defaulting to {{enable => true}} would make sense to me after seeing the {{enable => mask}} behavior:\n\n{code}\n      # This only makes sense on systemd systems. Otherwise, it just defaults\n      # to disable.\n      newvalue(:mask, :event => :service_disabled, :required_features => :maskable) do\n        provider.mask\n      end\n{code}", "created": "2021-05-20T01:17:00.000000"}], "components": [], "created": "2021-05-14T07:59:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2c053ddb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08iws:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Due to missing required features, error with unwanted message was given when trying to set a service to `delayed_start` on other operating systems than Windows. This fix improves Puppet's behaviour and the error message."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/May/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_490175534_*|*_1_*:*_1_*:*_349173371_*|*_10007_*:*_1_*:*_352144810_*|*_3_*:*_1_*:*_167916838_*|*_10009_*:*_1_*:*_172330086_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_86130344"}], "description": "{code:java}\n[root@cloud ~]# puppet resource service puppet enable=delayedError: Could not set 'delayed' on enable: undefined method `delayed_start' for Service[puppet](provider=systemd):Puppet::Type::Service::ProviderSystemd\n Error: Could not set 'delayed' on enable: undefined method `delayed_start' for Service[puppet](provider=systemd):Puppet::Type::Service::ProviderSystemd\n Wrapped exception:\n undefined method `delayed_start' for Service[puppet](provider=systemd):Puppet::Type::Service::ProviderSystemd\n Error: /Service[puppet]/enable: change from 'true' to 'delayed' failed: Could not set 'delayed' on enable: undefined method `delayed_start' for Service[puppet](provider=systemd):Puppet::Type::Service::ProviderSystemd\n service\n{ 'puppet': enable => 'true', provider => 'systemd', }{code}\n\u00a0\n\nWouldn\u2019t it be nicer if\u00a0{{enable=>delayed}}\u00a0resolved to\u00a0{{enable=>true}}\u00a0on Linux? That would prevent the user from having to creating extra Puppet logic for this parameter in cross-platform scenarios. If not, the resource should at least return a proper error that\u00a0{{delayed}}\u00a0is not supported on Linux.\n\n/cc: [~accountid:557058:b0000c48-c6a4-41b8-baf9-6d9c091a181c]\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24455", "fixedVersions": ["PUP 6.23.0", "PUP 7.8.0"], "id": "24455", "issueType": "Improvement", "key": "PUP-11062", "labels": ["docs-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "resolution": "Fixed", "resolutionDate": "2021-06-02T01:24:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "better handling of enable=delayed case for a systemd service ", "timeSpent": "PT0S", "updated": "2021-06-21T13:57:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "From a Slack convo with Henrik: [https://puppetcommunity.slack.com/archives/C0W1X7ZAL/p1621341048001500]\n{quote}gabi Today at 3:30 PM\n @helindbe or whoever may have more context: I was curious if https://puppet.atlassian.net/browse/PUP-11061 was an implementation oversight or intended behavior\n{quote}\n{quote}helindbe 15 minutes ago\n The only thing that shpuld be allowed is to know the base type of the value (e.g String), but not specifics of that steing, such as the lenght or characters in it. From that it follows that comparison should not be allowed. One reason is that equality check can fail and the error message may reveal the sensitive value. However, since unwrap is available, it isn\u2019t really a hard security concern, but unwrap shifts the responsibility not to spill the secret.\n Hope this explains why it works the way it does.\n{quote}\n{quote}helindbe 11 minutes ago\n So, I consider this intended behavior, but I don\u2019t see a real problem if an equality check was to return true if sensitive values are equal and false for all other cases (including possible errors). Problem is, where do you stop, also support in selector and case and other comparisons\u2026 Probably best to keep it the way it is.\n{quote}", "created": "2021-05-18T07:10:00.000000"}, {"author": "557058:252602f6-56c9-47a2-a176-2c9c57106330", "body": "I updated the pr to test hash, so unwrap isn't involved.\n\nFor context, the case I tripped over was using bolt_spec to verify a task with a sensitive parameter. The spec runner couldn't match the expectation because it was matching the parameter hashes, and the sensitive parameter values were unequal...", "created": "2021-05-19T16:30:00.000000"}, {"author": "557058:cb7bc15e-c86d-41f5-bc56-683d06b0a7fe", "body": "My one concern here would be if a Sensitive type was compromised, either through brute force or another method, would we be increasing the attack area with this change. Could we maybe add some tests in the PR for when the values don't match to ensure we're not leaking any info?", "created": "2021-05-20T03:24:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 1a13e0cf96", "created": "2021-06-03T12:37:00.000000"}], "components": ["Type System"], "created": "2021-05-13T15:30:00.000000", "creator": "557058:252602f6-56c9-47a2-a176-2c9c57106330", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1861e3a3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08ip8:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Previously two instances of type Sensitive would not compare as equal if their underlying strings were equal. This patch changed that behavior allowing comparisons such as '$a = Sensitive(\"secret\"); $b = Sensitive(\"secret\"); notice($a == $b)' to return true."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/May/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_793786710_*|*_1_*:*_1_*:*_1010237706_*|*_10009_*:*_1_*:*_382147735_*|*_5_*:*_1_*:*_0"}], "description": "Puppet Version: 7.6.0\n\nTwo instances of lib/puppet/pops/types/p_sensitive_type.rb Sensitive with the same value are not equal. The class is just using default object id for equality.\n\n*Desired Behavior:*\n\n{code}\njpartlow@work1804:~/work/src/puppet$ puppet apply -e '$a = Sensitive(\"secret\"); $b = Sensitive(\"secret\"); notice($a == $b)'\nNotice: Scope(Class[main]): true\nNotice: Compiled catalog for work1804.platform9.puppet.net in environment production in 0.03 seconds\nNotice: Applied catalog in 0.08 seconds\n{code}\n\n*Actual Behavior:*\n\n{code}\njpartlow@work1804:~/work/src/puppet$ puppet apply -e '$a = Sensitive(\"secret\"); $b = Sensitive(\"secret\"); notice($a == $b)'\nNotice: Scope(Class[main]): false\nNotice: Compiled catalog for work1804.platform9.puppet.net in environment production in 0.03 seconds\nNotice: Applied catalog in 0.08 seconds\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27700", "fixedVersions": ["PUP 6.23.0", "PUP 7.8.0"], "id": "27700", "issueType": "Bug", "key": "PUP-11061", "labels": ["docs-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:252602f6-56c9-47a2-a176-2c9c57106330", "resolution": "Fixed", "resolutionDate": "2021-06-07T22:46:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Two Sensitive instances with the same value are not equal", "timeSpent": "PT0S", "updated": "2021-06-21T13:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1], this will get in the next release", "created": "2021-07-13T03:03:00.000000"}], "components": [], "created": "2021-05-12T02:06:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1b685839"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3747"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08hlg:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_82529277_*|*_10007_*:*_1_*:*_425379946_*|*_5_*:*_1_*:*_0_*|*_6_*:*_1_*:*_570552574_*|*_10006_*:*_1_*:*_30143075_*|*_10005_*:*_1_*:*_4948941366"}], "epicLinkSummary": "Remove Debian 8 FOSS support", "estimate": "PT0S", "externalId": "24454", "fixedVersions": ["PUP 6.24.0"], "id": "24454", "issueType": "Task", "key": "PUP-11059", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": "58462", "parentSummary": "Remove Debian 8 FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Fixed", "resolutionDate": "2021-07-21T04:45:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Public-facing Puppet docs to remove Debian 8", "timeSpent": "PT0S", "updated": "2021-07-21T04:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "Thank you for filing this issue. We agree it is likely an improvement, but due to other issues demanding precedence, we don\u2019t anticipate being able to address this any time soon. As such we are closing this as \u201cWon\u2019t Fix.\u201d We may revisit it at a later time, and if so will re-open this ticket.\n", "created": "2021-09-21T04:25:00.000000"}], "components": [], "created": "2021-05-10T07:09:00.000000", "creator": "557058:afa80a20-2814-4f2f-bbdd-ad5db4190123", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6e246f4a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08ef0:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Sep/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_1309844769_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_10257894112"}], "description": "*Puppet Version: All*\n *Puppet Server Version: All*\n *OS Name/Version: All*\n\nWhen the Puppetserver is unavailable due to high load it will return a 503 error, which the agent handles gracefully by waiting for a specified period then running again. However when run manually with detailed exitcodes, there is no way to determine the difference between a 500 error due to failed catalog compilation and a 503 due to high load.\n\n*Desired Behavior:*\u00a0A new exitcode is created for when the agent recieves a 503 from the server\n\n*Actual Behavior:*\u00a0There is no specific exitcode\n\n\u00a0\n\nAn example use case could be as part of a build process. You want the build to fail quickly if the Puppet run fails, but retry if there is too much load on the servers and detailed exit codes could be used for this.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26637", "fixedVersions": [], "id": "26637", "issueType": "Improvement", "key": "PUP-11058", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:afa80a20-2814-4f2f-bbdd-ad5db4190123", "resolution": "Won't Fix", "resolutionDate": "2021-09-21T04:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Detailed exitcode for 503s", "timeSpent": "PT0S", "updated": "2021-09-21T04:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-05-06T12:52:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@18c5771d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3735"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08dt0:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1195_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1080419501"}], "epicLinkSummary": "Remove Debian 8 Jessie (amd64, i386) FOSS support", "estimate": "PT0S", "externalId": "24451", "fixedVersions": [], "id": "24451", "issueType": "Task", "key": "PUP-11057", "labels": [], "originalEstimate": "PT0S", "parent": "58460", "parentSummary": "Remove Debian 8 Jessie (amd64, i386) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Duplicate", "resolutionDate": "2021-05-19T00:59:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Public-facing Puppet docs to remove Debian 8 Jessie (amd64, i386)", "timeSpent": "PT0S", "updated": "2021-05-19T00:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged in https://github.com/puppetlabs/puppet/commit/2f14ddd269c26cba36771d9b3464c2c29422e46a", "created": "2021-05-12T11:14:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 93c86d6dc8", "created": "2021-05-13T13:36:00.000000"}], "components": [], "created": "2021-05-04T12:38:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6475c896"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3732"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08b1o:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Converts puppet to use `require_relative` eliminating about 5000 file system calls when loading puppet. This accounts for between 5 to 15% of the total number of file system calls for different platforms."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_94902274_*|*_1_*:*_1_*:*_110209938_*|*_10007_*:*_1_*:*_500669324_*|*_3_*:*_1_*:*_75294807_*|*_5_*:*_1_*:*_0"}], "description": "Update puppet to use {{require_relative}} in cases where we know the file to load is in the same repo. This can't be used in cases where extensions may be loaded from modules, such as features, etc.\n\nThere are reports  {{require_relative}} misbehaves on some versions of JRuby https://github.com/jruby/jruby/issues/5618\n\nSo we may need to implement something like what rspec did: https://github.com/rspec/rspec-support/blob/4ad8392d0787a66f9c351d9cf6c7618e18b3d0f2/lib/rspec/support.rb#L14-L31 ", "epicLinkSummary": "Improve Ruby Perf", "estimate": "PT0S", "externalId": "24530", "fixedVersions": ["PUP 7.7.0"], "id": "24530", "issueType": "Improvement", "key": "PUP-11055", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": "56203", "parentSummary": "Improve Ruby Perf", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-05-13T13:36:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Use require_relative in puppet", "timeSpent": "PT0S", "updated": "2021-09-22T18:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I submitted a topic branch to confirm sorting Dir.glob doesn't produce undesired behavior. That said I don't think there's anything that needs fixing, as we generally *want* the result to be sorted. For posterity, the branch is https://github.com/joshcooper/puppet/tree/dir_sort ", "created": "2021-05-06T17:35:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The Dir.glob issue is described in more detail here\u00a0PUP-10115", "created": "2021-09-30T10:43:00.000000"}], "components": [], "created": "2021-05-03T13:58:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@15fef145"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10957"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08aas:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_272197249_*|*_3_*:*_1_*:*_6591_*|*_6_*:*_1_*:*_0"}], "description": "Ruby 3 changes Dir.glob to sort the results by default. We need to evaluate what the impact will be in Puppet. Most likely it's the correct behavior that we should have been doing all along.", "epicLinkSummary": "Support ruby 3 - Phase 1", "estimate": "PT0S", "externalId": "27699", "fixedVersions": [], "id": "27699", "issueType": "Task", "key": "PUP-11053", "labels": [], "originalEstimate": "PT0S", "parent": "22432", "parentSummary": "Support ruby 3 - Phase 1", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Done", "resolutionDate": "2021-05-06T17:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Evaluate/fix usages of Dir.glob for ruby 3", "timeSpent": "PT0S", "updated": "2021-09-30T10:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-05-03T12:04:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@28dbf158"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-6"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Trusted fact based lookups"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "green"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08a6c:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18850449593_*|*_6_*:*_1_*:*_0"}, {"fieldName": "productboard URL", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:url", "value": "https://puppet.productboard.com/feature-board/planning/features/8160272"}], "description": "|We encourage users to classify nodes based on trusted facts, such as what role to assign a node. However, it's not possible to simulate that when running \"puppet lookup\".|", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26636", "fixedVersions": ["PUP 7.13.0"], "id": "26636", "issueType": "Epic", "key": "PUP-11052", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Done", "resolutionDate": "2021-12-07T15:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Trusted facts lookup", "timeSpent": "PT0S", "updated": "2021-12-07T15:18:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "5f15ebae1a26ad00146831b7", "attachments": [], "comments": [{"author": "5f15ebae1a26ad00146831b7", "body": "Closing as `4.10.x` no longer taking new changes\u00a0", "created": "2021-04-30T12:12:00.000000"}], "components": [], "created": "2021-04-30T10:52:00.000000", "creator": "5f15ebae1a26ad00146831b7", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@66fa997f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Ubuntu 16.04 (amd64)"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o088oc:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3679656_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1138859"}], "description": "*Puppet Version: 4.10.12*\n *Puppet Server Version: 2.8.1*\n *OS Name/Version: Ubuntu 20.04 (Focal Fossa)*\n\nThe service_provider fact is resolved as `debian` on Ubuntu 20 and Puppet 4.10.x. This should be resolved as systemd. In more recent versions of Puppet this is resolved with the notdefaultfor function future-proofing. However for Puppet 4.10.x the versions need to be explicitly specified.\n\n*Desired Behavior:*\u00a0\n\nThe service_provider should be recognized as systemd\n\n*Actual Behavior:*\n\nThe service_provider is recognized as debian\n\n*Examples:*\n\n$ puppet --version\n 4.10.12\n\n$ facter -p | grep service_provider\n service_provider => systemd\n\n$ hostnamectl | grep \"Operating System\"\n Operating System: Ubuntu 20.04.2 LTS\n\n\u00a0\n\nA PR to fix this issue is available here:\u00a0\n\n[https://github.com/puppetlabs/puppet/pull/8593]", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22378", "fixedVersions": [], "id": "22378", "issueType": "Bug", "key": "PUP-11051", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5f15ebae1a26ad00146831b7", "resolution": "Won't Fix", "resolutionDate": "2021-04-30T12:12:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Systemd not recognized as service_provider on Ubuntu 17 +", "timeSpent": "PT0S", "updated": "2021-04-30T12:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/835546dd716d2683f371f72bc56d972d2cad0f83", "created": "2021-05-04T13:55:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 4142539019", "created": "2021-05-06T11:13:00.000000"}], "components": [], "created": "2021-04-30T06:06:00.000000", "creator": "623c100c4a57610068e74585", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6ff6f9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10957"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o088l0:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/May/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_163129756_*|*_1_*:*_1_*:*_278323571_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_95424991"}], "description": "This code no longer works in Ruby 3:\n{code:java}\nFileUtils.install(mf, omf, {:mode => 0644, :preserve => true, :verbose => true}) {code}\nThis does:\n{code:java}\n FileUtils.install(mf, omf, mode: 0644, preserve: true, verbose: true){code}", "epicLinkSummary": "Support ruby 3 - Phase 1", "estimate": "PT0S", "externalId": "25605", "fixedVersions": ["PUP 7.7.0"], "id": "25605", "issueType": "Improvement", "key": "PUP-11050", "labels": [], "originalEstimate": "PT0S", "parent": "22432", "parentSummary": "Support ruby 3 - Phase 1", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c100c4a57610068e74585", "resolution": "Fixed", "resolutionDate": "2021-05-06T11:13:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Ruby 3 doesn't accept an opts hash", "timeSpent": "PT0S", "updated": "2021-05-06T11:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/d6ca71dc40145a12c3f798cc526f5ca4e0055b3b", "created": "2021-06-11T08:44:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in ba7ba7285c", "created": "2021-06-14T11:01:00.000000"}], "components": [], "created": "2021-04-29T17:21:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4c5af85e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o088gk:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_9052329_*|*_1_*:*_1_*:*_324181267_*|*_10007_*:*_1_*:*_406569355_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3211835782"}], "description": "Some encoding related tests fail on Windows on Ruby 3 in github actions. It appears ruby changed the default external encoding on Windows to be UTF-8, instead of the one that matches the native code page, eg. {{Encoding::CP437}}:\n\n{noformat}\nRun # https://github.com/ruby/ruby/pull/2791/files#diff-ff5ff976e81bebd977f0834e60416abbR97-R100\nActive code page: 437\n\nLCID             Name             DisplayName\n----             ----             -----------\n1033             en-US            English (United States)\n...\nopenssl (default: 2.2.0)\nOpenSSL Version - OpenSSL 1.1.1k  25 Mar 2021\nOpenSSL Library Version - OpenSSL 1.1.1k  25 Mar 2021\nPATH\n  remote: .\n  specs:\n    puppet (7.7.0)\n      CFPropertyList (~> 2.2)\n      concurrent-ruby (~> 1.0)\n      deep_merge (~> 1.0)\n      facter (>= 2.4.0, < 5)\n      fast_gettext (~> 1.1)\n      ffi (> 1.9.24, < 2)\n      hiera (>= 3.2.1, < 4)\n      locale (~> 2.1)\n      minitar (~> 0.9)\n      multi_json (~> 1.13)\n      scanf (~> 1.0)\n      semantic_puppet (~> 1.0)\n      sorted_set (~> 1.0)\n\nGEM\n  remote: https://rubygems.org/\n  specs:\n    CFPropertyList (2.3.6)\n    addressable (2.7.0)\n      public_suffix (>= 2.0.2, < 5.0)\n    artifactory (2.8.2)\n    concurrent-ruby (1.1.8)\n    crack (0.4.5)\n      rexml\n    csv (3.1.5)\n    deep_merge (1.2.1)\n    diff-lcs (1.4.4)\n    docopt (0.6.1)\n    facter (2.5.7-x64-mingw32)\n      ffi (~> 1.9)\n    fast_gettext (1.8.0)\n    ffi (1.15.0-x64-mingw32)\n    hashdiff (1.0.1)\n    hiera (3.7.0)\n    hiera-eyaml (3.2.1)\n      highline\n      optimist\n    highline (2.0.3)\n    hocon (1.3.1)\n    json-schema (2.8.1)\n      addressable (>= 2.4)\n    locale (2.1.3)\n    minitar (0.9)\n    msgpack (1.4.2)\n    multi_json (1.15.0)\n    optimist (3.0.1)\n    packaging (0.99.76)\n      artifactory (~> 2)\n      csv (= 3.1.5)\n      rake (>= 12.3)\n      release-metrics\n    public_suffix (4.0.6)\n    puppet-resource_api (1.8.13)\n      hocon (>= 1.0)\n    puppetserver-ca (2.1.0)\n      facter (>= 2.0.1, < 5)\n    rake (13.0.3)\n    rbtree (0.4.4)\n    release-metrics (1.1.0)\n      csv\n      docopt\n    rexml (3.2.5)\n    rspec (3.10.0)\n      rspec-core (~> 3.10.0)\n      rspec-expectations (~> 3.10.0)\n      rspec-mocks (~> 3.10.0)\n    rspec-core (3.10.1)\n      rspec-support (~> 3.10.0)\n    rspec-expectations (3.10.1)\n      diff-lcs (>= 1.2.0, < 2.0)\n      rspec-support (~> 3.10.0)\n    rspec-its (1.3.0)\n      rspec-core (>= 3.0.0)\n      rspec-expectations (>= 3.0.0)\n    rspec-mocks (3.10.2)\n      diff-lcs (>= 1.2.0, < 2.0)\n      rspec-support (~> 3.10.0)\n    rspec-support (3.10.2)\n    ruby-prof (1.4.3-x64-mingw32)\n    scanf (1.0.0)\n    semantic_puppet (1.0.3)\n    set (1.0.1)\n    sorted_set (1.0.3)\n      rbtree\n      set (~> 1.0)\n    vcr (5.1.0)\n    webmock (3.12.2)\n      addressable (>= 2.3.6)\n      crack (>= 0.3.2)\n      hashdiff (>= 0.4.0, < 2.0.0)\n    webrick (1.7.0)\n    yard (0.9.26)\n\nPLATFORMS\n  x64-mingw32\n\nDEPENDENCIES\n  diff-lcs (~> 1.3)\n  ffi\n  gettext-setup (~> 0.28)\n  hiera-eyaml\n  hocon (~> 1.0)\n  json-schema (~> 2.0)\n  memory_profiler\n  minitar (~> 0.9)\n  msgpack (~> 1.2)\n  packaging (~> 0.99)\n  pry\n  puppet!\n  puppet-resource_api (~> 1.5)\n  puppetserver-ca (~> 2.0)\n  racc (= 1.4.9)\n  rake (~> 13.0)\n  rdoc (~> 6.0)\n  ronn (~> 0.7.3)\n  rspec (~> 3.1)\n  rspec-expectations (~> 3.9, != 3.9.3)\n  rspec-its (~> 1.1)\n  rubocop (~> 0.49)\n  rubocop-i18n (~> 1.2.0)\n  ruby-prof (>= 0.16.0)\n  semantic_puppet (~> 1.0)\n  vcr (~> 5.0)\n  webmock (~> 3.0)\n  webrick (~> 1.7)\n  yard\n\nBUNDLED WITH\n   2.2.16\nruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x64-mingw32]\n3.2.15\nBundler version 2.2.16\n...\nPuppet::Util#withenv on Windows works around Ruby bug 8822 (which fails to preserve UTF-8 properly when accessing ENV) (Ruby >= 2.3.x) \n     Failure/Error: raise 'This test requires a non-UTF8 codepage' if Encoding.default_external == Encoding::UTF_8\n     RuntimeError:\n       This test requires a non-UTF8 codepage\n     # ./spec/unit/util_spec.rb:147:in `block (3 levels) in <top (required)>'\n     # ./spec/spec_helper.rb:189:in `block (2 levels) in <top (required)>'\n     # util/rspec_runner:44:in `run'\n     # util/rspec_runner:59:in `<main>'\nFinished in 55.78 seconds (files took 3.11 seconds to load)\n\n  1) Puppet::Pops::Parser::Lexer2 when lexing files from disk should always read files as UTF-8\n     Failure/Error: raise 'This test must be run in a codepage other than 65001 to validate behavior'\n     RuntimeError:\n       This test must be run in a codepage other than 65001 to validate behavior\n     # ./spec/unit/pops/parser/lexer2_spec.rb:922:in `block (3 levels) in <top (required)>'\n     # ./spec/spec_helper.rb:189:in `block (2 levels) in <top (required)>'\n     # util/rspec_runner:44:in `run'\n     # util/rspec_runner:59:in `<main>'\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24529", "fixedVersions": ["PUP 7.9.0"], "id": "24529", "issueType": "Bug", "key": "PUP-11049", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-06-14T11:01:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Ruby 3 changes default external encoding on Windows", "timeSpent": "PT0S", "updated": "2021-06-14T11:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 39a7d66339", "created": "2021-05-12T11:21:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Running the following on Ubuntu 18.04 fails:\n\n{noformat}\n# puppet resource service asdf ensure=false enable=false\nError: /Service[asdf]: Could not evaluate: wrong number of arguments (given 5, expected 1..2)\nError: Could not run: wrong number of arguments (given 5, expected 1..2)\n{noformat}", "created": "2021-05-12T17:26:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Follow up PR merged to main and passed CI in 93c86d6dc8", "created": "2021-05-13T13:37:00.000000"}], "components": [], "created": "2021-04-29T16:57:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7c8b101c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10957"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o088fo:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Eliminates the usage of $CHILD_STATUS global variable in builtin service and package providers."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_3794386_*|*_1_*:*_1_*:*_1083925_*|*_10007_*:*_2_*:*_1171251888_*|*_5_*:*_2_*:*_21468898"}], "description": "Some of our provider tests add expectations to {{$CHILD_STATUS#exitstatus}}, but that is no longer possible in Ruby 3, because it is frozen, leading to:\n\n{noformat}\n       Cannot proxy frozen objects, rspec-mocks relies on proxies for method stubbing and expectations.\n{noformat}\n\nNow that {{Puppet::Util::Execution.execute}} returns a {{ProcessOutput}} containing the exitstatus, there is no reason to continue using {{CHILD_STATUS}}.", "epicLinkSummary": "Support ruby 3 - Phase 1", "estimate": "PT0S", "externalId": "29732", "fixedVersions": ["PUP 7.7.0"], "id": "29732", "issueType": "Bug", "key": "PUP-11048", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": "22432", "parentSummary": "Support ruby 3 - Phase 1", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-05-13T13:37:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Ruby 3 freezes CHILD_STATUS, so it can't be stubbed", "timeSpent": "PT0S", "updated": "2021-05-18T07:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in [https://github.com/puppetlabs/puppet/commit/f612975357d550de90f900b774e8dda3a8fae56e]\n\u00a0\n\nAdditional changes for sorted_set will be handled in PUP-11076", "created": "2021-06-01T13:02:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in f612975357", "created": "2021-06-01T19:45:00.000000"}], "components": [], "created": "2021-04-29T16:35:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1a523963"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11071"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o088fg:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_24091013_*|*_1_*:*_1_*:*_340452_*|*_10007_*:*_1_*:*_2838174611_*|*_5_*:*_1_*:*_0"}], "description": "Ruby 3 removed webrick and sorted set. We rely on the former in rspec tests and rely on the latter to keep track of resources during catalog application.", "epicLinkSummary": "Ruby 3 support - Phase 2", "estimate": "PT0S", "externalId": "28806", "fixedVersions": ["PUP 7.8.0"], "id": "28806", "issueType": "Bug", "key": "PUP-11047", "labels": [], "originalEstimate": "PT0S", "parent": "26641", "parentSummary": "Ruby 3 support - Phase 2", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-06-01T19:45:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Ruby 3 removed webrick", "timeSpent": "PT0S", "updated": "2021-06-01T19:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 39a7d66339", "created": "2021-05-12T11:25:00.000000"}], "components": [], "created": "2021-04-29T16:29:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@b757376"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10957"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o088ak:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Eliminated calls to URI.escape/unescape which is deprecated in Ruby 2.x and removed in Ruby 3"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_97114364_*|*_1_*:*_1_*:*_159124_*|*_10007_*:*_1_*:*_1007738955_*|*_5_*:*_1_*:*_0"}], "description": "Ruby deprecated URI.escape and unescape in 2.x and removed those methods in 3, because they rely on a deprecated URL parser (RFC2396). However, Puppet needs them to convert potentially unsafe characters, like file paths, into valid URLs.", "epicLinkSummary": "Support ruby 3 - Phase 1", "estimate": "PT0S", "externalId": "26635", "fixedVersions": ["PUP 7.7.0"], "id": "26635", "issueType": "Bug", "key": "PUP-11046", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": "22432", "parentSummary": "Support ruby 3 - Phase 1", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-05-12T11:26:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Ruby 3 removed URI.escape/unescape", "timeSpent": "PT0S", "updated": "2021-05-18T07:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 39a7d66339", "created": "2021-05-12T11:26:00.000000"}], "components": [], "created": "2021-04-29T16:16:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7a601f5e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10957"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o088ac:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_97121400_*|*_1_*:*_1_*:*_457860_*|*_10007_*:*_1_*:*_1008218911_*|*_5_*:*_1_*:*_0"}], "description": "If ruby-openssl detects the server's hostname is mismatched, it passes {{preverify_ok=false}} but sets the X509Store error to {{V_ERR_OK}}. See https://github.com/ruby/openssl/issues/244\n\nThis was fixed in https://github.com/ruby/openssl/commit/035a04ece237105ba3c91a8db8f81dc81d2dc452 and released in ruby-openssl 2.2.0 which has only been released in Ruby 3.0. As a result, the X509Store error is now correctly set to X509_V_ERR_HOSTNAME_MISMATCH (in openssl 1.1 and up) or X509_V_ERR_CERT_REJECTED. This causes puppet to raise a generic \"CertVerifyError\" exception instead of the more specific hostname mismatch error.", "epicLinkSummary": "Support ruby 3 - Phase 1", "estimate": "PT0S", "externalId": "25604", "fixedVersions": ["PUP 7.7.0"], "id": "25604", "issueType": "Bug", "key": "PUP-11045", "labels": [], "originalEstimate": "PT0S", "parent": "22432", "parentSummary": "Support ruby 3 - Phase 1", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-05-12T11:26:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Ruby 3 reports cert hostname mismatch differently", "timeSpent": "PT0S", "updated": "2021-05-12T11:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6303fcae8474ff0a80ac2ce5", "attachments": [], "comments": [], "components": [], "created": "2021-04-28T15:43:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@73eaf6d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11035"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08778:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1493_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3109035034"}], "description": "(Initial planned release date: 2021-05-25)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\nAN: Completed\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\nAN: Completed\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\nAN: Completed\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\nAN: Completed\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\nAN: Completed\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\nAN: Completed\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n\nAN: Completed", "duedate": "2021-05-26T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "estimate": "PT0S", "externalId": "25603", "fixedVersions": [], "id": "25603", "issueType": "Task", "key": "PUP-11044", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24527", "parentSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-06-03T15:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 7.7.0)", "timeSpent": "PT0S", "updated": "2021-06-03T15:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6303fcae8474ff0a80ac2ce5", "attachments": [], "comments": [], "components": [], "created": "2021-04-28T15:42:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@31f5cc59"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11035"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08770:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1313_*|*_3_*:*_1_*:*_145631973_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2964038212"}], "description": "(Initial planned release date: 2021-05-25)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\nAN: Platform release done; not sure if there is one specifically for puppet-agent\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\nAN: Platform + agent completed; versions for 7.8 components needed\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n*AN: Milestones all closed; need to check on Risks*\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n*AN: Done*\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n*AN: Done*\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n*AN: Done*\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n*AN: Done*\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n\n*AN: Done*", "epicLinkSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "estimate": "PT0S", "externalId": "24528", "fixedVersions": [], "id": "24528", "issueType": "Task", "key": "PUP-11043", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24527", "parentSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-06-03T15:30:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 7.7.0)", "timeSpent": "PT0S", "updated": "2021-06-03T15:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6323aedbed8abffd7ffdf0ce", "attachments": [], "comments": [{"author": "6323aedbed8abffd7ffdf0ce", "body": "Release Announcements: [https://docs.google.com/document/d/1U5HQXSGngwlCtQyUQ-IHGjgKwDYv5dLHaUQdgYZKRiU/edit?usp=sharing]\u00a0", "created": "2021-06-01T22:51:00.000000"}, {"author": "623cfdb51c7f6a00704a7450", "body": "Can't see the announcement in Puppet Announce or Puppet Security Announce list\n\nhttps://groups.google.com/g/puppet-announce\n[https://groups.google.com/g/puppet-security-announce]", "created": "2021-06-14T04:19:00.000000"}], "components": [], "created": "2021-04-28T15:42:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4bc1ebff"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11035"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hykdsx:02"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_1650370497_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_606864628_*|*_10005_*:*_1_*:*_706130595"}], "description": "(Initial planned release date: 2021-05-25)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 7.7.0 is now available\".\n", "duedate": "2021-06-01T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "estimate": "PT0S", "externalId": "23538", "fixedVersions": [], "id": "23538", "issueType": "Task", "key": "PUP-11042", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24527", "parentSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-06-01T22:52:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Send release announcement (Puppet Platform 7.7.0)", "timeSpent": "PT0S", "updated": "2021-06-14T04:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [], "components": [], "created": "2021-04-28T15:42:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@29e5e039"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11035"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0876c:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1500_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2971675199"}], "description": "(Initial planned release date: 2021-05-25)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2021-05-25T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "estimate": "PT0S", "externalId": "21335", "fixedVersions": [], "id": "21335", "issueType": "Task", "key": "PUP-11041", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24527", "parentSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-06-02T01:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 7.7.0)", "timeSpent": "PT0S", "updated": "2021-06-02T01:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6303fcae8474ff0a80ac2ce5", "attachments": [], "comments": [{"author": "6323aedbed8abffd7ffdf0ce", "body": "Received go's from all leads on 5/27", "created": "2021-06-01T22:58:00.000000"}], "components": [], "created": "2021-04-28T15:42:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@21321964"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11035"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08764:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1390_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2963759714"}], "description": "(Initial planned release date: 2021-05-25)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2021-05-25T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "estimate": "PT0S", "externalId": "20268", "fixedVersions": [], "id": "20268", "issueType": "Task", "key": "PUP-11040", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24527", "parentSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-06-01T22:58:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 7.7.0)", "timeSpent": "PT0S", "updated": "2021-06-01T22:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "The next release in the Puppet 7 series, Puppet 7.7.0, is now available!\n\nThe release contains new features, minor enhancements, and bug fixes including:\n * X\n * X\n * X\n\nFor the full list of changes, check out the release notes:\u00a0[https://puppet.com/docs/puppet/latest/release_notes_osp.html]", "created": "2021-05-24T04:29:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:557058:cb7bc15e-c86d-41f5-bc56-683d06b0a7fe] [~accountid:5abd613dd4cf3c56be24b70d]\u00a0[~accountid:557058:613151bd-b161-4bc3-9e32-335fdcef4d89] [~accountid:557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c] Please add any changes that you want to call out to the highlights email above.\n\nPuppet 7.7.0 release notes: [https://puppet-docs-preview.netlify.app/docs/puppet/latest-preview/release_notes_puppet.html#release_notes_puppet_7-7-0]\n\nServer 7.2.0 release notes: [https://puppet-docs-preview.netlify.app/docs/puppet/latest-preview/server/release_notes.html#puppet-server-720]\n\nFacter 4.2.0 release notes: [https://puppet-docs-preview.netlify.app/docs/puppet/latest-preview/release_notes_facter.html#release_notes_facter_4-2-0]\n\nUsername: puppet Password: fork.left.extra", "created": "2021-05-24T04:31:00.000000"}, {"author": "6323aedbed8abffd7ffdf0ce", "body": "Sent 6/1\n\nThe next release in the Puppet 7 series, Puppet\u00a0 7.7.0, is now available!\n\nThe release contains bug fixes and minor enhancements including:\n * Enhancements:\n\n * Puppet loads internal files using the require_relative method\n\n * Case sensitive parameter for the fqdn_rand() function\n\n * File limit with the max_files parameter\n\n * Improved Ruby performance\n\n * Added agent support for macOS Big Sur (11) and RedHat 8 on IBM Power\n\n\n * Resolution of the following issues:\u00a0\n\n * Ruby 3 freezes CHILD_STATUS and cannot be stubbed\n\n * Agent failures with server_list\n\n * Puppet does not specify SELinux filetype when getting the default context\n\n * Unable to mask a static systemd service\n\n * Unable to update UserRightAssignment\n\n * PUPPET_SERVER MSI install property does not work\n\nFor the full list of changes, check out the release notes: [https://puppet.com/docs/puppet/latest/release_notes_osp.html]", "created": "2021-06-01T22:57:00.000000"}], "components": [], "created": "2021-04-28T15:42:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1217a626"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11035"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0875o:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/May/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1277_*|*_10009_*:*_1_*:*_757569375_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2206148107"}], "description": "(Initial planned release date: 2021-05-25)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2021-05-24T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "estimate": "PT0S", "externalId": "28760", "fixedVersions": [], "id": "28760", "issueType": "Task", "key": "PUP-11039", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24527", "parentSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-06-01T22:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare release announcement (Puppet Platform 7.7.0)", "timeSpent": "PT0S", "updated": "2021-06-01T22:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:5abd613dd4cf3c56be24b70d] [~accountid:557058:cb7bc15e-c86d-41f5-bc56-683d06b0a7fe]\u00a0release notes draft is ready for review:\u00a0[https://docs.google.com/document/d/1jttwqo-uQwIt3yFQYsa7hs_SwFp-SZls_tSATgD9AvM/edit?usp=sharing]\n\nThanks!", "created": "2021-05-20T08:06:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Puppet 7.7.0 release notes:\u00a0[https://puppet-docs-preview.netlify.app/docs/puppet/latest-preview/release_notes_puppet.html#release_notes_puppet_7-7-0]\n\nUsername: puppet Password: fork.left.extra", "created": "2021-05-24T04:32:00.000000"}], "components": [], "created": "2021-04-28T15:42:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6ec4fded"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11035"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0875g:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/May/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1645_*|*_10009_*:*_1_*:*_332686805_*|*_5_*:*_2_*:*_24387_*|*_10005_*:*_1_*:*_1873461941"}], "description": "(Initial planned release date: 2021-05-25)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2021-05-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "estimate": "PT0S", "externalId": "27697", "fixedVersions": [], "id": "27697", "issueType": "Task", "key": "PUP-11038", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24527", "parentSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-05-24T04:32:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 7.7.0)", "timeSpent": "PT0S", "updated": "2021-05-24T04:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6303fcae8474ff0a80ac2ce5", "attachments": [], "comments": [], "components": [], "created": "2021-04-28T15:42:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@41cd5564"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11035"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08758:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1501_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2257728441"}], "description": "(Initial planned release date: 2021-05-25)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2021-05-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "estimate": "PT0S", "externalId": "26634", "fixedVersions": [], "id": "26634", "issueType": "Task", "key": "PUP-11037", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24527", "parentSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-05-24T18:51:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 7.7.0)", "timeSpent": "PT0S", "updated": "2021-05-24T18:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6303fcae8474ff0a80ac2ce5", "attachments": [], "comments": [{"author": "6323aedbed8abffd7ffdf0ce", "body": "# Done\n # Done\n # Waiting for Meeting w/ Pintu\n # *Puppet Platform 7.7.0:* [https://puppet.atlassian.net/issues/?filter=35032]\u00a0\n # Waiting for Meeting w/ Pintu\n # Waiting for Meeting w/ Pintu", "created": "2021-05-24T18:50:00.000000"}], "components": [], "created": "2021-04-28T15:42:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@495bacbe"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11035"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08750:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/May/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1433_*|*_3_*:*_2_*:*_774697142_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2251873287"}], "description": "(Initial planned release date: 2021-05-25)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\nAN: Completed\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\nAN: Completed\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\nAN: Completed\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\nAN: Completed\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 7.7.0 and puppet-agent 7.7.0 to reference the \u201cFixed in\u201d filters created above.\n\nAN: Completed\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n\nAN: Completed", "duedate": "2021-05-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "estimate": "PT0S", "externalId": "25602", "fixedVersions": [], "id": "25602", "issueType": "Task", "key": "PUP-11036", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24527", "parentSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-06-02T16:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 7.7.0)", "timeSpent": "PT0S", "updated": "2021-06-02T16:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6303fcae8474ff0a80ac2ce5", "attachments": [], "comments": [], "components": [], "created": "2021-04-28T15:42:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4608963d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-14"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 7.7.0 Release - 2021-06-01"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_orange"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0874s:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1189651546_*|*_6_*:*_1_*:*_0_*|*_10015_*:*_1_*:*_1068172337_*|*_10014_*:*_1_*:*_851907660"}], "description": "Puppet Platform 7.7.0 Release - 2021-06-01", "duedate": "2021-05-25T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24527", "fixedVersions": [], "id": "24527", "issueType": "Epic", "key": "PUP-11035", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-06-03T15:31:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Platform 7.7.0 Release - 2021-06-01", "timeSpent": "PT0S", "updated": "2021-08-23T10:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "6243b7b74fe01d006ba5c73e", "body": "Workaround:\n{code:java}\n      exec { \"systemctl mask -- ${service}\":\n        path   => ['/usr/bin/', '/sbin', '/bin'],\n        unless => \"systemctl status -- ${service} | grep -q masked\",\n      } {code}", "created": "2021-04-28T14:01:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/807671f0f0b424b0c7ee4e9465f362578eb1ed2c", "created": "2021-05-17T07:32:00.000000"}], "components": [], "created": "2021-04-28T13:55:00.000000", "creator": "6243b7b74fe01d006ba5c73e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@43a98eac"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08738:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fix a bug where the systemd provider would refuse to mask static systemd services. Fix contributed by community member nmaludy."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/May/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1784807723_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 7.6.1*\n *Puppet Server Version: N/A*\n *OS Name/Version: CentOS 8.3*\n\nI'm trying to translate the following command into Puppet:\n{code:java}systemctl stop systemd-coredump.socket\nsystemctl mask systemd-coredump.socket{code}\nThe Puppet code i've written to do this is:\n{code:java}service { 'systemd-coredump.socket':\n   ensure => 'stopped',\n   enable => 'mask',\n}{code}\n*Desired Behavior:*\n\nI would expect the service to be stopped and masked.\n\n*Actual Behavior:*\n\nThe service is a 'static' service on the system and is resulting in a debug log being printed:\n{code:java}debug - Puppet - Executing: '/bin/systemctl is-enabled -- systemd-coredump.socket'debug - Puppet - Unable to enable or disable static service systemd-coredump.socket\n{code}\nRunning the systemctl commands manually, works just fine.\n\nDoing a little digging, i found the following code:\n [https://github.com/puppetlabs/puppet/blob/main/lib/puppet/provider/service/systemd.rb#L42-L56]\n\nThe comment in the block is accurate, however a little misleading because 'static' services are allowed to be 'masked'.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26633", "fixedVersions": ["PUP 6.23.0", "PUP 7.7.0"], "id": "26633", "issueType": "Bug", "key": "PUP-11034", "labels": ["community", "doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6243b7b74fe01d006ba5c73e", "resolution": "Fixed", "resolutionDate": "2021-05-19T05:42:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Unable to 'mask' a 'static' systemd service", "timeSpent": "PT0S", "updated": "2021-05-19T06:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "6243affffd5e450070435046", "body": "A Jira search shows more than 450 open bugs of Normal severity combining the pup, pa, server, enterprise projects.", "created": "2021-04-28T15:16:00.000000"}, {"author": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "body": "Hi Otheus. We are going to close this ticket right now and encourage you to file actionable tickets about specific behaviours and problems that you've identified. I understand that you're frustrated, but do remember that there are human beings on both sides of the ticket here. If you haven't seen our [code of conduct|https://pup.pt/conduct], I'll ask you to familiarize yourself with that now, especially the _\"Be nice\"_ and _\"Focus on constructive criticisms\"_ points.\n\nWe value your feedback and community participation. And no unit test in the world will ever catch something like the directory sort hiera documentation bug [you validated so extensively|https://puppet.atlassian.net/browse/PUP-10115?focusedCommentId=799066&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-799066]. By necessity, we rely on sharp-eyed users like yourself to point these things out. But please do keep your comments constructive and adopt a kinder tone.\n\nOn a different note, if you're interested, the work you did on PUP-10115 almost looks like the start of a blog post. Let me know if you'd like to collaborate on something. (I'm @binford2k on [Slack|https://slack.puppet.com/])", "created": "2021-04-30T11:50:00.000000"}, {"author": "6243affffd5e450070435046", "body": "[~accountid:557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b]\u00a0 You should know that your unconstructive post and actions kept me from trying to contribute to this project for 14+ months. While you made an _attempt_ to {_}sound nice{_}, your words and actions _effectively_ took on the roll of the classical (ie, Tolkienesque) version of a Troll: someone who stands at the mouth of a bridge with a cudgel, threatening to ban anyone who attempts to cross for not being \"nice\" in your interpretation or providing criticism that is sufficiently non-negative.\u00a0\n\nI refrained from responding earlier in hopes that I could somehow phrase this in a non-confrontational way.\u00a0 But I suspect that is part of the game you are trying to induce us to play: \"be nice\" and non-confrontational or get out. It's a way of keeping the dev community from seeing that their emperor has no clothes. As for me, I lack the natural skill to respond to such childishness in a timely fashion and in a way that is actually constructive.\n\nI can say this now with more confidence because, (1) after a year it is absolutely clear that I *was* providing constructive criticism, and as for being \"nice\", well, more on that below.\u00a0 And because (2) Puppet is a dying product whose marketplace is necessary shriveling under a host of factors that cannot be addressed here. I cannot say with confidence that anything would change if the devs were to follow my advice given above. It might, however, give me (and therefore others) more confidence that moving forward, the time investment in learning puppet would pay off.\u00a0 I should also note that my advice isn't limited to this particular project.\n\nAs to one particular point you made:\n\n> And no unit test in the world will ever catch something like the directory sort hiera documentation bug\n\nThat is of course nonsense. Any unit test for this feature would eventually fail as soon as someone edited one of the cases.\u00a0\n\nAbout tone....\n\n> please do keep your comments constructive and adopt a kinder tone.\n\nThe fact that you had to mention this suggests to me that you incorrectly confound both \"non-constructive\" with \"negative\" and \"kind\" with \"non-negative\". In every sense of the phrase, my criticisms were {_}constructive{_}.\n * I explained the context in which it was written.\n * I did not blame or shame individuals.\n * I did not focus on specific mistakes.\n * I offered several specific suggestions for improvements.\n\nA \"kinder tone\" is not appropriate for the context. This is a _story board_ commendation, which explains how users expect to use the software in a broad sense. I am expressing what users _demand._\u00a0Developer feelings should have no role.\n\nNor is \"kindness\" implied by the code. The code regrettably applies the word \"nice\", one of the worst words in the English language for its vagueness and ambiguity. The word \"nice\" over the centuries has lost any real meaning", "created": "2022-06-06T08:39:00.000000"}], "components": [], "created": "2021-04-28T13:14:00.000000", "creator": "6243affffd5e450070435046", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@678669b0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o086z8:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Apr/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_167766669_*|*_6_*:*_1_*:*_0"}], "description": "Aim for quality not features and development speed. System Admins have too much to do than to try to upgrade, test, and redeploy central systems such as puppet. They need stable, reliable software which relies either on non-disruptive component-upgrades. While puppet 3 had its share of shortcomings, from what I've seen, puppet 6 has even more shortcomings despite the marginal benefits. Before releasing any new version, ensure that the software test coverage approaches 100%, that all open bugs of \"Normal\" or higher have been addressed. If a bug has a dependency on another OSS project, go fix it or replicate the code and fix it locally.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28759", "fixedVersions": [], "id": "28759", "issueType": "Story", "key": "PUP-11033", "labels": ["community"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6243affffd5e450070435046", "resolution": "Won't Fix", "resolutionDate": "2021-04-30T11:50:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Fix bugs, not create new features", "timeSpent": "PT0S", "updated": "2022-06-06T08:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5e3375e183d74c0e821851f3", "body": "Please consider SERVER-2298 for this epic. It's tough to diagnose a duplicate file name that causes irregular plugin sync behavior and catalog compilations.", "created": "2021-12-16T08:47:00.000000"}], "components": [], "created": "2021-04-28T12:34:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Coremunity"}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6c94dc60"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-12"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Pluginsync Improvements"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "grey"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o086xg:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Dec/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_47175335998_*|*_6_*:*_1_*:*_0"}], "description": "This epic contains work to make pluginsync more efficient and sync more things (primarily puppet types) to the agent.\n\nPluginsync naively downloads individual files, which doesn't scale as the number of files increases. Each file content request competes for JRuby instances affecting compilation. In addition, data types and type aliases are not downloaded to the agent, which is barrier to adopting deferred functions.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20264", "fixedVersions": [], "id": "20264", "issueType": "Epic", "key": "PUP-11032", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2022-10-26T12:49:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Pluginsync Improvements", "timeSpent": "PT0S", "updated": "2022-10-26T12:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1], this will get in the next release", "created": "2021-07-13T03:03:00.000000"}], "components": [], "created": "2021-04-27T23:47:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@58aa068f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3706"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk409:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2340_*|*_10007_*:*_1_*:*_430844653_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_6844620713_*|*_10005_*:*_1_*:*_6116"}], "description": "Update Public-facing Puppet docs to include this platform\n", "epicLinkSummary": "Add Debian 11 Bullseye amd64 FOSS support", "estimate": "PT0S", "externalId": "23537", "fixedVersions": ["PUP 6.24.0", "PUP 7.9.0"], "id": "23537", "issueType": "Task", "key": "PUP-11030", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": "59784", "parentSummary": "Add Debian 11 Bullseye amd64 FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Fixed", "resolutionDate": "2021-07-21T04:45:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Update Public-facing Puppet docs to include Debian 11 Bullseye amd64", "timeSpent": "PT0S", "updated": "2021-09-07T02:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "h2. pip 21.1 (2021-04-24) -\n * Bring back the \u201c(from versions: \u2026)\u201d message, that was shown on resolution failures. ([#9139|https://github.com/pypa/pip/issues/9139])\n\n--use-deprecated=legacy-resolver for versions <\u00a021.1 > 20.3", "created": "2021-06-23T02:16:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/c3f845857752efa10904362cf96ec3b56227d74a and passed CI in 985d18ce2f", "created": "2021-07-07T17:22:00.000000"}], "components": [], "created": "2021-04-16T11:08:00.000000", "creator": "623c0d2401f8660070b6fbb5", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@149ecb5e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-8958"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08xzs:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Starting with version 20.3b1, `pip` removed ability to list available versions of a package. This fix adds the `--use-deprecated=legacy-resolver` argument when querying available versions of a package with affected versions of `pip`."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_129354295_*|*_1_*:*_2_*:*_5173292254_*|*_10007_*:*_1_*:*_101231002_*|*_3_*:*_1_*:*_424721767_*|*_10009_*:*_1_*:*_56986142_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_49633_*|*_10005_*:*_1_*:*_1278589397"}], "description": "*Puppet Version: 6.21.1*\n *Puppet Server Version: 6.15.1*\n *OS Name/Version: Ubuntu 18.04 and MacOS 10.15*\n\n*Desired Behavior:*\n\nA package is installed:\n\n{code:puppet}\npackage { 'my_package':\n\u00a0 ensure => latest,\n\u00a0 provider => 'pip3',\n\u00a0 install_options => [ '--extra-index-url', 'http://artifactory.mydomain.com:8081/artifactory/api/pypi/pypi-virtual/simple',\n'--trusted-host', 'artifactory.mydomain.com' ],\n}\n{code}\n\nNormal behavior is that puppet keeps this package updated to latest.\n\n*Actual Behavior:*\n\n\nThis fails. I believe the failure is due to a change in the output of pip when ==versionplease is used:\n\nlooks like a change in behavior after pip20.2.4 (so 20.3 and 21). Previously if you sent a weird version (like my_package==versionplease) you would get a result like this:\n\n{code}\nLooking in indexes:\u00a0[https://pypi.org/simple],\u00a0[http://artifactory.mydomain.com:8081/artifactory/api/pypi/pypi-virtual/simple|http://artifactory.arxan.com:8081/artifactory/api/pypi/pypi-virtual/simple]\nERROR: Could not find a version that satisfies the requirement my_package==versionplease (from versions: 2.33.6, 2.33.8, 2.33.9, 2.33.112, 2.34.7, 2.34.113, 2.34.114, 2.34.115, 2.35.116, 2.35.117, 2.35.118, 2.35.119, 2.35.120, 2.35.121, 2.35.122, 2.35.123, 2.35.124, 3.0.1, 3.0.2, 3.0.3, 3.0.4, 3.0.5, 3.0.6, 3.0.7, 3.0.8, 3.0.9, 3.0.125, 3.0.126, 3.0.127, 3.0.128, 3.0.129, 3.0.130, 3.0.131, 3.0.132, 3.0.138, 3.0.139, 3.0.143, 3.0.146, 3.0.147, 3.0.148, 3.0.149, 3.0.153, 3.0.154, 3.0.156, 3.0.157, 3.0.159, 3.0.160, 3.0.161, 3.0.162, 3.0.163, 3.0.164, 3.0.165, 3.0.166, 3.0.167, 3.0.168, 3.0.169, 3.0.170, 3.0.171, 3.0.172, 3.1.10, 3.1.11, 3.1.12, 3.1.13, 3.1.17, 3.1.20, 3.1.21, 3.1.22, 3.1.23, 3.1.24, 3.2.25, 3.2.26, 3.2.27, 3.2.28, 3.2.35, 3.2.36, 3.2.37, 3.2.38, 3.2.39, 3.2.40, 3.2.41, 3.2.42, 3.2.43, 3.2.44, 3.2.45, 3.2.46, 3.2.47, 3.2.48, 3.2.49, 3.2.50, 3.2.51, 3.2.52, 3.2.53, 3.2.56, 3.2.59, 3.2.64, 3.2.65, 3.2.66, 3.2.74, 3.2.75, 3.2.83, 3.2.87, 3.2.88, 3.2.89, 3.2.90, 3.2.92, 3.2.94, 3.2.97, 3.2.99, 3.2.102, 3.2.104, 3.2.116, 3.2.118, 3.2.119, 3.2.121, 3.2.123, 3.2.125, 3.2.127, 3.2.131, 3.2.136, 3.2.138, 3.2.159, 3.2.163, 4.0.168, 4.0.170, 4.0.171, 4.0.173, 4.0.175, 4.0.176, 4.0.177, 4.0.178, 4.0.179, 4.0.182, 4.0.183, 4.0.187, 4.0.189, 4.0.190, 4.0.191, 4.0.192, 4.0.193, 4.0.196, 4.0.197, 4.0.198, 4.0.199, 4.0.203, 4.0.226, 4.0.228, 4.0.230, 4.0.234, 4.0.235, 4.0.236, 4.0.237, 4.0.239, 4.0.240, 4.0.242, 4.0.243, 4.0.244, 4.0.245, 4.0.246, 4.0.248, 4.0.276, 4.0.277, 4.0.278, 4.0.279, 4.0.280, 4.0.281, 4.0.282, 4.0.299, 4.0.300, 4.0.309, 4.0.315, 4.0.316, 4.0.319, 4.0.328, 4.0.329, 4.0.333, 4.0.334, 5.335, 6.0.13, 6.0.14, 6.0.15, 6.0.16, 6.0.19, 6.0.20, 6.0.22, 6.0.336, 6.0.337, 6.0.338, 6.0.340, 6.0.351, 6.0.352, 6.0.353, 6.0.355, 6.0.357, 6.0.362, 6.0.363, 6.0.366, 6.0.368, 6.0.369, 6.0.370, 6.0.374, 6.1.27, 6.1.28, 6.1.29, 6.1.30, 6.1.31, 6.1.33, 6.1.34, 6.1.35, 6.1.37, 7.0.48, 7.0.49, 7.0.50, 7.0.51, 7.0.54, 7.0.55, 7.0.56, 7.0.58, 7.0.59, 7.0.62, 7.0.64, 7.0.65, 7.0.66, 7.0.67, 7.0.68, 7.0.70, 7.0.73, 7.0.74, 7.0.76, 7.0.78, 7.0.81, 7.0.82, 7.0.84, 7.0.85, 7.0.86, 7.0.88, 7.0.89, 7.0.91, 7.0.93, 7.0.96, 7.0.97, 7.0.98, 7.0.99, 7.0.105, 7.0.106)\nERROR: No matching distribution found for my_package==versionplease\n{code}\n\nAfter 20.3 you get this:\n{code}\nLooking in indexes:\u00a0[https://pypi.org/simple],\u00a0[http://artifactory.my_domain.com:8081/artifactory/api/pypi/pypi-virtual/simple|http://artifactory.arxan.com:8081/artifactory/api/pypi/pypi-virtual/simple]\nERROR: Could not find a version that satisfies the requirement my_package==versionplease\nERROR: No matching distribution found for my_package==versionplease\n{code}\n\nSo puppet's parsing to figure out if it needs to install a new version to satisfy 'ensure => latest' doesn't work. This is using puppet 6.21.1. Backing down to pip==20.2.4 gets everything working again.", "epicLinkSummary": "Pip Package Improvements", "estimate": "PT0S", "externalId": "23535", "fixedVersions": ["PUP 6.24.0", "PUP 7.9.0"], "id": "23535", "issueType": "Bug", "key": "PUP-11029", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": "23151", "parentSummary": "Pip Package Improvements", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0d2401f8660070b6fbb5", "resolution": "Fixed", "resolutionDate": "2021-07-08T09:12:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "pip ensure=>latest fails with pip>=20.3.0", "timeSpent": "PT0S", "updated": "2021-07-13T06:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-04-16T04:04:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3434ad9e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07wws:"}], "description": "{code:java}\n[root@sauterne-strip ~]# rpm -qa puppet-agent\npuppet-agent-6.22.0-1.el7.x86_64\n[root@sauterne-strip ~]# puppet facts diff\n{\n  \"disks.sda.type\": {\n    \"new_value\": \"hdd\",\n    \"old_value\": null\n  },\n  \"disks.sr0.type\": {\n    \"new_value\": \"hdd\",\n    \"old_value\": null\n  },\n  \"hypervisors.vmware.version\": {\n    \"new_value\": \"ESXi 6.7\",\n    \"old_value\": \"\"\n  },\n  \"lsbdistrelease\": {\n    \"new_value\": \"7.2.1511\",\n    \"old_value\": null\n  },\n  \"lsbmajdistrelease\": {\n    \"new_value\": \"7\",\n    \"old_value\": null\n  },\n  \"lsbminordistrelease\": {\n    \"new_value\": \"2\",\n    \"old_value\": null\n  },\n  \"networking.interfaces.ens160.bindings6.0.scope6\": {\n    \"new_value\": \"link\",\n    \"old_value\": null\n  },\n  \"networking.interfaces.lo.bindings6.0.scope6\": {\n    \"new_value\": \"host\",\n    \"old_value\": null\n  },\n  \"os.distro.codename\": {\n    \"new_value\": \"Core\",\n    \"old_value\": null\n  },\n  \"os.distro.description\": {\n    \"new_value\": \"CentOS Linux release 7.2.1511 (Core)\",\n    \"old_value\": null\n  },\n  \"os.distro.id\": {\n    \"new_value\": \"CentOS\",\n    \"old_value\": null\n  },\n  \"os.distro.release.full\": {\n    \"new_value\": \"7.2.1511\",\n    \"old_value\": null\n  },\n  \"os.distro.release.major\": {\n    \"new_value\": \"7\",\n    \"old_value\": null\n  },\n  \"os.distro.release.minor\": {\n    \"new_value\": \"2\",\n    \"old_value\": null\n  }\n}\n[root@sauterne-strip ~]# puppet facts diff --exclude \"\"\n{\n}\n\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24526", "fixedVersions": [], "id": "24526", "issueType": "Task", "key": "PUP-11028", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "`puppet facts diff` shows no difference if `--exclude` parameter is empty string", "timeSpent": "PT0S", "updated": "2021-06-15T02:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I'm not aware of anything in the pluginsync logic that could cause lenses to be written to somewhere other than {{Puppet[:libdir]}} directory. We recently had some issues with the augeas_core module, relating to updating the load path used to find augeas lenses (MODULES-7397 or MODULES-10950), maybe related? What version of puppet-agent and puppetlabs-augeas_core module are you using?", "created": "2021-04-15T09:54:00.000000"}, {"author": "557058:cb7bc15e-c86d-41f5-bc56-683d06b0a7fe", "body": "Hi [~accountid:557058:e0340dee-9d48-48c3-8c6a-02597af847c9],\n\nThis ticket has been open for a couple of months, and we would really value your input to prioritize this work. Are you still seeing this issue?\n\nMany thanks.", "created": "2021-06-16T07:08:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Puppet only pluginsyncs augeas lenses to {{/opt/puppetlabs/puppet/cache/lib/augeas/lenses}} It sounds like you might be using packages built by someone else? In any case, I'm going to close this. Please reopen if you can reproduce using a more recent version of puppet-agent and using augeas_core 1.1.2 (which had a fix for the regression in MODULES-10950)", "created": "2021-09-13T22:54:00.000000"}], "components": ["Modules"], "created": "2021-04-15T08:17:00.000000", "creator": "557058:e0340dee-9d48-48c3-8c6a-02597af847c9", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5e40ec98"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07w44:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Apr/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5270135710_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_7828928768"}], "description": "*Puppet Version: All*\n *Puppet Server Version: All*\n *OS Name/Version: All*\n\nIt looks like augeas lenses that are filesync'd over to target nodes are placed into the default augeas path of /usr/share/augeas/lenses.\n\nUnfortunately, it doesn't seem to make them readable by all users which means that regular users may have augtool fail if the lens is not made world readable somehow.\n\n*Desired Behavior:*\n\nI would like Puppet sync'd lenses to be placed into a puppet-specific location and have the internal Augeas libraries use that path first so that system libraries are not altered.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28758", "fixedVersions": [], "id": "28758", "issueType": "Bug", "key": "PUP-11027", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:e0340dee-9d48-48c3-8c6a-02597af847c9", "resolution": "Cannot Reproduce", "resolutionDate": "2021-09-13T22:54:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Filesync'd Augeas lenses should not overwrite system lenses", "timeSpent": "PT0S", "updated": "2021-09-13T22:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [], "components": [], "created": "2021-04-15T07:19:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3ce60461"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3612"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08eew:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "This fix ensures the `AuthenticationAuthority` field exists when creating a new user with Puppet on macOS Big Sur."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_516833321_*|*_1_*:*_1_*:*_1105544655_*|*_10007_*:*_1_*:*_579667373_*|*_3_*:*_1_*:*_618226238_*|*_10009_*:*_1_*:*_171922557_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1133262824"}], "description": "Similar changes done for osx 10.15: https://github.com/puppetlabs/puppet/commit/688779d43c770598ca72c83e14b555f342252150", "epicLinkSummary": "Add OSX 11 Big Sur FOSS support", "estimate": "PT0S", "externalId": "22374", "fixedVersions": ["PUP 6.23.0", "PUP 7.8.0"], "id": "22374", "issueType": "Bug", "key": "PUP-11026", "labels": ["docs-reviewed"], "originalEstimate": "PT0S", "parent": "56184", "parentSummary": "Add OSX 11 Big Sur FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "resolution": "Fixed", "resolutionDate": "2021-06-02T01:17:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "puppet cannot set/change password of a user resource on Big Sur", "timeSpent": "PT0S", "updated": "2022-02-23T19:44:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-04-15T06:07:00.000000", "creator": "602cd85ac0b285006f4f1dc7", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2d2f0407"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07w2k:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2862082133_*|*_5_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21318", "fixedVersions": ["PUP 6.23.0", "PUP 7.7.0"], "id": "21318", "issueType": "Task", "key": "PUP-11025", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "602cd85ac0b285006f4f1dc7", "resolution": "Fixed", "resolutionDate": "2021-05-18T09:08:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Add OSX11 Big Sur support ", "timeSpent": "PT0S", "updated": "2021-06-10T01:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-04-14T01:20:00.000000", "creator": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5934ec3a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07u5g:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "This release fixes an issue where using the dnfmodule provider to install a module with no default profile without passing the `enable_only` parameter would fail with newer versions of DNF."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_85392139_*|*_1_*:*_1_*:*_889092_*|*_5_*:*_1_*:*_0"}], "description": "*OS Name/Version:* CentOS/RedHat 8\n\nWhen we added the enable functionality to the dnfmodule provider, we made the following statement: DNF modules that have no default profile (and cannot be installed) will be enabled by default, so there is no need to add {{enable_only}}.\n\nHowever this does not work anymore with the latest versions of DNF (at least 4.2.23).\n Attempting to apply a resource like the following will fail, requiring the user to also add enable_only:\n{code}package { '389-ds': ensure => present, provider => dnfmodule }\n{code}\n*Desired Behavior:*\n\nPuppet should enable the module\n\n*Actual Behavior:*\n\nExecution fails and an error message is raised", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26632", "fixedVersions": ["PUP 6.22.0", "PUP 7.6.0"], "id": "26632", "issueType": "Bug", "key": "PUP-11024", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "resolution": "Fixed", "resolutionDate": "2021-04-15T01:18:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Cannot ensure dnfmodule with no default profile", "timeSpent": "PT0S", "updated": "2021-04-23T12:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/4c93f0a7cfd88cb9529570537fd83d8148be6ba6", "created": "2021-10-12T16:41:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 8b4331b9f5", "created": "2021-10-20T13:21:00.000000"}], "components": [], "created": "2021-04-13T18:46:00.000000", "creator": "6220db6259c0740069d86127", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Affects Build", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "PE 2019.8.5"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2c4b2a27"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master Config", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Monolithic"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "CentOS 7"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07u4k:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The names \"apply\" and \"plan\" can now be used as resource parameter names in all cases. Previously, using them within an apply() block in a plan would fail."}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "43878"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Oct/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_679183025_*|*_1_*:*_1_*:*_15113974875_*|*_10007_*:*_1_*:*_603376704_*|*_5_*:*_1_*:*_0"}], "description": "When using apply function in a Bolt as well as Puppet plan, it conflicts with a resource type that is having\u00a0*apply* as an attribute.\u00a0\n\nWays to reproduce:\n\nFinding a module *augeasproviders_sysctl* who has a resource type *sysctl*\u00a0that has *apply* as an attribute.\n\nPlans with the following content will fail:\n{code:java}plan plans::test (\n  TargetSpec $targets = \"localhost\"\n) {\n#  out::message(\"Hello from plans::test\")\n#  $command_result = run_command('whoami', $targets)$targets.apply_prep$apply_results = apply($targets)\n{\n$shmmax_size = 184467440\n      \nsysctl{ 'kernel.shmmax':\n        apply => false,\n        ensure => present,\n        value => $shmmax_size,\n      }\n}\n}{code}\nWith errors:\n{code:java}Syntax error at 'apply' (file: /root/boltProjects/43878/plans/plans/test.pp, line: 21, column: 8){code}\nIf we comment out the `apply` line within the resource type, it is working without an error.\n\nHowever, directly running\u00a0*bolt apply* _doesn't_\u00a0trigger the issue.\n{code:java}root@puppetmom manifests]# cat server.pp\n$shmmax_size = 184467440\nsysctl{ 'kernel.shmmax':\nensure => present,\napply => false,\nvalue => $shmmax_size,\n}\n\n[root@puppetmom manifests]# bolt apply server.pp --targets localhost\nStarting: install puppet and gather facts on localhost\nFinished: install puppet and gather facts with 0 failures in 12.94 sec\nStarting: apply catalog on localhost\nStarted on localhost...\nFinished on localhost:\n  Notice: /Stage[main]/Main/Sysctl[kernel.shmmax]/value: changed configuration value from '' to '184467440'\n  changed: 1, failed: 0, unchanged: 0 skipped: 0, noop: 0\nFinished: apply catalog with 0 failures in 15.31 sec\nSuccessful on 1 node: localhost\nRan on 1 node in 28.41 sec\n\n[root@puppetmom manifests]# cat /etc/sysctl.conf\n# sysctl settings are defined through files in\n# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.\n#\n# Vendors settings live in /usr/lib/sysctl.d/.\n# To override a whole file, create a new file with the same in\n# /etc/sysctl.d/ and put new settings there. To override\n# only specific settings, add a file with a lexically later\n# name in /etc/sysctl.d/ and put new settings there.\n#\n# For more information, see sysctl.conf(5) and sysctl.d(5).\nkernel.shmmax = 184467440 {code}\nIt looks like the inline function apply within a plan is conflicting with the keyword\u00a0*apply* in a manifest.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22373", "fixedVersions": ["PUP 6.26.0", "PUP 7.13.0"], "id": "22373", "issueType": "Bug", "key": "PUP-11315", "labels": ["docs_reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6220db6259c0740069d86127", "resolution": "Fixed", "resolutionDate": "2021-10-20T13:21:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Plans apply function collides with resource types that have apply attribute", "timeSpent": "PT0S", "updated": "2021-12-07T21:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Adding this to the module dependency resolution epic PUP-11215.", "created": "2021-11-10T11:45:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:623c0da5bef8a60068c797d5] looking at this more closely, the error message was added in PUP-9176. So we now detect that installing the windows firewall module is not possible because it depends on a version of registry (1.1.1 <= x < 4.0.0), but version 4.0 of the registry module is already installed. I think that is pretty clear in the error message:\n\n{noformat}\nThe requested version cannot satisfy one or more of the following installed modules:\n    puppetlabs-registry, installed: 4.0.0, expected: >= 1.1.1 < 4.0.0\n{noformat}\n\nWhat were you hoping puppet said or did differently?", "created": "2021-11-10T12:02:00.000000"}, {"author": "623c0da5bef8a60068c797d5", "body": "Hi [~accountid:63d40628f6e1b543161789a7], admittedly I don't quite remember now what my issue was in this case. I am in agreeance that the error output is sufficient in determining the dependency problem. As such, I will close this ticket.", "created": "2021-11-10T12:47:00.000000"}], "components": [], "created": "2021-04-13T09:55:00.000000", "creator": "623c0da5bef8a60068c797d5", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@480a387e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11215"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0cars:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Nov/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18241615872_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_2715655"}], "description": "Running Puppet 6.21.1 with Puppet Server 6.15.1\n\nExample to reproduce issue:\n\n// Install puppetlabs-stdlib 6.6.0 and puppetlabs-registry 4.0.0\npuppet module install puppetlabs-stdlib --version 6.6.0 --force\npuppet module install puppetlabs-registry --version 4.0.0 --force\n\n// Attempt to install puppet-windows_firewall latest\npuppet module install puppet-windows_firewall --version 4.0.0\n\u00a0\n\nAfter attempting to install puppet-windows_firewall the terminal outputs this error:\n\nError: Could not install module 'puppet-windows_firewall' (v4.0.0)\n The requested version cannot satisfy one or more of the following installed modules:\n puppetlabs-registry, installed: 4.0.0, expected: >= 1.1.1 < 4.0.0 Use `puppet module install 'puppet-windows_firewall' --ignore-dependencies` to install only this module\n\n\u00a0\n\nThe problem is that it is complaining about the wrong dependency - it should be complaining that puppetlabs-registry is not < 4.0.0 as indicated in the dependency requirements. The error output is not clear to the end user which dependency is actually a problem, requiring them to have to go to Forge to look it up.\n\n\u00a0", "epicLinkSummary": "Fix puppet module/semantic_puppet dependencies handling ", "estimate": "PT0S", "externalId": "22371", "fixedVersions": [], "id": "22371", "issueType": "Bug", "key": "PUP-11333", "labels": [], "originalEstimate": "PT0S", "parent": "24553", "parentSummary": "Fix puppet module/semantic_puppet dependencies handling ", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0da5bef8a60068c797d5", "resolution": "Declined", "resolutionDate": "2021-11-10T12:47:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet server gives error about incorrect dependency", "timeSpent": "PT0S", "updated": "2021-11-10T12:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "Hey\u00a0[~accountid:70121:4596f954-1fdf-472f-a700-6b7c2ffbc525], can you add a comment clarifying what information is needed, or if it is not literally information needed, what next steps / conditions / events the ticket is now waiting on? Thanks!", "created": "2021-06-15T12:22:00.000000"}, {"author": "557058:cb7bc15e-c86d-41f5-bc56-683d06b0a7fe", "body": "We're looking to prioritize this work and will be tracking additional input from the wider customer base and community on Productboard: [https://puppet.com/puppet-idea-portal/]. [~accountid:557058:97578a32-3955-4c5c-939e-58a878437b49]\u00a0it would be good to get some time to discuss this in more depth, I'll try and find some time in your calendar for next week.", "created": "2021-06-21T09:49:00.000000"}], "components": [], "created": "2021-04-07T11:57:00.000000", "creator": "557058:97578a32-3955-4c5c-939e-58a878437b49", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@dcf2407"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07qec:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Jun/21"}, {"fieldName": "productboard URL", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:url", "value": "https://puppet.productboard.com/feature-board/planning/features/11142283"}], "description": "The Forge module [trlinkin-noop|https://forge.puppet.com/modules/trlinkin/noop]\u00a0has been used heavily by customers for years. However, it is extremely finicky to use due to a bit of a hack of an implementation. This makes it difficult to base higher-level use cases on. See\u00a0[reidmv-change_risk|https://forge.puppet.com/modules/reidmv/change_risk], which provides some customers with an ability to better control when Puppet is permitted to enforce certain kinds of changes on systems, while continuously enforcing other configuration.\n\nWe should provide an in-product {{noop()}} function which can be called directly, affecting class scope, or with a block, affecting that block's scope.\n\nThese implementations should be more predictable and less brittle than the trlinkin-noop module's implementation. *They should work at least as reliably and predictably as tags.*\u00a0\n\nThe behavior with regards to propagation relating to\u00a0{{include()}}\u00a0is the thing most important to make better compared to trlinkin-noop.\u00a0\n{code:java}class example1 {\n  noop()\n\n  notify { 'I am no-op': }\n} {code}\n{code:java}class example2 {\n  noop() || { \n    notify { 'I am no-op': }\n  }\n\n  notify { 'I am op': }\n}{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24523", "fixedVersions": [], "id": "24523", "issueType": "New Feature", "key": "PUP-11023", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:97578a32-3955-4c5c-939e-58a878437b49", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Make trlinkin-noop a fully supported feature", "timeSpent": "PT0S", "updated": "2022-10-05T22:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This affects 6.x too, so I targeted the fix there.", "created": "2021-04-13T15:25:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed puppet#6a2b997499", "created": "2021-04-15T09:47:00.000000"}], "components": [], "created": "2021-04-06T13:32:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "specs pass"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7a36fa25"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07ovo:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Apr/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_59434514_*|*_1_*:*_1_*:*_601006605_*|*_10007_*:*_1_*:*_93089450_*|*_3_*:*_1_*:*_10581410_*|*_5_*:*_1_*:*_0"}], "description": "Running the Puppet specs using {{bundle exec rspec spec}} or {{bundle exec rake spec}} consistently produces these failures: https://gist.github.com/pcarlisle/42b9792d2f1d997d24c7f6736bfb8473. We can reproduce this in both a mac and a linux environment.\n\nWhen those files are run individually or when using the {{parallel_spec}} rake task, nothing fails. So it would appear there's some kind of order dependent issue that's not getting picked up by Travis, which uses {{parallel_spec}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26631", "fixedVersions": ["PUP 6.23.0", "PUP 7.6.0"], "id": "26631", "issueType": "Bug", "key": "PUP-11022", "labels": ["tech-debt"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2021-04-15T09:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Running `bundle exec rake/rspec spec` has failures on main branch", "timeSpent": "PT0S", "updated": "2021-06-10T01:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-04-06T13:31:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "specs pass"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@785b0a2c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0cbfc:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18866445630_*|*_6_*:*_1_*:*_0"}], "description": "Running the Puppet specs using {{bundle exec rspec spec}} or {{bundle exec rake spec}} consistently produces these failures: https://gist.github.com/pcarlisle/42b9792d2f1d997d24c7f6736bfb8473. We can reproduce this in both a mac and a linux environment.\n\nWhen those files are run individually or when using the {{parallel_spec}} rake task, nothing fails. So it would appear there's some kind of order dependent issue that's not getting picked up by Travis, which uses {{parallel_spec}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25599", "fixedVersions": [], "id": "25599", "issueType": "Bug", "key": "PUP-11021", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Duplicate", "resolutionDate": "2021-11-10T21:12:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Running `rspec spec` has failures on main branch", "timeSpent": "PT0S", "updated": "2021-11-10T21:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-04-06T13:31:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@11150afa"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0cbfk:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18866407646_*|*_6_*:*_1_*:*_0"}], "description": "Running the Puppet specs using {{bundle exec rspec spec}} or {{bundle exec rake spec}} consistently produces these failures: https://gist.github.com/pcarlisle/42b9792d2f1d997d24c7f6736bfb8473. We can reproduce this in both a mac and a linux environment.\n\nWhen those files are run individually or when using the {{parallel_spec}} rake task, nothing fails. So it would appear there's some kind of order dependent issue that's not getting picked up by Travis, which uses {{parallel_spec}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24522", "fixedVersions": [], "id": "24522", "issueType": "Bug", "key": "PUP-11020", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Duplicate", "resolutionDate": "2021-11-10T21:11:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Running `rspec spec` has failures on main branch", "timeSpent": "PT0S", "updated": "2021-11-10T21:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-04-06T13:31:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2462821d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0cbfs:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18866389951_*|*_6_*:*_1_*:*_0"}], "description": "Running the Puppet specs using {{bundle exec rspec spec}} or {{bundle exec rake spec}} consistently produces these failures: https://gist.github.com/pcarlisle/42b9792d2f1d997d24c7f6736bfb8473. We can reproduce this in both a mac and a linux environment.\n\nWhen those files are run individually or when using the {{parallel_spec}} rake task, nothing fails. So it would appear there's some kind of order dependent issue that's not getting picked up by Travis, which uses {{parallel_spec}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23533", "fixedVersions": [], "id": "23533", "issueType": "Bug", "key": "PUP-11019", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Duplicate", "resolutionDate": "2021-11-10T21:11:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Running `rspec spec` has failures on main branch", "timeSpent": "PT0S", "updated": "2021-11-10T21:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-04-06T13:31:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5ce0ca58"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0cbg0:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18866375840_*|*_6_*:*_1_*:*_0"}], "description": "Running the Puppet specs using {{bundle exec rspec spec}} or {{bundle exec rake spec}} consistently produces these failures: https://gist.github.com/pcarlisle/42b9792d2f1d997d24c7f6736bfb8473. We can reproduce this in both a mac and a linux environment.\n\nWhen those files are run individually or when using the {{parallel_spec}} rake task, nothing fails. So it would appear there's some kind of order dependent issue that's not getting picked up by Travis, which uses {{parallel_spec}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22488", "fixedVersions": [], "id": "22488", "issueType": "Bug", "key": "PUP-11018", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Duplicate", "resolutionDate": "2021-11-10T21:10:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Running `rspec spec` has failures on main branch", "timeSpent": "PT0S", "updated": "2021-11-10T21:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-04-06T13:30:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@20856930"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0cbg8:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18866382711_*|*_6_*:*_1_*:*_0"}], "description": "Running the Puppet specs using {{bundle exec rspec spec}} or {{bundle exec rake spec}} consistently produces these failures: https://gist.github.com/pcarlisle/42b9792d2f1d997d24c7f6736bfb8473. We can reproduce this in both a mac and a linux environment.\n\nWhen those files are run individually or when using the {{parallel_spec}} rake task, nothing fails. So it would appear there's some kind of order dependent issue that's not getting picked up by Travis, which uses {{parallel_spec}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21315", "fixedVersions": [], "id": "21315", "issueType": "Bug", "key": "PUP-11017", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Duplicate", "resolutionDate": "2021-11-10T21:10:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Running `rake/rspec spec` has failures on main branch", "timeSpent": "PT0S", "updated": "2021-11-10T21:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I'm not able to reproduce this using current main on linux. I believe were some order dependent test failures in main that I fixed in bfa259c71a39e2e9aae37b582a167799194534de and guarding an environment from being reloaded (previously if the environment was reloaded while it was in use, then we lost the module translations). I'm going to close, but please reopen if it's still an issue.", "created": "2021-11-10T21:30:00.000000"}], "components": [], "created": "2021-04-06T13:30:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4f7a31ef"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0cbgg:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Nov/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_18867558546_*|*_6_*:*_2_*:*_24153"}], "description": "Running the Puppet specs using {{bundle exec rspec spec}} or {{bundle exec rake spec}} consistently produces these failures: https://gist.github.com/pcarlisle/42b9792d2f1d997d24c7f6736bfb8473. We can reproduce this in both a mac and a linux environment.\n\nWhen those files are run individually or when using the {{parallel_spec}} rake task, nothing fails. So it would appear there's some kind of order dependent issue that's not getting picked up by Travis, which uses {{parallel_spec}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20256", "fixedVersions": [], "id": "20256", "issueType": "Bug", "key": "PUP-11016", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Cannot Reproduce", "resolutionDate": "2021-11-10T21:30:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Running `rake/rspec spec` has failures on main branch", "timeSpent": "PT0S", "updated": "2021-11-10T21:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-04-06T07:13:00.000000", "creator": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@15928b0f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "CentOS 7"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0cbgo:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18754550101_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.21.1*\n *Puppet Server Version:*\n *OS Name/Version: CentOS8*\n\n\u00a0\n\nThe augeas lens for the MongoDB 4.4.x will fail, because MongoDB has changed the file name to /etc/mongod.conf", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26660", "fixedVersions": [], "id": "26660", "issueType": "Bug", "key": "PUP-11014", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "resolution": "Duplicate", "resolutionDate": "2021-11-09T07:49:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Auges lens for MongoDB fails", "timeSpent": "PT0S", "updated": "2021-11-09T07:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-04-06T07:12:00.000000", "creator": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1ed5bd0c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "CentOS 7"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0cbgw:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18754589124_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.21.1*\n *Puppet Server Version:*\n *OS Name/Version: CentOS8*\n\n\u00a0\n\nThe augeas lens for the MongoDB 4.4.x will fail, because MongoDB has changed the file name to /etc/mongod.conf", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25598", "fixedVersions": [], "id": "25598", "issueType": "Bug", "key": "PUP-11013", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "resolution": "Duplicate", "resolutionDate": "2021-11-09T07:49:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Auges lens for MongoDB fails", "timeSpent": "PT0S", "updated": "2021-11-09T07:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-04-06T07:12:00.000000", "creator": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@79786eab"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "CentOS 7"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0cbh4:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18754623578_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.21.1*\n *Puppet Server Version:*\n *OS Name/Version: CentOS8*\n\n\u00a0\n\nThe augeas lens for the MongoDB 4.4.x will fail, because MongoDB has changed the file name to /etc/mongod.conf\n so:\n /opt/puppetlabs/puppet/bin/augtool print /files/etc/mongod.conf\n fails, but:\n /opt/puppetlabs/puppet/bin/augtool -A\n augtool> set /augeas/load/MongoDBServer/lens MongoDBServer.lns\n augtool> set /augeas/load/MongoDBServer/incl /etc/mongod.conf\n augtool> print\n will work", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24521", "fixedVersions": [], "id": "24521", "issueType": "Bug", "key": "PUP-11012", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "resolution": "Duplicate", "resolutionDate": "2021-11-09T07:49:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Auges lens for MongoDB fails", "timeSpent": "PT0S", "updated": "2021-11-09T07:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Language"], "created": "2021-04-06T07:11:00.000000", "creator": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7531b960"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "CentOS 7"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0cbhc:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18754733624_*|*_6_*:*_1_*:*_0"}], "description": "The augeas lens for the MongoDB 4.4.x will fail, because MongoDB has changed the file name to /etc/mongod.conf\nso:\n /opt/puppetlabs/puppet/bin/augtool print /files/etc/mongod.conf\n fails, but:\n /opt/puppetlabs/puppet/bin/augtool -A\n augtool> set /augeas/load/MongoDBServer/lens MongoDBServer.lns\n augtool> set /augeas/load/MongoDBServer/incl /etc/mongod.conf\n augtool> print\n will work", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23532", "fixedVersions": [], "id": "23532", "issueType": "Bug", "key": "PUP-11011", "labels": ["augeas"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "resolution": "Duplicate", "resolutionDate": "2021-11-09T07:50:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Auges lens for MongoDB fails", "timeSpent": "PT0S", "updated": "2021-11-09T07:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Language"], "created": "2021-04-06T07:10:00.000000", "creator": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@206b9e56"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0cbhk:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18754784281_*|*_6_*:*_1_*:*_0"}], "description": "The augeas lens for the MongoDB 4.4.x will fail, because MongoDB has changed the file name to /etc/mongod.conf\nso:\n /opt/puppetlabs/puppet/bin/augtool print /files/etc/mongod.conf\n fails, but:\n /opt/puppetlabs/puppet/bin/augtool -A\n augtool> set /augeas/load/MongoDBServer/lens MongoDBServer.lns\n augtool> set /augeas/load/MongoDBServer/incl /etc/mongod.conf\n augtool> print\n will work", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22487", "fixedVersions": [], "id": "22487", "issueType": "Bug", "key": "PUP-11010", "labels": ["augeas"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "resolution": "Duplicate", "resolutionDate": "2021-11-09T07:50:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Auges lens for MongoDB fails", "timeSpent": "PT0S", "updated": "2021-11-09T07:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Language"], "created": "2021-04-06T07:09:00.000000", "creator": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@239d4f29"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0cbhs:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18754844014_*|*_6_*:*_1_*:*_0"}], "description": "The augeas lens for the MongoDB 4.4.x will fail, because MongoDB has changed the file name to /etc/mongod.conf\n\nso:\n /opt/puppetlabs/puppet/bin/augtool print /files/etc/mongod.conf\n fails, but:\n /opt/puppetlabs/puppet/bin/augtool -A\n augtool> set /augeas/load/MongoDBServer/lens MongoDBServer.lns\n augtool> set /augeas/load/MongoDBServer/incl /etc/mongod.conf\n augtool> print\n will work", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21313", "fixedVersions": [], "id": "21313", "issueType": "Bug", "key": "PUP-11009", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "resolution": "Duplicate", "resolutionDate": "2021-11-09T07:50:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Auges lens for MongoDB fails", "timeSpent": "PT0S", "updated": "2021-11-09T07:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-04-06T07:08:00.000000", "creator": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@b5e5e92"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0cbi0:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18754953312_*|*_6_*:*_1_*:*_0"}], "description": "The augeas lens for the MongoDB 4.4.x will fail, because MongoDB has changed the file name to /etc/mongod.conf\n\nso:\n/opt/puppetlabs/puppet/bin/augtool print /files/etc/mongod.conf\nfails, but:\n/opt/puppetlabs/puppet/bin/augtool -A\naugtool> set /augeas/load/MongoDBServer/lens MongoDBServer.lns\naugtool> set /augeas/load/MongoDBServer/incl /etc/mongod.conf\naugtool> print\nwill work", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20329", "fixedVersions": [], "id": "20329", "issueType": "Bug", "key": "PUP-11008", "labels": ["augeas"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "resolution": "Duplicate", "resolutionDate": "2021-11-09T07:51:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Auges lens for MongoDB fails", "timeSpent": "PT0S", "updated": "2021-11-09T07:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-04-06T07:08:00.000000", "creator": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5ddcfb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0cbi8:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18754975812_*|*_6_*:*_1_*:*_0"}], "description": "The augeas lens for the MongoDB 4.4.x will fail, because MongoDB has changed the file name to /etc/mongod.conf\n\nso:\n/opt/puppetlabs/puppet/bin/augtool print /files/etc/mongod.conf\nfails, but:\n/opt/puppetlabs/puppet/bin/augtool -A\naugtool> set /augeas/load/MongoDBServer/lens MongoDBServer.lns\naugtool> set /augeas/load/MongoDBServer/incl /etc/mongod.conf\naugtool> print\nwill work", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29730", "fixedVersions": [], "id": "29730", "issueType": "Bug", "key": "PUP-11007", "labels": ["augeas"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "resolution": "Duplicate", "resolutionDate": "2021-11-09T07:51:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Auges lens for MongoDB fails", "timeSpent": "PT0S", "updated": "2021-11-09T07:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-04-06T07:07:00.000000", "creator": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@24ff9445"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0cbig:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18755064163_*|*_6_*:*_1_*:*_0"}], "description": "The augeas lens for the MongoDB 4.4.x will fail, because MongoDB has changed the file name to /etc/mongod.conf\n\nso\n{code:java}\n\n{code}\n*/opt/puppetlabs/puppet/bin/augtool print /files/etc/mongod.conf*\u00a0\n{code:java}\n {code}\nfails.\n but\n{code:java}\n/opt/puppetlabs/puppet/bin/augtool -A\naugtool> set /augeas/load/MongoDBServer/lens MongoDBServer.lns\naugtool> set /augeas/load/MongoDBServer/incl /etc/mongod.conf\naugtool> print {code}\nwill work", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28757", "fixedVersions": [], "id": "28757", "issueType": "Bug", "key": "PUP-11006", "labels": ["augeas"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "resolution": "Duplicate", "resolutionDate": "2021-11-09T07:51:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Auges lens for MongoDB fails", "timeSpent": "PT0S", "updated": "2021-11-09T07:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Puppet 6.25.x ships the lenses included in augeas 1.12.0. You'll need to get this fixed upstream (https://github.com/hercules-team/augeas/issues) and then we can pull in a newer version. Putting in Needs Information until that's completed and a new version released.", "created": "2021-11-10T21:23:00.000000"}, {"author": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "body": "I have found this report on upstream:\n\nhttps://github.com/hercules-team/augeas/issues/765", "created": "2022-06-21T23:10:00.000000"}], "components": [], "created": "2021-04-06T07:05:00.000000", "creator": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@36b0ec77"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0cbio:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Nov/21"}], "description": "The augeas lens for the MongoDB 4.4.x will fail, because MongoDB has changed the file name to /etc/mongod.conf\n\nso\n{code}/opt/puppetlabs/puppet/bin/augtool print /files/etc/mongod.conf{code}\nfails.\n but\n{code}/opt/puppetlabs/puppet/bin/augtool -A\naugtool> set /augeas/load/MongoDBServer/lens MongoDBServer.lns\naugtool> set /augeas/load/MongoDBServer/incl /etc/mongod.conf\naugtool> print{code}\nwill work", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27696", "fixedVersions": [], "id": "27696", "issueType": "Bug", "key": "PUP-11005", "labels": ["augeas"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Auges lens for MongoDB fails", "timeSpent": "PT0S", "updated": "2022-06-21T23:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2021-04-05T11:28:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1f96951f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07np8:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet will now report the right value for the `cadir` setting after migrating the CA."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_80312254_*|*_1_*:*_1_*:*_368323_*|*_10007_*:*_1_*:*_86998421_*|*_3_*:*_1_*:*_3914434_*|*_5_*:*_1_*:*_0"}], "description": "In Puppet 7, we added [logic|https://github.com/puppetlabs/puppet/blob/main/lib/puppet/defaults.rb#L35-L49] to Puppet's settings defaults to detect whether the CA dir was in the old (SSL dir) location or in the new migrated location. We need to backport this detection logic to 6.x, with the default case reversed: we want to only return the new location if the dir already exists there, indicating that the CA dir has been migrated, and return the SSL dir location otherwise.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22486", "fixedVersions": ["PUP 6.22.0", "PUP 7.6.0"], "id": "22486", "issueType": "Task", "key": "PUP-11004", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2021-04-07T11:08:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Backport logic to detect migrated CA dir location", "timeSpent": "PT0S", "updated": "2021-04-23T12:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:b615c748-86b1-4b11-84a1-4b4d064637fe", "created": "2021-04-05T10:40:00.000000", "name": "PUP-11003.file_server.patch", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11714"}], "comments": [{"author": "557058:b615c748-86b1-4b11-84a1-4b4d064637fe", "body": "Appropriate fix is either to fix further up in the stack, or modify the puppet repository's\u00a0{{lib/puppet/http/service/file_server.rb}} , amending the following functions:\n * get_file_content()\n * get_static_file_content()\n * get_file_metadata()\n * get_file_metadatas()\n\nThe add_puppet_headers() calls would be adjusted from:\n\n{{headers = add_puppet_headers('Accept' => 'application/octet-stream')}}\n\nto:\n\n{{headers = add_puppet_headers(\\{'Accept' => 'application/octet-stream', 'Strict-Transport-Security' => 'max-age=31536000", "created": "2021-04-05T10:36:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Hi [~accountid:557058:b615c748-86b1-4b11-84a1-4b4d064637fe], thank you for taking the time to make a contribution to puppet! The issue of HSTS comes up from time to time, because scanners like Nessus flag puppetserver's port 8140. For example, see https://www.reddit.com/r/Puppet/comments/l7vrrf/puppet_security_scan_findings_for_hsts_on_8140/.\n\nHowever, my understanding is that the header should only be included in web server responses to protect against MITM attacks in cases where a browser connects to an HTTP URL and the server redirects to HTTPS. Since browsers don't connect to puppetserver and puppet agents always connect via HTTPS, this doesn't seem necessary.\n\nA second issue is the code in {{lib/puppet/http}} is used by the *agent* to make HTTP client requests. The server-side HTTP handling is contained in the https://github.com/puppetlabs/puppetserver repo. So if wanted to add something to puppetserver responses, it would need to be done there.\n\nThanks again for taking the time to submit a pull request!", "created": "2021-04-05T13:25:00.000000"}], "components": ["Networking"], "created": "2021-04-05T10:32:00.000000", "creator": "557058:b615c748-86b1-4b11-84a1-4b4d064637fe", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@56bb7ce6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "RHEL 7 (x86_64)"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07nnw:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Apr/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_10463254_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:* 5.5.8\n *Puppet Server Version:*\u00a05.3.6\n *OS Name/Version:*\u00a0Linux (RHEL7)\n\nFor FedRAMP certification for use in a FedRAMP environment, the server needs to conform to the\u00a0HTTP Strict Transport Security (HSTS) web server policy. This configuration is not present in the current code base.\n\n*Desired Behavior:*\n\nShould produce a {{Strict-Security}} header like so:\n\n{{Strict-Security: max-age=31536000; includeSubDomains;}}\n\n*Actual Behavior:*\n\nNo {{Strict-Security}} header is present in server responses.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25597", "fixedVersions": [], "id": "25597", "issueType": "Improvement", "key": "PUP-11003", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:b615c748-86b1-4b11-84a1-4b4d064637fe", "resolution": "Won't Do", "resolutionDate": "2021-04-05T13:27:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "HSTS support for puppet server", "timeSpent": "PT0S", "updated": "2021-04-06T11:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5ade3a9f91bc312e6a4a30f3", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/a5411f21f8398be85b5b20a8b99bab13267d063e", "created": "2021-04-19T12:59:00.000000"}, {"author": "5ade3a9f91bc312e6a4a30f3", "body": "[~accountid:5ade3a9f91bc312e6a4a30f3]\u00a0Will add release note", "created": "2021-05-19T18:36:00.000000"}, {"author": "5ade3a9f91bc312e6a4a30f3", "body": "Actually, I just realized this is private API. I just updated the RN field to \"not needed\"", "created": "2021-05-20T09:40:00.000000"}], "components": [], "created": "2021-03-31T17:39:00.000000", "creator": "5ade3a9f91bc312e6a4a30f3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5433fc1f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0733b:w"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Apr/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_79565048_*|*_1_*:*_1_*:*_511079261_*|*_10007_*:*_1_*:*_525527683_*|*_3_*:*_1_*:*_497892498_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_90308740"}], "description": "The ace-server is currently using a deprecated REST patterns in an indirector implementation to request catalogs from the v4 catalog endpoint. Expose a method for making post requests to the v4 catalog endpoint in {{Puppet::HTTP::Service::Compiler}}.\nThis should have (more-or-less) the same considerations (e.g. logging, testing, etc.) as the corresponding v3 method.\n\n\nI have spiked this out in\u00a0https://github.com/puppetlabs/puppet/pull/8556", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23531", "fixedVersions": ["PUP 6.23.0", "PUP 7.7.0"], "id": "23531", "issueType": "Task", "key": "PUP-11002", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5ade3a9f91bc312e6a4a30f3", "resolution": "Fixed", "resolutionDate": "2021-04-20T11:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Expose v4 catalog endpoint for {{Puppet::HTTP::Service::Compiler}}", "timeSpent": "PT0S", "updated": "2021-05-20T09:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Need to also handle the case where the installed module depends on a module with versions that don't exist anymore, [https://forge.puppet.com/modules/joshbeard/websphere] which depends on\u00a0 [https://forge.puppet.com/modules/joshbeard/ibm_installation_manager]\n\n\u00a0", "created": "2021-04-08T05:52:00.000000"}], "components": [], "created": "2021-03-31T09:02:00.000000", "creator": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4a3417a5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11215"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06u7j:i"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}], "description": "*Puppet Version:* 7.3.0\n\nIn PUP-9176 we included unmet dependencies in the output of {{puppet module install}}. We handled two cases:\n - when the new module depends on an already installed module and its version is not satisfiable\n e.g. puppetlabs-stdlib *6.6.0* is installed, and the user wants to install puppetlabs-puppet_authorization version *0.4.0*, which depends on stdlib *\"< 5.0.0\"*\n - when the dependency graph is broken prior to installing the new module (we only handled this partially)\n e.g.\n{code}    1. Install a module with fixed upper dependencies:\n    > puppet module install --target-dir tmpdir trepasi-debnet -v 1.5.1\n    This version has puppetlabs-stdlib bound to `>= 3.2.0 < 5.0.0`\n    \n    2. Forcibly remove the `stdlib` module\n    > rm -rf tmpdir/stdlib\n    \n    3. Attempt to install a version of stdlib that breaks the above-stated\n       dependency\n    > puppet module install --target-dir tmpdir puppetlabs-stdlib -v \"> 5\"\n{code}\n\nTurns out there's another case. Suppose {{puppet module list}} returns the following:\n{code}Warning: Module 'puppetlabs-stdlib' (v6.6.0) fails to meet some dependencies:\n  'jaxxstorm-teleport' (v0.1.0) requires 'puppetlabs-stdlib' (>=3.2.0 <5.0.0)\n/home/gabi/.puppetlabs/etc/code/environments/production/modules\n\u251c\u2500\u2500 jaxxstorm-teleport (v0.1.0)\n\u2514\u2500\u2500 puppetlabs-stdlib (v6.6.0)  invalid\n{code}\nTrying to install something like puppetlabs-concat version 7.0.1 would fail with the following:\n{code}Error: Could not install module 'puppetlabs-concat' (v7.0.1)\n  The requested version cannot satisfy one or more of the following installed modules:\n    puppetlabs-stdlib, installed: 6.6.0, expected: >= 4.13.1 < 8.0.0\n\n  Use `puppet module install 'puppetlabs-concat' --ignore-dependencies` to install only this module\n{code}\nNote the wrong error message, since 6.6.0 does satisfy the >= 4.13.1 < 8.0.0 range.\n\nWe need to find a way to also handle this case. Maybe we can rely on how {{puppet module list}} generates the list of unmet dependencies.", "epicLinkSummary": "Fix puppet module/semantic_puppet dependencies handling ", "estimate": "PT0S", "externalId": "24520", "fixedVersions": [], "id": "24520", "issueType": "Improvement", "key": "PUP-11001", "labels": ["community"], "originalEstimate": "PT0S", "parent": "24553", "parentSummary": "Fix puppet module/semantic_puppet dependencies handling ", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "puppet module install shows invalid message if existing modules are broken", "timeSpent": "PT0S", "updated": "2022-06-21T11:03:00.000000", "votes": "2", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in d90dc27490", "created": "2021-04-02T16:26:00.000000"}], "components": [], "created": "2021-03-31T05:27:00.000000", "creator": "623a47454a57610068e6762d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3febd2f9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Community Contributors", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "gcampbell12"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "CentOS 7"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Inspection"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07k8k:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fixes a race condition that could cause an agent to become disabled and no longer enforce desired state.\n\nThis was a community contribution from https://github.com/gcampbell12"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Apr/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_103867692_*|*_1_*:*_1_*:*_3134873_*|*_10009_*:*_1_*:*_105357608_*|*_5_*:*_1_*:*_0"}], "description": "*Puppet Version: Affects all versions*\n *Puppet Server Version:*\n *OS Name/Version: CentOS 7*\n\nThis is essentially the same issue as seen in a an old PR which was lost over the years -\u00a0[https://github.com/puppetlabs/puppet/pull/1158]\u00a0where rapid or parallel puppet runs can cause an already existing {{agent_disabled_lockfile}}\u00a0to get truncated\u00a0\n\n*Desired Behavior:*\n\nI do not believe puppet actually needs to be creating a resource for this file, the {{agent_catalog_run_lockfile}}\u00a0has a setting type of {{string}}\u00a0for this reason ([https://github.com/puppetlabs/puppet/blob/main/lib/puppet/defaults.rb#L1669]) I'd like to apply the same setting type to {{agent_disabled_lockfile}}\n\n*Actual Behavior:*\n\nExamples:\n {{puppet agent --test --trace --debug --logdest /root/puppet-debug.log}}\n\nLockfile being created (grep agent_disabled puppet-debug.log):\n\nNote: {{File[/opt/puppetlabs/puppet/cache/state/agent_disabled.lock]/ensure (debug): created}}\n{code:java}2021-03-31 10:49:33 +0000 Puppet (debug): Using settings: adding file resource 'agent_disabled_lockfile': 'File[/opt/puppetlabs/puppet/cache/state/agent_disabled.lock]{:path=>\"/opt/puppetlabs/puppet/cache/state/agent_disabled.lock\", :ensure=>:file, :loglevel=>:debug, :links=>:follow, :backup=>false}'\n2021-03-31 10:49:34 +0000 /File[/opt/puppetlabs/puppet/cache/state/agent_disabled.lock]/seluser (debug): Found seluser default 'system_u' for /opt/puppetlabs/puppet/cache/state/agent_disabled.lock\n2021-03-31 10:49:34 +0000 /File[/opt/puppetlabs/puppet/cache/state/agent_disabled.lock]/selrole (debug): Found selrole default 'object_r' for /opt/puppetlabs/puppet/cache/state/agent_disabled.lock\n2021-03-31 10:49:34 +0000 /File[/opt/puppetlabs/puppet/cache/state/agent_disabled.lock]/seltype (debug): Found seltype default 'usr_t' for /opt/puppetlabs/puppet/cache/state/agent_disabled.lock\n2021-03-31 10:49:34 +0000 /File[/opt/puppetlabs/puppet/cache/state/agent_disabled.lock]/selrange (debug): Found selrange default 's0' for /opt/puppetlabs/puppet/cache/state/agent_disabled.lock\n2021-03-31 10:49:34 +0000 /File[/opt/puppetlabs/puppet/cache/state/agent_disabled.lock] (debug): Adding autorequire relationship with File[/opt/puppetlabs/puppet/cache/state]\n2021-03-31 10:49:34 +0000 /File[/opt/puppetlabs/puppet/cache/state/agent_disabled.lock]/ensure (debug): created\n{code}\n\u00a0Strace from guilty\u00a0{{puppet agent --test}}\n{code:java}428070 10:49:34.313537 open(\"/opt/puppetlabs/puppet/cache/state/agent_disabled.lock\", O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 18</opt/puppetlabs/puppet/cache/state/agent_disabled.lock> <0.000076>\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23530", "fixedVersions": ["PUP 6.22.0", "PUP 7.6.0"], "id": "23530", "issueType": "Bug", "key": "PUP-11000", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "High (migrated)", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a47454a57610068e6762d", "resolution": "Fixed", "resolutionDate": "2021-04-02T16:27:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Race condition with agent_disabled_lockfile", "timeSpent": "PT0S", "updated": "2021-04-23T12:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Merged to 6.x in [https://github.com/puppetlabs/puppet/commit/c7072d5f3cbddf1f4f969e51ca59dbc05bb0ac73,] and to main in [https://github.com/puppetlabs/puppet/commit/ebdc4a0c5d78b562b763ae9c9cd12158ad61716b]", "created": "2021-05-19T05:37:00.000000"}], "components": [], "created": "2021-03-29T08:58:00.000000", "creator": "6220db9494f7e20069fe964a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@39541076"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07idw:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Validation and munging of `logonaccount` and `logonpassword` parameters, for the `service` resource on Windows, were previously failing too early. This fix moves them at a later time in the catalog compilation order list to avoid premature errors and to respect resource dependencies in manifests."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "43304"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/May/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_244002413_*|*_1_*:*_1_*:*_150478785_*|*_10007_*:*_1_*:*_1404759992_*|*_3_*:*_1_*:*_753379283_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1053095818"}], "description": "*Puppet Version: 2019.8.4*\n *Puppet Server Version:*\n *OS Name/Version:*\n\nWe are trying to add an account to the \"UserRightAssignment - Log on as service rights\" of a Windows agent using the DSC Modules:\n\ndsc-securitypolicydsc\n puppetlabs-pwshlib\n\nand, at the same time, set a service with the account that just got the \"log on as service rights\". The manifest code used is:\n\n\u00a0\n\nclass windows_towers { \n \u00a0 \u00a0 dsc_userrightsassignmen\n\n{ \"add-jordi-to-logon-as-service\": \u00a0 \u00a0 \u00a0 \u00a0 \u00a0dsc_ensure => 'present', \u00a0 \u00a0 \u00a0 \u00a0 \u00a0dsc_policy => 'Log_on_as_a_service', \u00a0 \u00a0 \u00a0 \u00a0 \u00a0dsc_identity => ['NT SERVICE\\\\ALL SERVICES','cloudbase-init','jordi'], \u00a0 \u00a0 }\n\n\u00a0 \u00a0 service\n\n{ 'PlexUpdateService': \u00a0 \u00a0 \u00a0 \u00a0 \u00a0ensure => 'stopped', \u00a0 \u00a0 \u00a0 \u00a0 \u00a0logonaccount => 'PE-201984-WIN2K\\\\jordi', \u00a0 \u00a0 \u00a0 \u00a0 \u00a0logonpassword => 'puppetpuppet', \u00a0 \u00a0 \u00a0 \u00a0 \u00a0enable => 'false', \u00a0 \u00a0 \u00a0 \u00a0 \u00a0require => Dsc_userrightsassignment['add-jordi-to-logon-as-service'], }\n\n}\n \u00a0\n\n*Desired Behavior:*\n\nUpdate the windows service with the new credentials that just got\u00a0**\u00a0\"log on as service rights\" - Basically, the code above should work first time round.\n\n*Actual Behavior:*\n\n\u00a0\n PS C:\\Users\\Administrator\\tester> puppet agent -t\n [DEPRECATION] Struct layout is already defined for class Windows::ServiceStructs::SERVICE_STATUS_PROCESS. Redefinition as in C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/win32-service-0.8.8/lib/win32/windows/structs.rb:67:in `<class:SERVICE_STATUS_PROCESS>' will be disallowed in ffi-2.0.\n Info: Using configured environment 'production'\n Info: Retrieving pluginfacts\n Info: Retrieving plugin\n Info: Retrieving locales\n Info: Loading facts\n Error: Failed to apply catalog: Parameter logonaccount failed on Service[PlexUpdateService]: \"PE-201984-WIN2K\\jordi\" is missing the 'Log On As A Service' right. (file: /etc/puppetlabs/code/environments/production/site/windows_towers/manifests/init.pp, line: 16)\n\nThe error is indicating that the account selected doesn't have \"log on as service rights\" but, in fact, the account has not been added to the \"log on as service rights\" User Rights assignment and it is failing at compilation.\n\nAlternatively, if you comment out the service part of the code, the user gets added to the\u00a0\"log on as service rights\" and, at this stage, the code will work as expected.\n class windows_towers { \n \u00a0 \u00a0dsc_userrightsassignment\n\n{ \"add-jordi-to-logon-as-service\": \u00a0 \u00a0 \u00a0 \u00a0dsc_ensure => 'present', \u00a0 \u00a0 \u00a0 \u00a0dsc_policy => 'Log_on_as_a_service', \u00a0 \u00a0 \u00a0 \u00a0dsc_identity => ['NT SERVICE\\\\ALL SERVICES','cloudbase-init','jordi'], \u00a0 \u00a0}\n\n\u00a0 \u00a0#service\n\n{ 'PlexUpdateService': \u00a0 \u00a0 \u00a0 \u00a0# ensure => 'stopped', \u00a0 \u00a0 \u00a0 \u00a0# logonaccount => 'PE-201984-WIN2K\\\\jordi', \u00a0 \u00a0 \u00a0 \u00a0#logonpassword => 'puppetpuppet', \u00a0 \u00a0 \u00a0 \u00a0# enable => 'false', \u00a0 \u00a0 \u00a0 \u00a0# require => Dsc_userrightsassignment['add-jordi-to-logon-as-service'], \u00a0 \u00a0#}\n\n}\n PS C:\\Users\\Administrator\\tester> puppet agent -t\n [DEPRECATION] Struct layout is already defined for class Windows::ServiceStructs::SERVICE_STATUS_PROCESS. Redefinition as in C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/win32-service-0.8.8/lib/win32/windows/structs.rb:67:in `<class:SERVICE_STATUS_PROCESS>' will be disallowed in ffi-2.0.\n Info: Using configured environment 'production'\n Info: Retrieving pluginfacts\n Info: Retrieving plugin\n Info: Retrieving locales\n Info: Loading facts\n Info: Caching catalog for pe-201984-win2k.platform9.puppet.net\n Info: Applying configuration version '1617025583'\n Notice: /Stage[main]/Windows_towers/Dsc_userrightsassignment[add-jordi-to-logon-as-service]/dsc_identity: dsc_identity changed ['PE-201984-WIN2K\\cloudbase-init', 'NT SERVICE\\ALL SERVICES'] to ['NT SERVICE\\ALL SERVICES', 'cloudbase-init', 'jordi']\n Notice: dsc_userrightsassignment[\\\\\\\\{:name=>\"add-jordi-to-logon-as-service\", :dsc_policy=>\"Log_on_as_a_service\"}|file://%7B:name%3D%3E%22add-jordi-to-logon-as-service%22%2C%20:dsc_policy%3D%3E%22log_on_as_a_service%22%7D/]: Updating: Finished in 2.36 seconds\n Notice: Applied catalog in 3.77 seconds\n\nI have worked with Michael Lombardi on https://puppet.atlassian.net/browse/MODULES-10969\u00a0created on the back of [https://puppetlabs.zendesk.com/agent/tickets/43304]\u00a0that has determined that the error experienced is generated by [https://github.com/puppetlabs/puppet/blob/main/lib/puppet/type/service.rb#L152]\u00a0and stops catalog compilation\n\nMichael has also suggested that the current validation be turned into a warning or placed in the provider and called during\u00a0{{set method}}\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27725", "fixedVersions": ["PUP 6.23.0", "PUP 7.7.0"], "id": "27725", "issueType": "Bug", "key": "PUP-10999", "labels": ["doc-reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6220db9494f7e20069fe964a", "resolution": "Fixed", "resolutionDate": "2021-05-10T02:33:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Unable to update UserRightAssignment - Log on as service rights", "timeSpent": "PT0S", "updated": "2021-05-19T06:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "POSIX doesn't allow dashes in the name of environment variables: {quote}Environment variable names used by the utilities in the Shell and Utilities volume of POSIX.1-2017 consist solely of uppercase letters, digits, and the <underscore> (\u00a0{{'_'}}\u00a0) from the characters defined in\u00a0[_Portable Character Set_|https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap06.html#tagtcjh_3]\u00a0and do not begin with a digit.{quote}\n\nIt's also not accepted in bash:\n\n{noformat}\n# export FOO-BAR=baz\n-bash: export: `FOO-BAR=baz': not a valid identifier\n{noformat}\n\nI'd recommend using underscore instead.", "created": "2021-03-29T16:18:00.000000"}, {"author": "623c11568d8b9c0068b8b14e", "body": "That may be true, sure. But Puppet should NOT crash on it. That is an EASY denial of service from any unpriviliged user you have on the system.", "created": "2021-03-30T02:12:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "Thank you for filing this issue. We agree it is likely an improvement, but due to other issues demanding precedence, we don\u2019t anticipate being able to address this any time soon. If you are interested in submitting a patch to the repository for this project at https://github.com/puppetlabs, please open a pull request.", "created": "2021-06-15T02:22:00.000000"}], "components": [], "created": "2021-03-29T07:54:00.000000", "creator": "623c11568d8b9c0068b8b14e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@194d84da"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07ibo:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Mar/21"}], "description": "*Puppet Version: 6.21.1-1buster*\n *Puppet Server Version:* 6.15.1-1buster\n *OS Name/Version: Debian Buster*\n\nA crontab that contains an environment variable with a - breaks puppet. Change - to _ and it works.\nCreate a crontab like\n\n[MAILTO=test@example.com|mailto:MAILTO=test@example.com]\n\nCONSOLE-LOG=/var/log/file\n\n*/15 * * * * /bin/bash -c \"echo test\"\n\n\u00a0\n\nPuppet goes boom:\n\nError: Could not prefetch cron provider 'crontab': Could not parse line \"CONSOLE-LOG=/var/log/file\" (file: USERNAMEOFUNIXUSER, line: 2)\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/fileparsing.rb:260:in `block in parse'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/fileparsing.rb:252:in `collect'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/fileparsing.rb:252:in `parse'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/parsedfile.rb:329:in `retrieve'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/parsedfile.rb:282:in `prefetch_target'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/parsedfile.rb:274:in `block in prefetch_all_targets'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/parsedfile.rb:273:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/parsedfile.rb:273:in `prefetch_all_targets'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/parsedfile.rb:226:in `prefetch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:378:in `prefetch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:260:in `prefetch_if_necessary'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:115:in `block in evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/graph/relationship_graph.rb:120:in `traverse'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:178:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:240:in `block (2 levels) in apply'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:546:in `block in thinmark'\n/opt/puppetlabs/puppet/lib/ruby/2.5.0/benchmark.rb:308:in `realtime'\n\n[....]\n\n\u00a0\n\nNow change the - to _ and voila, puppet does not go boom.\n\n*Desired Behavior: Puppet accept -*\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26659", "fixedVersions": [], "id": "26659", "issueType": "Bug", "key": "PUP-10998", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c11568d8b9c0068b8b14e", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Cron Provider breaks on crontab with certain environment variables", "timeSpent": "PT0S", "updated": "2021-06-15T08:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [{"author": "5e9550d2a401ee0c33b5aa58", "body": "https://github.com/puppetlabs/puppet/pull/8554 submitted", "created": "2021-03-29T02:09:00.000000"}], "components": [], "created": "2021-03-29T01:44:00.000000", "creator": "5e9550d2a401ee0c33b5aa58", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3066ac89"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07i70:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fix an issue where Puppet would fail applying user resources with forcelocal if there are empty lines in /etc/group"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1464949_*|*_10007_*:*_1_*:*_177947704_*|*_5_*:*_1_*:*_0"}], "description": "*Puppet Version:* 7.4.0 and 6.21.0 (and later)\n*Puppet Server Version:* Masterless to demonstrate issue\n*OS Name/Version:* CentOS 7\n\nA user resource with {{forcelocal => true}} and {{groups}} attributes set will fail if {{/etc/group}} contains any empty/blank lines\n\n{code:bash}# egrep -n '^$|testuser' /etc/passwd /etc/group\n/etc/passwd:24:testuser:x:1001:1001:testuser:/home/testuser:/bin/bash\n/etc/group:41:centos:x:1000:testuser\n/etc/group:42:testuser:x:1001:\n/etc/group:43:\n# grpck -r\ninvalid group file entry\ndelete line ''? No\ngrpck: no changes\n# bundle exec puppet apply -e \"user { 'testuser': groups => ['centos'], forcelocal => true}\"\nNotice: Compiled catalog for [redacted] in environment production in 0.02 seconds\nError: undefined method `split' for nil:NilClass\n#\n{code}\n\nThis is due to [this line|https://github.com/puppetlabs/puppet/blob/896bf34c5f5c3cdd410002490fce51ab45f03322/lib/puppet/provider/user/useradd.rb#L131] in {{localgroup}} method added for PUP-10857 in puppet 6.21.0 / puppet 7.4.0 and later\n\nThis does not occur in puppet 6.19.1 and earlier (example output from 6.16 agent)\n\n{code:bash}\n# puppet --version\n6.16.0\n# puppet apply -e \"user { 'testuser': groups => ['centos'], forcelocal => true}\"\nNotice: Compiled catalog for [redacted] in environment production in 0.04 seconds\nNotice: Applied catalog in 0.06 seconds\n#\n{code}\n\nWhile empty lines in {{/etc/group}} are technically not valid configuration, the behaviour change is difficult to diagnose as it occurs when the catalog is applied/enforced, and does not return much detail in the error.\n\n*Desired Behavior:*\n\nIdeally do not fail when empty lines are encountered, or at least output more detailed failure message.\n\n*Actual Behavior:*\n\n{code:ruby}\nError: undefined method `split' for nil:NilClass\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25596", "fixedVersions": ["PUP 6.22.0", "PUP 7.6.0"], "id": "25596", "issueType": "Bug", "key": "PUP-10997", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5e9550d2a401ee0c33b5aa58", "resolution": "Fixed", "resolutionDate": "2021-03-31T03:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "User resource with forcelocal and groups attributes set will fail if /etc/group contains empty lines", "timeSpent": "PT0S", "updated": "2021-04-23T12:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 04c6542512", "created": "2021-04-05T12:40:00.000000"}], "components": [], "created": "2021-03-26T12:39:00.000000", "creator": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@578e0a73"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07hno:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Added a new subdirectory to the Module class `scripts/` which\nautomatically generates the functions `scripts?()`, `scripts()`, and\n`script()` on the class for retrieving available scripts. This will help in the future standardize on more specific file\nloading from either the `files` directory or `scripts` directory in a\nmodule."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Apr/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_245213379_*|*_1_*:*_1_*:*_618813574_*|*_10009_*:*_1_*:*_562978631_*|*_5_*:*_1_*:*_0"}], "description": "Based on this Bolt Github issue. This change is expected to impact all Puppet modules and enable loading scripts from the {{scripts/}} directory of a Puppet module.\nhttps://github.com/puppetlabs/bolt/issues/2729", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26658", "fixedVersions": ["PUP 7.6.0"], "id": "26658", "issueType": "Improvement", "key": "PUP-10996", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "resolution": "Fixed", "resolutionDate": "2021-04-12T01:02:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Add 'scripts' directory to Puppet Module type", "timeSpent": "PT0S", "updated": "2021-07-22T10:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6303fcae8474ff0a80ac2ce5", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Hi [~accountid:6303fcae8474ff0a80ac2ce5], this is for an older agent release, can this ticket be closed? /cc [~accountid:6323aedbed8abffd7ffdf0ce]", "created": "2021-06-21T12:39:00.000000"}], "components": [], "created": "2021-03-25T14:13:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@295eeff8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10986"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07gwc:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1174_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_7597767834"}], "description": "(Initial planned release date: 2021-04-20)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2021-04-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "23528", "fixedVersions": [], "id": "23528", "issueType": "Task", "key": "PUP-10995", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22483", "parentSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Done", "resolutionDate": "2021-06-21T12:42:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 6.22.0)", "timeSpent": "PT0S", "updated": "2021-06-21T12:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6303fcae8474ff0a80ac2ce5", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Hi [~accountid:6303fcae8474ff0a80ac2ce5], this is for an older agent release, can this ticket be closed? /cc [~accountid:6323aedbed8abffd7ffdf0ce]", "created": "2021-06-21T12:38:00.000000"}, {"author": "6323aedbed8abffd7ffdf0ce", "body": "[~accountid:63d40628f6e1b543161789a7]\u00a0- yes! Will mark the tickets you tagged me in as complete.\u00a0", "created": "2021-06-21T12:42:00.000000"}], "components": [], "created": "2021-03-25T14:13:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@53f8abee"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10986"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07gw4:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1391_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_7597760303"}], "description": "(Initial planned release date: 2021-04-20)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n", "duedate": "2021-04-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "22484", "fixedVersions": [], "id": "22484", "issueType": "Task", "key": "PUP-10994", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22483", "parentSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Done", "resolutionDate": "2021-06-21T12:42:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 6.22.0)", "timeSpent": "PT0S", "updated": "2021-06-21T12:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "attachments": [], "comments": [], "components": [], "created": "2021-03-25T14:13:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5786beae"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10986"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07gvw:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1320_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2779047438"}], "description": "(Initial planned release date: 2021-04-20)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 6.22.0 is now available\".\n", "duedate": "2021-04-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "21309", "fixedVersions": [], "id": "21309", "issueType": "Task", "key": "PUP-10993", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22483", "parentSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-04-26T18:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Send release announcement (Puppet Platform 6.22.0)", "timeSpent": "PT0S", "updated": "2021-04-26T18:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [], "components": [], "created": "2021-03-25T14:13:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6db61d22"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10986"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07gvg:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1264_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2805928242"}], "description": "(Initial planned release date: 2021-04-20)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2021-04-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "29729", "fixedVersions": [], "id": "29729", "issueType": "Task", "key": "PUP-10992", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22483", "parentSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-04-27T01:38:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 6.22.0)", "timeSpent": "PT0S", "updated": "2021-04-27T01:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-03-25T14:13:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3b3029a9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10986"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07gv8:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1400_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2761951651"}], "description": "(Initial planned release date: 2021-04-20)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2021-04-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "28755", "fixedVersions": [], "id": "28755", "issueType": "Task", "key": "PUP-10991", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22483", "parentSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-04-26T13:25:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 6.22.0)", "timeSpent": "PT0S", "updated": "2021-04-26T13:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "The next release in the Puppet 6 series, Puppet 6.22.1, is now available!\n\nThe release contains bug fixes and minor improvements, including:\n* This release makes the following improvements to the puppet facts diff CLI command:\n** The command shows all of the differences between Facter 3 and Facter 4 \u2014 including facts only available in Facter 4 \u2014 and sorts the output results in alphabetical order. You can also remove certain facts from the output using the --exclude <regex> CLI option and see the results in a fully structured form.\n** The command filters the output based on an exclude list. This only contains volatile facts \u2014 those that are expected to change value between consecutive Facter runs.\n** The command pretty-prints JSON output. You can specify the older form with --render_as json.\n* This release bumps Curl to 7.76.0, fixing the following CVEs: CVE-2021-22890, CVE-2021-22876\n* This release bumps OpenSSL to 1.1.1k, fixing the following CVEs: CVE-2021-3450, CVE-2021-3449\n* This release bumps Ruby to 2.5.9, fixing the following CVEs: CVE-2020-25613, CVE-2021-28965\n* This release fixes a race condition that caused the agent to become disabled and no longer enforce desired state.\n* Previously, the puppet facts diff command, which compares Facter 3 and Facter 4 facts, did not run Facter 4 in a clean environment, causing undefined behavior for custom facts resolving. With this release, Puppet 4 facts are read when running puppet facts in a new shell and custom facts resolve correctly.\n* Puppet Server now adds an extension for subject-alternative-name (SAN) when it signs incoming certificate signing requests (CSR).\n* The Jetty webserver now uses the local copy of the CRL from Puppet's SSL directory instead of the CA's copy.\n* Jetty has been updated to 9.4.40 to resolve security issues.\n* This release adds the cloud.provider fact for Azure identification on Linux and Windows platforms.\n* Previously, each time you executed require facter, the Facter and Puppet bin directories were added to PATH environment variable, even if they were already there. This is now fixed and require facter only adds Facter and Puppet bin directories to PATH if they are not there.\n\nFor the full list of changes, check out the release notes: [https://puppet.com/docs/puppet/6.22/release_notes_osp.html]", "created": "2021-04-14T14:28:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:5abd613dd4cf3c56be24b70d] [~accountid:557058:613151bd-b161-4bc3-9e32-335fdcef4d89] [~accountid:557058:55b23daa-f1aa-41fd-b10d-bf49a61932da]\u00a0Please add any changes that you want to call out to the highlights email above.\n\nPuppet 6.22.1 release notes: [https://puppet-docs-preview.netlify.app/docs/puppet/6.y-preview/release_notes_puppet.html]\n\nServer 6.15.3 release notes: [https://puppet-docs-preview.netlify.app/docs/puppet/6.y-preview/server/release_notes.html#puppet-server-6153]\n\nFacter 3.14.7 release notes: [https://puppet-docs-preview.netlify.app/docs/puppet/6.y-preview/release_notes_facter.html#release_notes_facter_3-14-16]\n\nUsername: puppet Password: fork.left.extra", "created": "2021-04-21T07:59:00.000000"}], "components": [], "created": "2021-03-25T14:12:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@77b926e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10986"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07gus:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Apr/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1271_*|*_3_*:*_1_*:*_33585844_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2772342839"}], "description": "(Initial planned release date: 2021-04-20)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2021-04-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "26657", "fixedVersions": [], "id": "26657", "issueType": "Task", "key": "PUP-10990", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22483", "parentSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-04-27T01:38:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare release announcement (Puppet Platform 6.22.0)", "timeSpent": "PT0S", "updated": "2021-04-27T01:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Preview:\n\nhttps://puppet-docs-preview.netlify.app/docs/puppet/6.y-preview/release_notes_puppet.html", "created": "2021-04-15T09:04:00.000000"}], "components": [], "created": "2021-03-25T14:12:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@73d45500"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10986"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07guk:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Apr/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1211_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1795906130"}], "description": "(Initial planned release date: 2021-04-20)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2021-04-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "25595", "fixedVersions": [], "id": "25595", "issueType": "Task", "key": "PUP-10989", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22483", "parentSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-04-15T09:04:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 6.22.0)", "timeSpent": "PT0S", "updated": "2021-04-20T07:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-03-25T14:12:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@46e2d21e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10986"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07guc:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1304_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1726883819"}], "description": "(Initial planned release date: 2021-04-20)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2021-04-07T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "24519", "fixedVersions": [], "id": "24519", "issueType": "Task", "key": "PUP-10988", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22483", "parentSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-04-14T13:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 6.22.0)", "timeSpent": "PT0S", "updated": "2021-04-14T13:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-03-25T14:12:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5c061070"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10986"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07gu4:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1211_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1726489584"}], "description": "(Initial planned release date: 2021-04-20)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 6.22.0 and puppet-agent 6.22.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2021-04-07T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "23527", "fixedVersions": [], "id": "23527", "issueType": "Task", "key": "PUP-10987", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22483", "parentSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-04-14T13:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 6.22.0)", "timeSpent": "PT0S", "updated": "2021-04-14T13:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-03-25T14:12:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@f1d2a8d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-14"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 6.22.0 Release - 2021-04-20\n"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_orange"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07gtw:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7598675212_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "duedate": "2021-04-20T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22483", "fixedVersions": [], "id": "22483", "issueType": "Epic", "key": "PUP-10986", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Done", "resolutionDate": "2021-06-21T12:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "timeSpent": "PT0S", "updated": "2021-06-21T12:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:623c12ff94742a00683e41fd] should this also have {{PUP 7.6.0}} as a fix version?", "created": "2021-04-14T12:54:00.000000"}], "components": [], "created": "2021-03-25T13:07:00.000000", "creator": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@d81af60"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06d58:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The `puppet facts diff` CLI command was improved by showing all differences between Facter 3 and Facter 4 (including facts available only in Facter 4), sorting output results in alphabetical order for better human readability, allowing users to remove certain facts from output (via the `--exclude <regex>` CLI option) and including a CLI option to see results in a fully structured form."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Apr/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_70412951_*|*_1_*:*_1_*:*_412708817_*|*_10007_*:*_1_*:*_14532823_*|*_3_*:*_1_*:*_514742383_*|*_10009_*:*_1_*:*_3801357_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_238742757"}], "description": "h1.  The Problem \n\nGiven the following facts \n\n{code}\nGiven the following facts:\n\ncat /opt/puppetlabs/facter/facts.d/foo.bar.txt\nfoo.bar=true\ncat /opt/puppetlabs/facter/facts.d/c.d.json\n{\n  \"c.d\":\n  {\n    \"foo\": 4\n  }\n}\ncat /opt/puppetlabs/facter/facts.d/bar.json\n{\n  \"bar\":\n  {\n    \"e.f\": 5\n  }\n}\ncat /opt/puppetlabs/facter/facts.d/a.b.txt\na.b=3\n{code}\n\nyou'll get output from `puppet facts diff` like this:\n\n{code}\n[root@master20198-latest-centos ~]# puppet facts diff | python -m json.tool\n{\n    \"a.b\": {\n        \"new_value\": null,\n        \"old_value\": \"3\"\n    },\n    \"c.d.foo\": {\n        \"new_value\": null,\n        \"old_value\": 4\n    },\n    \"foo.bar\": {\n        \"new_value\": null,\n        \"old_value\": \"true\"\n    },\n...\n}\n{code}\n\nwhich does not show that there are new facts \"a\", \"c\" and \"foo\" in Facter 4.  \n\nh1.  Suggested Solution\n\nideally we show these new facts with the new_value set and the old_value as null.  \n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29728", "fixedVersions": ["PUP 6.22.0"], "id": "29728", "issueType": "Task", "key": "PUP-10985", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "resolution": "Fixed", "resolutionDate": "2021-04-09T01:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "`puppet facts diff` does not output facts that only exist in Facter 4", "timeSpent": "PT0S", "updated": "2021-04-23T12:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6303fcae8474ff0a80ac2ce5", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Hi [~accountid:6303fcae8474ff0a80ac2ce5], this is for an older agent release, can this ticket be closed? /cc [~accountid:6323aedbed8abffd7ffdf0ce]", "created": "2021-06-21T12:39:00.000000"}], "components": [], "created": "2021-03-25T12:38:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1ebebbca"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10975"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07gng:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1302_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_7603450461"}], "description": "(Initial planned release date: 2021-04-20)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2021-04-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "23526", "fixedVersions": [], "id": "23526", "issueType": "Task", "key": "PUP-10984", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22481", "parentSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Done", "resolutionDate": "2021-06-21T12:43:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 7.6.0)", "timeSpent": "PT0S", "updated": "2021-06-21T12:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6303fcae8474ff0a80ac2ce5", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Hi [~accountid:6303fcae8474ff0a80ac2ce5], this is for an older agent release, can this ticket be closed? /cc [~accountid:6323aedbed8abffd7ffdf0ce]", "created": "2021-06-21T12:40:00.000000"}], "components": [], "created": "2021-03-25T12:38:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4bb3c889"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10975"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07gn8:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1390_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_7603671451"}], "description": "(Initial planned release date: 2021-04-20)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n", "duedate": "2021-04-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "22482", "fixedVersions": [], "id": "22482", "issueType": "Task", "key": "PUP-10983", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22481", "parentSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Done", "resolutionDate": "2021-06-21T12:46:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 7.6.0)", "timeSpent": "PT0S", "updated": "2021-06-21T12:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "attachments": [], "comments": [], "components": [], "created": "2021-03-25T12:38:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6f800ae2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10975"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07gn0:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1515_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2784696709"}], "description": "(Initial planned release date: 2021-04-20)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 7.6.0 is now available\".\n", "duedate": "2021-04-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "21307", "fixedVersions": [], "id": "21307", "issueType": "Task", "key": "PUP-10982", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22481", "parentSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-04-26T18:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Send release announcement (Puppet Platform 7.6.0)", "timeSpent": "PT0S", "updated": "2021-04-26T18:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [], "components": [], "created": "2021-03-25T12:38:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3d31c105"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10975"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07gmk:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1174_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2811553429"}], "description": "(Initial planned release date: 2021-04-20)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2021-04-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "29727", "fixedVersions": [], "id": "29727", "issueType": "Task", "key": "PUP-10981", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22481", "parentSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-04-27T01:37:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 7.6.0)", "timeSpent": "PT0S", "updated": "2021-04-27T01:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-03-25T12:38:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3777d3ef"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10975"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07gmc:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1296_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2767635670"}], "description": "(Initial planned release date: 2021-04-20)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2021-04-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "28754", "fixedVersions": [], "id": "28754", "issueType": "Task", "key": "PUP-10980", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22481", "parentSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-04-26T13:25:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 7.6.0)", "timeSpent": "PT0S", "updated": "2021-04-26T13:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "The next release in the Puppet 7 series, Puppet 7.6.1, is now available!\n\nThe release contains bug fixes, minor enhancements, and security fixes including:\n\n* This release bumps Curl to 7.76.0, fixing the following CVEs: CVE-2021-22890, CVE-2021-22876\n* This release bumps Ruby to 2.7.3, fixing the following CVEs: CVE-2020-25613, CVE-2021-28966\n* Resolution of the following issues:\n** Race condition with agent_disabled_lockfile\n** Unable to install gems with the puppet_gem provider on Windows\n** Puppet cannot parse systemd instances when list-unit-files output has an additional column\n** This release includes minor dependency updates, including an update to Jetty 9.4.40 to resolve security issues.\n** Auto promoting dotted facts to structured facts is incompatible.\n** Facter breaks when querying custom facts.\n** Inconsistent handling of date types in custom facts.\n* Minor Enhancement:\n** The processors fact includes sockets and threads details.\n\nFor the full list of changes, check out the release notes: [https://puppet.com/docs/puppet/latest/release_notes_osp.html]", "created": "2021-04-14T14:54:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:5abd613dd4cf3c56be24b70d] [~accountid:557058:613151bd-b161-4bc3-9e32-335fdcef4d89] [~accountid:557058:55b23daa-f1aa-41fd-b10d-bf49a61932da]\u00a0Please add any changes that you want to call out to the highlights email above.\n\nPuppet 7.6.1 release notes: [https://puppet-docs-preview.netlify.app/docs/puppet/latest-preview/release_notes_puppet.html#release_notes_puppet_7-5-0]\n\nServer 7.1.2 release notes: [https://puppet-docs-preview.netlify.app/docs/puppet/latest-preview/server/release_notes.html#puppet-server-712]\n\nFacter 4.1.1 release notes: [https://puppet-docs-preview.netlify.app/docs/puppet/latest-preview/release_notes_facter.html#release_notes_facter_4-0-50]\n\nUsername: puppet Password: fork.left.extra", "created": "2021-04-21T07:49:00.000000"}], "components": [], "created": "2021-03-25T12:38:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@76700829"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10975"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07glw:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Apr/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1294_*|*_3_*:*_1_*:*_33560433_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2778018968"}], "description": "(Initial planned release date: 2021-04-20)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2021-04-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "26656", "fixedVersions": [], "id": "26656", "issueType": "Task", "key": "PUP-10979", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22481", "parentSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-04-27T01:38:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare release announcement (Puppet Platform 7.6.0)", "timeSpent": "PT0S", "updated": "2021-04-27T01:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Preview:\u00a0\n\nhttps://puppet-docs-preview.netlify.app/docs/puppet/latest-preview/release_notes_puppet.html", "created": "2021-04-15T09:04:00.000000"}], "components": [], "created": "2021-03-25T12:38:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4a85a766"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10975"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07glo:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Apr/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1310_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1801534391"}], "description": "(Initial planned release date: 2021-04-20)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2021-04-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "25594", "fixedVersions": [], "id": "25594", "issueType": "Task", "key": "PUP-10978", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22481", "parentSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-04-15T09:04:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 7.6.0)", "timeSpent": "PT0S", "updated": "2021-04-20T07:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-03-25T12:38:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7bae537e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10975"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07glg:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1411_*|*_3_*:*_1_*:*_1035062454_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1732559873"}], "description": "(Initial planned release date: 2021-04-20)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2021-04-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "24518", "fixedVersions": [], "id": "24518", "issueType": "Task", "key": "PUP-10977", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22481", "parentSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-04-26T13:25:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 7.6.0)", "timeSpent": "PT0S", "updated": "2021-04-26T13:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-03-25T12:38:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1821a8bc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10975"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07gl8:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1425_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1732434780"}], "description": "(Initial planned release date: 2021-04-20)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 7.6.0 and puppet-agent 7.6.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2021-04-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "23450", "fixedVersions": [], "id": "23450", "issueType": "Task", "key": "PUP-10976", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22481", "parentSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-04-14T13:52:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 7.6.0)", "timeSpent": "PT0S", "updated": "2021-04-14T13:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-03-25T12:38:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@361f3899"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-12"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 7.6.0 Release - 2021-04-20\n"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "grey"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07gl0:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7604310585_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "duedate": "2021-04-20T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22481", "fixedVersions": [], "id": "22481", "issueType": "Epic", "key": "PUP-10975", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Done", "resolutionDate": "2021-06-21T12:56:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "timeSpent": "PT0S", "updated": "2021-06-21T12:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:c16d7f1a-bff7-46b5-a8c1-7189ecf15616", "body": "I think if someone looks at this, it will be an easy fix...\u00a0 It might be as simple as this:\n{noformat}\ndiff --git a/lib/puppet/provider/service/systemd.rb b/lib/puppet/provider/service/systemd.rb\nindex d0bfb85e5a..b0601c7506 100644\n--- a/lib/puppet/provider/service/systemd.rb\n+++ b/lib/puppet/provider/service/systemd.rb\n@@ -159,7 +159,10 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do\n   end\n \n   def mask\n-    self.disable\n+    begin\n+      self.disable\n+    rescue\n+    end\n     systemctl_change_enable(:mask)\n   end\n \n\n{noformat}", "created": "2021-05-04T14:51:00.000000"}, {"author": "557058:c16d7f1a-bff7-46b5-a8c1-7189ecf15616", "body": "Bug still present on 6.22.1 and 7.7.0.", "created": "2021-06-07T15:08:00.000000"}, {"author": "557058:c16d7f1a-bff7-46b5-a8c1-7189ecf15616", "body": "This is required for compliance enforcement.\u00a0 Various CIS controls require services to be masked, whether or not they are installed.", "created": "2021-06-08T11:09:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/39461d5c51a78fb9531fa307630826620cbfbaaa", "created": "2021-06-09T01:54:00.000000"}], "components": ["Types and Providers"], "created": "2021-03-25T12:20:00.000000", "creator": "557058:c16d7f1a-bff7-46b5-a8c1-7189ecf15616", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@61607d87"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07gkc:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "It's now possible to mask a systemd service that doesn't (yet) exist."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_84878339_*|*_1_*:*_1_*:*_6480003225_*|*_10007_*:*_1_*:*_48961252_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.21.1, 7.5.0*\n *Puppet Server Version: N/A*\n *OS Name/Version: CentOS 7*\n\nWith the systemd provider, setting {{enable}} to {{mask}} on a service that does not exist fails.\n\n*Desired Behavior:*\n\nMasking\u00a0a\u00a0service should work whether or not the service exists (the way that setting {{enable}} to {{false}} works either way).\n\n*Actual Behavior:*\n{noformat}\n[root@puppet ~]# systemctl list-unit-files | grep madeup\n[root@puppet ~]# puppet resource service madeup\nservice { 'madeup':\n ensure => 'stopped',\n enable => 'false',\n provider => 'systemd',\n}\n[root@puppet ~]# puppet resource service madeup enable=mask\nError: Could not disable madeup: \nError: /Service[madeup]/enable: change from 'false' to 'mask' failed: Could not disable madeup: \nservice { 'madeup':\n enable => 'false',\n provider => 'systemd',\n}\n[root@puppet ~]# systemctl mask madeup\nCreated symlink from /etc/systemd/system/madeup.service to /dev/null.\n[root@puppet ~]# systemctl list-unit-files | grep madeup\nmadeup.service masked{noformat}\nThe error here appears to be coming from [https://github.com/puppetlabs/puppet/blob/85bd9ed07e3e6c956f1972624a50be914292e1ab/lib/puppet/provider/service/systemd.rb#L162.]\u00a0 If I wrap that in a begin block, the service is masked properly.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29726", "fixedVersions": ["PUP 6.23.0", "PUP 7.8.0"], "id": "29726", "issueType": "Bug", "key": "PUP-10974", "labels": ["community", "docs-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c16d7f1a-bff7-46b5-a8c1-7189ecf15616", "resolution": "Fixed", "resolutionDate": "2021-06-10T01:30:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "service enable=mask fails when service isn't present", "timeSpent": "PT0S", "updated": "2021-06-21T14:00:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in puppet#42cb3a33b8", "created": "2021-04-06T11:12:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:623c12ff94742a00683e41fd] should this also have {{PUP 7.6.0}} as a fix version?", "created": "2021-04-14T12:53:00.000000"}], "components": [], "created": "2021-03-25T10:52:00.000000", "creator": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@f85d39c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk67j:pzr"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The \"puppet facts diff\" command now pretty prints its JSON output. The older form can be specified using \"--render_as json\"."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Apr/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_124624053_*|*_1_*:*_1_*:*_420831779_*|*_10007_*:*_1_*:*_313785017_*|*_3_*:*_1_*:*_90431901_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_88514271"}], "description": "h1. The Problem\n\nThe output of `puppet facts diff` is all smashed on one line instead of being human readable.  \n\n{code}\n[root@master20198-latest-centos ~]# puppet facts diff\n{\"foo.bar\":{\"new_value\":null,\"old_value\":\"true\"},\"pe_postgresql_info.data_partition_available_bytes\":{\"new_value\":59176595456,\"old_value\":59176505344},\"platform_tag\":{\"new_value\":\"centos-7-x86_64\",\"old_value\":\"el-7-x86_64\"},\"puppet_inventory_metadata.packages.last_collection_time\":{\"new_value\":\"0.4702s\",\"old_value\":\"0.588s\"}}\n{code}\n\nI have to run it through another tool like python or jq to effectively read the output \n\n{code}\n[root@master20198-latest-centos ~]# puppet facts diff | python -m json.tool\n{\n    \"foo.bar\": {\n        \"new_value\": null,\n        \"old_value\": \"true\"\n    },\n    \"pe_postgresql_info.data_partition_available_bytes\": {\n        \"new_value\": 59173752832,\n        \"old_value\": 59173863424\n    },\n    \"platform_tag\": {\n        \"new_value\": \"centos-7-x86_64\",\n        \"old_value\": \"el-7-x86_64\"\n    },\n    \"puppet_inventory_metadata.packages.last_collection_time\": {\n        \"new_value\": \"0.463s\",\n        \"old_value\": \"0.5941s\"\n    }\n}\n{code}\n\nh1. Suggested solution\n\nWe should print the output in a human readable format.  ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21305", "fixedVersions": ["PUP 6.22.0"], "id": "21305", "issueType": "Improvement", "key": "PUP-10973", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "resolution": "Fixed", "resolutionDate": "2021-04-06T11:15:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "`puppet facts diff` output should be pretty ", "timeSpent": "PT0S", "updated": "2021-04-23T12:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "5abd613dd4cf3c56be24b70d", "body": "Was able to reproduce this on 6.21.1:\n{code:java}\n[root@sacral-alderman ~]# puppet --version\n6.21.1\n[root@sacral-alderman ~]# puppet facts diff\n{\"hypervisors.vmware.version\":{\"new_value\":\"ESXi 6.7\",\"old_value\":\"\"}}\n[root@sacral-alderman ~]# puppet module install puppetlabs-java --version 7.0.0\nNotice: Preparing to install into /etc/puppetlabs/code/environments/production/modules ...\nNotice: Downloading from https://forgeapi.puppet.com ...\nNotice: Installing -- do not interrupt ...\n/etc/puppetlabs/code/environments/production/modules\n\u2514\u2500\u252c puppetlabs-java (v7.0.0)\n  \u251c\u2500\u2500 puppet-archive (v4.6.0)\n  \u2514\u2500\u2500 puppetlabs-stdlib (v6.6.0)\n[root@sacral-alderman ~]# puppet facts diff\nE, [2021-03-24T06:59:51.673986 #6931] ERROR -- : Facter - Error while resolving custom fact fact='java_version', resolution='<anonymous>': undefined method `include?' for nil:NilClass\nE, [2021-03-24T06:59:51.684045 #6931] ERROR -- : Facter - Error while resolving custom fact fact='java_version', resolution='<anonymous>': undefined method `include?' for nil:NilClass\nE, [2021-03-24T06:59:51.690300 #6931] ERROR -- : Facter - Error while resolving custom fact fact='java_version', resolution='<anonymous>': undefined method `include?' for nil:NilClass\nE, [2021-03-24T06:59:51.694763 #6931] ERROR -- : Facter - Error while resolving custom fact fact='java_version', resolution='<anonymous>': undefined method `include?' for nil:NilClass\n{\"hypervisors.vmware.version\":{\"new_value\":\"ESXi 6.7\",\"old_value\":\"\"}}{code}\nThis was fixed in https://puppet.atlassian.net/browse/PUP-10940\n\nUsing the latest nightly build: wget http://nightlies.puppet.com/yum/puppet6-nightly/el/8/x86_64/puppet-agent-6.21.1.38.gfa642d3c3-1.el8.x86_64.rpm\n{code:java}\n [root@sacral-alderman ~]# puppet facts diff\n{\"hypervisors.vmware.version\":{\"new_value\":\"ESXi 6.7\",\"old_value\":\"\"},\"memorysize_mb\":{\"new_value\":7813.85,\"old_value\":7813.8515625},\"swapsize_mb\":{\"new_value\":2048.0,\"old_value\":2047.99609375}}{code}\n\u00a0", "created": "2021-03-24T01:01:00.000000"}, {"author": "5abd613dd4cf3c56be24b70d", "body": "the rounding difference is covered by this ticket:\u00a0https://puppet.atlassian.net/browse/FACT-2967", "created": "2021-03-24T01:30:00.000000"}, {"author": "5abd613dd4cf3c56be24b70d", "body": "Hi [~accountid:557058:be86c7d6-2807-42d3-9715-80da0cf607cd]\u00a0we've released version 6.22.1 of Puppet Agent. Can you please help us validate that the issue you were facing is resolved?\n\n\u00a0\n\nThank you!", "created": "2021-04-27T06:46:00.000000"}, {"author": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "body": "Hi [~accountid:5abd613dd4cf3c56be24b70d], in sandbox environment I don't see any discrepancies anymore. I should be able to provide more representative sample once 6.22.1 added to PE LTS", "created": "2021-04-29T16:12:00.000000"}, {"author": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "body": "I have installed puppet 6.22.1 in non-prod environment. I see a lot of facts that have been added, so in old facter they are null and this is expected, but there are facts that are set in old facter and not in new, which require attention. for example {{partitions}} and {{mountpoints}}\n{noformat}\n# puppet facts show partitions\n{\n\u00a0 \"partitions\": {\n\u00a0 \u00a0 \"/dev/mapper/vg0-home\": {\n\u00a0 \u00a0 \u00a0 \"filesystem\": \"xfs\",\n\u00a0 \u00a0 \u00a0 \"mount\": \"/home\",\n\u00a0 \u00a0 \u00a0 \"size\": \"1.00 GiB\",\n\u00a0 \u00a0 \u00a0 \"size_bytes\": 1073741824,\n\u00a0 \u00a0 \u00a0 \"uuid\": \"e0113f59-eab4-477f-b590-0c8ccd1172c6\"\n\u00a0 \u00a0 },\n\u00a0 \u00a0 \"/dev/mapper/vg0-opt\": {\n\u00a0 \u00a0 \u00a0 \"filesystem\": \"xfs\",\n\u00a0 \u00a0 \u00a0 \"mount\": \"/opt\",\n\u00a0 \u00a0 \u00a0 \"size\": \"1.00 GiB\",\n\u00a0 \u00a0 \u00a0 \"size_bytes\": 1073741824,\n\u00a0 \u00a0 \u00a0 \"uuid\": \"09c71d42-bbd4-4631-aaa7-287f17d8db6a\"\n\u00a0 \u00a0 },\n...\n{noformat}\n\n\n{noformat}\n# puppet facts show partitions --facterng\nError: Facter: statvfs() function failed: Stale file handle\n{\n  \"partitions\": \"\"\n}\n\n{noformat}\n\n\nOn related note facts_diff task fails on windows nodes when I try exclude these facts from the output\n\n\n{noformat}\nError: Exited 1:\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/execution.rb:297:in `execute': Execution of 'C:\\Program Files\\Puppet Labs\\Puppet\\bin/puppet.bat facts diff --exclude partitions|mountpoints' returned 255:  (Puppet::ExecutionFailure)\n\tfrom C:/ProgramData/PuppetLabs/pxp-agent/var/spool/1942/temp_task_638c-20e2-e338-3c02/puppet_agent/tasks/facts_diff.rb:43:in `run'\n\tfrom C:/ProgramData/PuppetLabs/pxp-agent/var/spool/1942/temp_task_638c-20e2-e338-3c02/puppet_agent/tasks/facts_diff.rb:67:in `<main>'\n{noformat}\n", "created": "2021-05-10T16:47:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "{color:#000000}Error: Facter: statvfs() function failed {color}might be caused by: https://puppet.atlassian.net/browse/FACT-2928\n\n\u00a0\n\nWe should check facts_diff task on windows", "created": "2021-05-11T13:31:00.000000"}, {"author": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "body": "It would be useful to have a plan, which will produce a list of the facts that have changed their values.\n Here is the regex I used to produce 'No differences found' outputs on Linux nodes:\n{noformat}bolt task run puppet_agent::facts_diff -t linux exclude='puppet_agent_pid|puppet_inventory_metadata|processors\\.|disks.*type|os\\.distro|lsb.*release|dhcp_servers\\.system|hypervisors\\.|ec2_userdata|networking.*\\.scope6|pe_postgresql_info|docker\\.SystemTime|docker\\.Swarm\\.RemoteManagers|docker\\.NGoroutines'\n{noformat}", "created": "2021-05-12T07:31:00.000000"}, {"author": "623c12ff94742a00683e41fd", "body": "Hi [~accountid:557058:be86c7d6-2807-42d3-9715-80da0cf607cd]! \nWe've opened a PR for the Windows issue you've been facing: https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/561\nAfter our reproduction efforts, we think that the statvfs() function failure should be solved by https://puppet.atlassian.net/browse/FACT-2928\nAlso, I've opened a ticket regarding your diff facts list suggestion: https://puppet.atlassian.net/browse/PUP-11068", "created": "2021-05-17T08:32:00.000000"}], "components": [], "created": "2021-03-23T13:24:00.000000", "creator": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2742d87a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08eey:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Mar/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1793655060_*|*_10007_*:*_1_*:*_60333659_*|*_10009_*:*_1_*:*_5205_*|*_3_*:*_1_*:*_444048405_*|*_4_*:*_1_*:*_56431926_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1233894070_*|*_10005_*:*_1_*:*_1206486280"}], "description": "*Puppet Version:*\u00a06.21.1\n *Puppet Server Version:*\u00a0 2019.8.2.92\n *OS Name/Version:*\u00a0RHEL8.3\n\nObserving failures and discrepancies while running puppet facts diff\n\nExample of a failure :\n{noformat}\n#\u00a0puppet facts diff\nE, [2021-03-23T15:10:50.151056 #1607340] ERROR -- : Facter - Error while resolving custom fact fact='java_version', resolution='<anonymous>': undefined method `include?' for nil:NilClass\n{noformat}\n\nThe error comes from [https://github.com/puppetlabs/puppetlabs-java/blob/main/lib/facter/java_version.rb#L40,]\u00a0which should not be evaluated on RHEL, so confine statements are ignored, it seems\n\nExample of a discrepancy:\n{noformat}\n# puppet facts diff\n...\n\u00a0 \"platform_tag\": {\n\u00a0 \u00a0 \"new_value\": \"redhat-8-x86_64\",\n\u00a0 \u00a0 \"old_value\": \"el-8-x86_64\"\n\u00a0 },\n...\n{noformat}\n\u00a0But if you compare output of puppet facts find, the values seems to be consistent\n\n{noformat}\n# puppet facts find | grep platform_tag\n    \"platform_tag\": \"el-8-x86_64\",\n# puppet facts find --facterng |grep platform_tag\nWARN: Unresolved specs during Gem::Specification.reset:\n      ffi (~> 1.9)\nWARN: Clearing out unresolved specs.\nPlease report a bug if this causes problems.\n    \"platform_tag\": \"el-8-x86_64\",\n\n{noformat}\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20328", "fixedVersions": [], "id": "20328", "issueType": "Bug", "key": "PUP-10972", "labels": ["community"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "resolution": "Fixed", "resolutionDate": "2021-05-18T01:18:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "puppet facts diff produces unexpected results", "timeSpent": "PT0S", "updated": "2021-05-18T01:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-03-21T20:51:00.000000", "creator": "623c13e794742a00683e4272", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@79845000"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o07b1o:"}], "description": "With the current changes to support JSON for the report terminus would it be possible to extend that support to the last_run_summary file?\n\n[https://github.com/puppetlabs/puppet/blob/c19f238a31319bb3a64f9bf9ae41afcf7a501f6a/lib/puppet/configurer.rb#L484]\n\n\n\nIt is currently hardcoded to use YAML\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22479", "fixedVersions": [], "id": "22479", "issueType": "Improvement", "key": "PUP-10971", "labels": ["community"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c13e794742a00683e4272", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Provide JSON option for last run summary", "timeSpent": "PT0S", "updated": "2021-07-07T17:34:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:cb7bc15e-c86d-41f5-bc56-683d06b0a7fe", "attachments": [], "comments": [], "components": ["Types and Providers"], "created": "2021-03-18T12:51:00.000000", "creator": "623a46a67910a200718ac239", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6fe0c87d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11230"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "RHEL 7 (x86_64)"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0795w:"}], "description": "*Puppet Version: 7.5*\n *Puppet Server Version: 7.1.0*\n *OS Name/Version: CentOS 7.8*\n\nPuppet does not install packages to update virtual provides of other packages.\u00a0 This appears to be approximately the opposite of the situation described in PUP-10798.\n\n*Desired Behavior:*\n\nPuppet should ensure that the latest available version of the requested package is installed.\n\n*Actual Behavior:*\n\nPuppet denies that there is an update available.\n\nIn the specific case where I hit this issue, the target nodes have package {{python-pandas-0.17.1-1.el7.x86_64}} installed, and it declares a virtual provide for {{python2-pandas}}, version\u00a0{{0.17.1-1.el7}}.\u00a0 In my local repository, I have a package\u00a0{{python2-pandas-0.24.2-1.el7.myorg.x86_64}}, which I want Puppet to install.\n\nUnder those circumstances, when I then ask {{yum}}\u00a0directly to either install or update package {{python2-pandas}}, it offers the version 0.24.2 package (and because of obsoletes processing, this replaces the other).\u00a0 If I try to have Puppet do the same, however, it claims that the latest available version is already installed.\n\nThe Puppet resource I am applying is\u00a0\n{code:java}\npackage { 'python2-pandas': ensure => 'latest' }{code}\n\u00a0The debug log has this to say:\u00a0\n{noformat}\nDebug: Executing: '/bin/rpm -q python2-pandas --nosignature --nodigest --qf %{NAME} %|EPOCH?{%{EPOCH}}:{0}| %{VERSION} %{RELEASE} %{ARCH}\\n'\nDebug: Executing: '/bin/rpm -q python2-pandas --nosignature --nodigest --qf %{NAME} %|EPOCH?{%{EPOCH}}:{0}| %{VERSION} %{RELEASE} %{ARCH}\\n --whatprovides'\nDebug: Package[python2-pandas](provider=yum): Yum didn't find updates, current version (0.17.1-1.el7) is the latest\n{noformat}\nContrast with the (partial) output of yum update {{python2-pandas}}:\n\n{{======================================================================}}\n\n{{Package\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Arch\u00a0 \u00a0 \u00a0 Version\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Repository\u00a0 \u00a0 Size}}\n{{======================================================================}}\n\n{{Installing:}}\n{{\u00a0python2-pandas\u00a0 \u00a0x86_64\u00a0 \u00a0 0.24.2-1.el7.myorg\u00a0 \u00a0 myrepo\u00a0 \u00a0 \u00a0 \u00a0 10 M}}\n{{\u00a0 \u00a0 \u00a0replacing python-pandas.x86_64 0.17.1-1.el7}}\n\n{{[...]}}\n\n{{=====================================================================}}\n\n{{Install 2 Packages (+4 Dependent packages)}}\n\n\u00a0", "epicLinkSummary": "Add support for rpm package provides", "estimate": "PT0S", "externalId": "26654", "fixedVersions": [], "id": "26654", "issueType": "Bug", "key": "PUP-10969", "labels": [], "originalEstimate": "PT0S", "parent": "20213", "parentSummary": "Add support for rpm package provides", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a46a67910a200718ac239", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "The yum provider gets confused by virtual provides", "timeSpent": "PT0S", "updated": "2021-10-01T07:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Hi [~accountid:623c15117910a200718b961a], the error is originating on the server side. Can you check {{/var/log/puppetlabs/puppetserver/puppetserver.log}} for a stack trace containing {{Puppet::Parser::Compiler failed with error NoMethodError: undefined method `scheme'}}?\n\nAlso can you confirm that you restarted puppetserver after updating its {{puppet-agent}} package?", "created": "2021-03-17T15:45:00.000000"}, {"author": "623c15117910a200718b961a", "body": "Hi [~accountid:63d40628f6e1b543161789a7],\n\nthanks for reply. I restarted puppetserver and the error is gone! I also updated some gems to the most recent version.\n\nNot exactly sure what solved my problem. Thanks for your help!", "created": "2021-03-18T06:41:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Thanks [~accountid:623c15117910a200718b961a], I'm going to close this. If you see the problem again, please reopen.", "created": "2021-03-18T16:43:00.000000"}], "components": [], "created": "2021-03-17T13:34:00.000000", "creator": "623c15117910a200718b961a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2e03d147"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o078i4:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Mar/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_97783330_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:*\n *Puppet Server Version:*\n *OS Name/Version:*\n\nI upgraded Puppet from 6.x to 7.x.\npuppetserver\u00a0 \u00a0 \u00a0 \u00a0 6.15.1 -> 7.0.3,\npuppet agents\u00a0 \u00a0 \u00a0\u00a06.21.1 -> 7.4.1,\npuppetdb\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 6.14.0 -> 7.2.0,\npuppetdb-termini 6.15.0 -> 7.2.0\n\nAfter the upgrade when I do\n\n{code:java}\npuppet agent -t{code}\n\u00a0on some of the nodes in my network, I get the following error during puppet run:\n\n{code:java}\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Loading facts\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Puppet::Parser::Compiler failed with error NoMethodError: undefined method `scheme' for #<String:0x216cee9> on node bla.blub.com\nWarning: Not using cache on failed catalog\nError: Could not retrieve catalog; skipping run\n{code}\nOn other nodes puppet runs fine.\nI also upgraded ruby:\nruby 2.3.3p222 -> ruby 2.7.2p137\nI also tried to upgrade some puppet modules e.g. stdlib to a newer version, but it didn't help.\n\n*Desired Behavior:* Puppet runs without error.\n\n*Actual Behavior:* Puppet error.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22478", "fixedVersions": [], "id": "22478", "issueType": "Bug", "key": "PUP-10968", "labels": ["community"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c15117910a200718b961a", "resolution": "Incomplete", "resolutionDate": "2021-03-18T16:43:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet upgrade 6 -> 7 error NoMethodError 'scheme'", "timeSpent": "PT0S", "updated": "2021-03-19T00:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in\u00a0https://github.com/puppetlabs/puppet/commit/31515a6f30ddd3113be40183fbe5e7fd302b581d", "created": "2021-06-23T09:02:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in b7c9dd387a", "created": "2021-06-28T10:16:00.000000"}], "components": [], "created": "2021-03-16T19:16:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27fcb48c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o096sw:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet no longer prints an unnecessary error message when resolving account names to SIDs on Windows"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_436635011_*|*_1_*:*_1_*:*_7281529057_*|*_10007_*:*_1_*:*_84082845_*|*_3_*:*_1_*:*_529004761_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_622115425"}], "description": "Puppet on Windows shows the following errors when running with debugging:\n\n{noformat}\nC:\\> puppet agent -t --debug\n...\nDebug: Processing report from xxx with processor Puppet::Reports::Store\nDebug: Could not retrieve raw SID bytes from 'Administrator': Failed to convert string SID: Administrator:  The security ID structure is invalid.\nDebug: Could not retrieve raw SID bytes from 'Administrator': Failed to convert string SID: Administrator:  The security ID structure is invalid.\n{noformat}\n\nThis debugging was added in https://github.com/puppetlabs/puppet/commit/bea9ff75d5946dbb92c90ef068cf6c2d4cb0db85. However, the {{name_to_principal}} method is sometimes called with valid account names like {{Administrator}}, so the call to {{string_to_sid_ptr}} fails with ({{ERROR_INVALID_SID}} 0x539 and the debug message is printed.\n\nI think it'd be better to check if {{name}} starts with something like {{S-\\d+-\\d+}} or only log the error if {{e.code != 0x539}}. For example, if the SID string refers to an account that doesn't exist, you'll get 0x534 {{ERROR_NONE_MAPPED}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22477", "fixedVersions": ["PUP 6.24.0", "PUP 7.9.0"], "id": "22477", "issueType": "Bug", "key": "PUP-10967", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Minor", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-06-28T10:19:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet always prints errors in debug when trying to resolve account to SID", "timeSpent": "PT0S", "updated": "2021-07-13T06:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Yeah the pseudo-relative thing is super confusing. I think my only concern is about not breaking existing modules. Someone might be currently using {{file('modname/files/a')}} and have a file in  {{$codedir/environments/<env>/modname/files/files/a}}. With this change, puppet would look for {{$codedir/environments/<env>/modname/files/a}} which could be different than the old one. So we'd need to handle precedence and fallbacks...", "created": "2021-03-16T13:49:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "I always wondered why the reference isn't a proper URL/URI including scheme. That would also open up for reading files and templates via http. For example {{module}} scheme could address any file in a module (i.e. what Reid proposed) - it would then not clash with the current \"path only\" based argument. You have to type a bit more though\n{code:puppet}\n# This retrieves content from <moduledir>/modname/templates/filename\ntemplate('module://modname/templates/filename')\n{code}\n", "created": "2021-03-17T03:34:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "[~accountid:63d40628f6e1b543161789a7]\u00a0the Bolt team have sketched out a pretty solid adoption and deprecation plan for Bolt, with regards to the use of pseudo-relative paths pertaining to Bolt scripts\u2014e.g. {{run_script()}}\u2014which used to borrow the idiom.\n\nWhat would it take for Puppet to align with their deprecation plan, albeit with a MUCH longer (probably indefinite) deprecation period for the old pathing?\n\nThis is Bolt's plan. Seems like something similar would be pretty straightforward to do for files/templates in Puppet. I'm omitting Bolt's phase 3, which stops supporting the old paths altogether, since I think in Puppet we're gonna have to support the old paths indefinitely, for old modules.\n\n{quote}\nPhase 1\n Put all of this behind a future flag at first so that we can backout easily.\n * module/myscript.sh\n ** `files/myscript.sh`\n ** `scripts/myscript.sh`\n * module/scripts/myscript.sh\n ** `files/scripts/myscript.sh`\n ** `scripts/myscript.sh`\n * module/files/myscript.sh\n ** `files/files/myscript.sh`\n ** `files/myscript.sh`\n\nPhase 1.5\n Make the above behavior of searching the explicit path when a file is not otherwise found default in bolt.\n\n\n Phase 2\n Possibly once the previous phase can be supported in PE, so that users don\u2019t get deprecation warnings for things they can\u2019t do in PE.\n * module/myscript.sh - raise deprecation warning\n ** `files/myscript.sh` and raise a deprecation warning\n ** `scripts/myscript.sh` and raise a deprecation warning\n * module/scripts/myscript.sh\n ** `files/scripts/myscript.sh` and raise a deprecation warning\n ** `scripts/myscript.sh`\n * module/files/myscript.sh\n ** `files/files/myscript.sh` and raise a deprecation warning\n ** `files/myscript.sh`{quote}", "created": "2021-03-23T10:13:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "{quote}albeit with a MUCH longer (probably indefinite) deprecation period for the old pathing{quote}\n\nThat's kind of the rub. It's been that way for so long, we pretty much can't drop it without massive effort and tooling changes to help autoupdate manifests. At which point, I'd say that's just not going to happen.", "created": "2021-09-13T22:57:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I don't see this happening since modules paths have worked this way forever", "created": "2022-07-26T14:59:00.000000"}], "components": [], "created": "2021-03-16T10:49:00.000000", "creator": "557058:97578a32-3955-4c5c-939e-58a878437b49", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@41d00e54"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0773o:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Mar/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7854556573_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_35101206141"}], "description": "One of Puppet's most confusing long-standing idioms is its use of pseudo-relative module file references. Most notably, in\u00a0{{file()}}, {{template()}}, and related functions.\n{code:java}# This retrieves content from <moduledir>/modname/files/filename\nfile('modname/filename')\n\n# This retrieves content from <moduledir>/modname/templates/filename\ntemplate('modname/filename') {code}\nThis is difficult for new users to understand, and when ported to the command-line it breaks normal Unix behavior in that forward-slash does not reliably indicate a real file path, even relatively.\nh2. Feature Request\n\nAnywhere these confusing references are used, permit instead full-relative path references, following this convention:\n\n{{<modulename>/full/relative/path}}\n\nSo, the examples above could be used instead as:\n{code:java} # This retrieves content from <moduledir>/modname/files/filename\nfile('modname/files/filename')\n\n# This retrieves content from <moduledir>/modname/templates/filename\ntemplate('modname/templates/filename') {code}\nThe same way that it has become best practice to always use a DSL option that includes the literal string \"facts\" when referencing facts\u00a0for clarity*, this capability would improve intuitiveness, readability, and discoverability for new users.\n\nThis will also make using an ecosystem consistent full-relative module path more tenable in CLI applications.\n\n*\u00a0e.g., don't use {{$::osfamily}}. Use {{getvar('facts.osfamily)}}\u00a0or {{$facts['osfamily']}} instead.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21303", "fixedVersions": [], "id": "21303", "issueType": "Improvement", "key": "PUP-10966", "labels": [], "originalEstimate": "PT0S", "parent": "55709", "parentSummary": "Puppet Agent Behaviour Improvements", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:97578a32-3955-4c5c-939e-58a878437b49", "resolution": "Won't Do", "resolutionDate": "2022-07-26T14:59:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Allow full-relative path references in file(), template(), related functions", "timeSpent": "PT0S", "updated": "2022-07-26T14:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "{quote}It is desirable to put them in a \"noop\" mode when in production to be alerted something wants to be updated{quote}\n\nIs the request to be alerted when there is \"corrective\" change (the system drifted from desired state and puppet would need to correct it), or when there is \"intentional\" change (the puppet code changed and puppet needs to update the system to match), or both? ", "created": "2021-03-12T12:50:00.000000"}, {"author": "557058:f2b3da44-ce11-4354-bfac-567d38346c9d", "body": "The noop in place already alerts on a corrective change to the system when it has drifted from the system.\n\nWhat I am reporting is that you can modify the system even when the agent is in \"noop\" mode through the use of facts and changes to modules ruby code loaded during the phase where it looks for what to correctively change, thus it is not infact a true \"noop\".\n\nAn example would be if I updated a module on the puppet master and it adds a new fact, that would be pulled by the agent on the next run and executed, not alerted as a change in a corrective sense via noop.", "created": "2021-03-27T12:14:00.000000"}], "components": [], "created": "2021-03-12T05:16:00.000000", "creator": "557058:f2b3da44-ce11-4354-bfac-567d38346c9d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@54b06bd6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o074lw:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Mar/21"}], "description": "*Puppet Version: 7.4.1 / 6.21.1*\n *Puppet Server Version: 7.0.2*\n *OS Name/Version: Windows Server 2016, Debian Buster, RedHat 8.2*\n\nThe \"noop\" option for the agent and servers does not do what it has described. It changes local files to actually report what configuration steps it needs to do.\n\n*Desired Behavior:*\n{code:java}\npuppet agent -t --noop{code}\nReports what facts it will import, what modules are missing locally, actually does no changes.\n\n*Actual Behavior:*\u00a0\n{code:java}\npuppet agent -t --noop{code}\nDownloads any modified module files with their facts (rb), downloads any facts.d files, executes both the module facts and facts.d files. Thus modifies the system\n\n\u00a0\n\n\u00a0\n\n*Thoughts*\n\n**It is impossible to fix this with the \"noop\" option itself, I suggest adding another switch to enforce the expected result of \"noop\" for those who needs the level of control.\n\nThe reason for this is if one uses Puppet to configure different levels of trust servers, ie Windows Domain Controllers, LDAP servers, Kerberos Domains, Certificate Authorities, servers which handle login, etc. It is desirable to put them in a \"noop\" mode when in production to be alerted something wants to be updated, without actually modifying it. If one breaches Puppet, one owns everything an agent is on without such a mode, since one can in practice modify systems through the module facts and facts.d feature...", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23449", "fixedVersions": [], "id": "23449", "issueType": "Bug", "key": "PUP-10965", "labels": ["community"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:f2b3da44-ce11-4354-bfac-567d38346c9d", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet noop mode is not noop for modules or facts", "timeSpent": "PT0S", "updated": "2021-06-03T02:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5b9fcedc03b52466f05c4510", "attachments": [], "comments": [{"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "We can also extend the existing {{ruby}} fact to include more keys from {{RbConfig}}:\n{code:ruby}irb(main):006:0> RbConfig::CONFIG['bindir']\n=> \"/opt/puppetlabs/puppet/bin\"\n{code}\nCurrently it only includes {{sitelibdir}}, platform and version: [https://github.com/puppetlabs/facter/blob/main/lib/facter/resolvers/ruby.rb#L15]\n\nWe can also confine the provider to the existence of the {{aio_agent_version}} fact to ensure it's not suitable for non-AIO installations.", "created": "2021-03-18T03:11:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in puppet#b53337cedb", "created": "2021-04-06T10:11:00.000000"}], "components": [], "created": "2021-03-12T05:05:00.000000", "creator": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@69c1ac16"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o074lo:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "When puppet is used as a library, `environment.bat` is not sourced and this leads to `PUPPET_DIR` to not be set. Because `puppet_gem` is relying on that to build the `gem.bat` path, it will end-up using a non-existing path, making this provider not suitable. \nUpdated the puppet_gem provider to use `Gem.default_bindir` to determine the location of the executables. To avoid accidental usage of `puppet_gem` provider with system ruby, a confine to the existence of `aio_agent_version` fact has been added."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Apr/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_102858039_*|*_1_*:*_1_*:*_429158824_*|*_10007_*:*_1_*:*_1122479222_*|*_3_*:*_1_*:*_446349260_*|*_10009_*:*_1_*:*_48613424_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_73919260"}], "description": "*Puppet Version: 7.0.0 - 7.5.0*\n *Puppet Server Version:* PE 2021\n *OS Name/Version: Windows agents*\n\nAfter the changes done in PUP-10677, the puppet_gem provider is no longer functional on Windows if the {{PUPPET_DIR}} environment variable is not present. The variable is set in environment.bat, which we source when executing puppet.bat and the puppet service.\nHowever, if Puppet is used without {{envionment.bat}}, or as a library in a ruby file, the variables may not be present. See https://github.com/puppetlabs/puppetlabs-package/blob/main/tasks/init.rb for an example.\n\n*Desired Behavior:*\n\nRunning the package task with the following parameters in PE passes:\n\nTask parameters:\naction: install\nname: pry\nprovider: puppet_gem\n\n*Actual Behavior:*\n\nRunning the task fails with the following:\n\n{code}\nError: Provider puppet_gem package command is not functional on this host\n\n{\n  \"status\" : \"failure\"\n}\n{code}\n\nNote that the package task has to be executed through PE/Orchestrator in order to be able to specify the {{provider}} parameter. When run on open source installations the task defaults to the powershell implementation which hardcodes choco and does not support setting a custom provider.\n\nSuggestion: {{Gem.default_bindir}} provides the path to {{gem.bat}}, but we don't have the certainty that puppet is being run with the system ruby or the vendored ruby.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22476", "fixedVersions": ["PUP 7.6.0"], "id": "22476", "issueType": "Bug", "key": "PUP-10964", "labels": ["doc_reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "resolution": "Fixed", "resolutionDate": "2021-04-06T23:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "unable to use package task to install gems with puppet_gem provider on Windows", "timeSpent": "PT0S", "updated": "2021-04-12T09:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:59af4a7d-2deb-40f0-904d-0d47ef61ad04", "body": "Can confirm same issue during Preseed install using same Puppet version\n\nI tried setting the provider ({{puppet resource service puppet enable=true provider=systemd}}) but that resulted in:\n\n{{\u00a0Error: /Service[puppet]: Provider systemd is not functional on this host}}", "created": "2021-04-14T20:25:00.000000"}], "components": [], "created": "2021-03-11T21:03:00.000000", "creator": "62437f24fd5e450070432502", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@753a06a2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o074jw:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Apr/21"}], "description": "*Puppet Version:* 6.21.1\n *Puppet Server Version:* N/A\n *OS Name/Version:* Ubuntu 18.04 and 20.04\n\nExecuting `puppet resource service puppet enable=true` during the Ubuntu install process will incorrectly use the `debian` provider instead of the `systemd` provider, causing the command to fail.\u00a0\n\nThis command is commonly used in provisioning scripts to enable puppet, and having the command fail leaves puppet disabled after provisioning.\u00a0\n\n*Desired Behavior:* The service is enabled\n\n*Actual Behavior:* An error occurs and the service is not enabled\n\nHere is the syslog output from the installer when it runs the command:\n\n{noformat}\nMar 12 03:37:23 in-target: ^[[1;31mError: Execution of '/usr/sbin/update-rc.d puppet defaults' returned 1: update-rc.d: error: unable to read /etc/init.d/puppet^[[0m\nMar 12 03:37:23 in-target: ^[[1;31mError: /Service[puppet]/enable: change from 'false' to 'true' failed: Execution of '/usr/sbin/update-rc.d puppet defaults' returned 1: update-rc.d: error: unable to read /etc/init.d/puppet^[[0m\nMar 12 03:37:23 in-target: Running in chroot, ignoring request.\nMar 12 03:37:23 in-target: service { 'puppet':\nMar 12 03:37:23 in-target: enable => 'false',\nMar 12 03:37:23 in-target: provider => 'debian',\nMar 12 03:37:23 in-target: }\n{noformat}\n\nIt looks like this was recently attempted to be fixed back in Feb: [https://github.com/puppetlabs/puppet/commit/27957cf25a894cd604309857c32b2b8fe3fac9d7]\n\nNote that once the OS boots properly, the command works as intended. It is only during the installation shell that it fails.\u00a0\n\nNoticed by Foreman users around March 1:\u00a0https://community.theforeman.org/t/puppet-agent-disabled-after-build-process/22605", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24516", "fixedVersions": [], "id": "24516", "issueType": "Bug", "key": "PUP-10963", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "62437f24fd5e450070432502", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet service provider incorrectly detected for Ubuntu during OS installation", "timeSpent": "PT0S", "updated": "2021-06-15T02:47:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623e763e1c7f6a00704b2956", "body": "I won't have time to push a patch right now, but it's a simple fix in [https://github.com/puppetlabs/puppet/blob/main/lib/puppet/util/selinux.rb#L55-L59]\n\n\u00a0\n\nReplacing the first snippet below with the second one and fixing testing.\n{code:java}retval = Selinux.matchpathcon(file, mode)\nif retval == -1\n\u00a0 return nil\nend\nretval[1]{code}\n{code:java}begin\n\u00a0 hnd = Selinux.selabel_open(SELABEL_CTX_FILE, nil, 0)\n\u00a0 retval = Selinux.selabel_lookup(hnd, nil, file, mode)\n\u00a0 if retval == -1\n\u00a0 \u00a0 return nil\n\u00a0 end\n\u00a0 retval[1]\nrescue\n\u00a0 nil\nensure\n\u00a0 Selinux.selabel_close(hnd) if hnd\n end{code}\n\u00a0The\u00a0SELABEL_CTX_FILE constant above is\u00a0SELABEL_CTX_FILE=0", "created": "2021-03-11T03:17:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Closing as a dup of PUP-7126", "created": "2022-03-28T18:28:00.000000"}], "components": [], "created": "2021-03-11T03:12:00.000000", "creator": "623e763e1c7f6a00704b2956", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "No usage of the matchpathcon(3) function."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1c709671"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11132"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o073l0:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Mar/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_8310758849_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_24745437162"}], "description": "Puppet::Util::SElinux uses the deprecated matchpathcon(3) exposed by the C bindings for SELinux.\n\nThis should be changed to instead open a handle with selabel_open, doing the lookup with selabel_lookup then closing the handle with selabel_close.\n\n\u00a0\n\nThis has been available since mid 2015 when it was introduced in [1] just need to verify it's included in all new major versions of supported operating systems.\n\n\u00a0[1] [https://github.com/SELinuxProject/selinux/commit/e7f970ffd1a8dbb26051405719a2288d34e856f6]\n\n\u00a0", "epicLinkSummary": "SELinux updates", "estimate": "PT0S", "externalId": "22434", "fixedVersions": [], "id": "22434", "issueType": "Improvement", "key": "PUP-10962", "labels": ["community"], "originalEstimate": "PT0S", "parent": "20247", "parentSummary": "SELinux updates", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e763e1c7f6a00704b2956", "resolution": "Duplicate", "resolutionDate": "2022-03-28T18:28:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Migrate SELinux util from matchpathcon(3) to selabel_lookup(3)", "timeSpent": "PT0S", "updated": "2022-03-28T18:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The main problem with {{option 2}} is the {{sensitive}} DSL method was added in PUP-8514 (in 6.0.0) and backported to 5.5.17 in (PUP-9249) but if your module's type is loaded by an older puppet version, then your type will fail to load. Passing {{sensitive}} in the options hash will work on old puppet versions, because the `newparam` method takes an options hash and ignores parameters it doesn't know about:\n\n{code:ruby}\n  def self.newparam(name, options = {}, &block)\n{code}", "created": "2021-03-11T11:51:00.000000"}], "components": [], "created": "2021-03-11T02:01:00.000000", "creator": "557058:6fa00105-1baa-443b-968e-3059980a262c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@50ca8032"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11372"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o073ks:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Mar/21"}], "description": "Add option to declare parameters and properties as sensitive without the set_sensitive_parmeters\n\nNow following options are available to mark the parameter as sensitive\n\noption 1\n\noverride the\u00a0{{set_sensitive_parameters}}\u00a0method and mark the parameter as sensitive. [https://github.com/puppetlabs/puppet/commit/abd866a648a32d3895011d25af5d4b3d994669c8#diff-7b346a4c9ed8ffeefe92b019c36ca30c8e3cf1cbfef09fc45485df64075adcc0R607-R614]\n\noption 2\n\ncall the\u00a0{{sensitive}}\u00a0DSL method like the user's password logonpassword parameter:\u00a0[https://github.com/puppetlabs/puppet/blob/12401c3af42cfbae41b48621f5b42336db1ace1d/lib/puppet/type/service.rb#L180]. This option requires puppet 6 or greater that supports the\u00a0{{sensitive}}\u00a0DSL method.\u00a0\n\nIt will be nice to have a feature which will help the module authors to declare parameters and properties as sensitive\n\nFor example\n{code:java}\nnewparam(..., sensitive: true)\n{code}\n\u00a0", "epicLinkSummary": "Agent Sensitive Data Handling", "estimate": "PT0S", "externalId": "21301", "fixedVersions": [], "id": "21301", "issueType": "New Feature", "key": "PUP-10961", "labels": [], "originalEstimate": "PT0S", "parent": "28848", "parentSummary": "Agent Sensitive Data Handling", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:6fa00105-1baa-443b-968e-3059980a262c", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Add option to declare parameters and properties as sensitive without the set_sensitive_parmeters", "timeSpent": "PT0S", "updated": "2021-11-30T14:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [{"author": "5fc46fd09592df0076141ac0", "body": "[~accountid:557058:c9b48d3b-3b16-4fba-80cb-daf19743b953]\u00a0This ticket resolves the known issue in PE-30479\n\nWas not sure if I should add this as a resolved issue (latest, latest-preview, or 2019.8) if this is fixed in PUP 7.6.0?\u00a0\n\n\u00a0", "created": "2021-04-08T13:06:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We should probably verify with customer0 that this actually fixes the issue before committing to documenting the fix.", "created": "2021-04-08T13:48:00.000000"}], "components": [], "created": "2021-03-09T18:10:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1d4b3a19"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "SERVER-2911"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o070dj:r"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Apr/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_71899746_*|*_1_*:*_1_*:*_73168357_*|*_3_*:*_1_*:*_1728495467_*|*_10009_*:*_1_*:*_27083812_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_586484981"}], "description": "Currently, we lock each individual loader object with its own lock. This can result in deadlocks, when loaders call into other loaders in the process of loading.\n\nInstead, we want to try a single, central, high-level lock, perhaps in the base {{load}} function, that is tied to the environment/loaders object. So only one thing can be loaded for a given environment at a time. This should avoid deadlocks.\n\nWe'll probably want to try profiling this a little, but it should avoid the issue that is currently making multithreaded with environment caching unusable. See SERVER-2860 and PE-30479.\n\nThis solution is an alternative to PUP-10958.", "epicLinkSummary": "Multithreaded Fixes", "estimate": "PT0S", "externalId": "26652", "fixedVersions": ["PUP 7.6.0"], "id": "26652", "issueType": "Improvement", "key": "PUP-10959", "labels": ["customer0"], "originalEstimate": "PT0S", "parent": "17234", "parentSummary": "Multithreaded Fixes", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2021-04-07T14:02:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Lock loaders using a single central lock", "timeSpent": "PT0S", "updated": "2021-12-01T12:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "Did you look into rewriting resource loading for compilation? That was something I wanted to do so that resource types and classes were also loaded with 4x loaders (the agent could continue loading the old way). I believe that would untangle one mess where logic needs to jump through hoops due to the many entry points leading to resource type loading - there must be a representation of it in the 4.x loaders to ensure a resource type isn't overridden with a pcore data type (for example). Thomas struggled with that and as I recall it there was a long tail of bugs related to that.\n\nHaving a clear separation of what happens during compilation and what the agent does would be very beneficial.", "created": "2021-03-09T13:03:00.000000"}], "components": [], "created": "2021-03-09T11:07:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@13b88cdd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "SERVER-2911"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0emad:r"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Mar/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_690646426_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_30838130848"}], "description": "Synchronizing the methods on loaders in multithreaded mode results in deadlocks when environment caching is enabled. In this case, the same set of loaders is being used in multiple threads, and while resolving a value, loaders call into other loaders to see if they have the value. If two mutually-connected loaders are trying to load something, and wind up asking each other at the same time if the other has their value, they can deadlock. See the stack traces [here|https://gist.github.com/Magisus/153a7253b63a01e3d01cf5dd30782a32].\n\nAnalyzing what would need to be locked to allow safe loading, it doesn't appear that it is possible to avoid this situation. So instead, we want to look into doing loading _everything_ up front when an environment is first used for a compile. We can synchronize this process, and then subsequent compiles against the environment won't need to do any loading, so it's safe to not synchronize the loaders at all.\n\nIdeally, this preloading would be fairly contained, so that we could easily opt into it, and use it only when multithreaded and environment caching are both in use. It's a fairly expensive operation that we wouldn't want to run all the time.\n\nInvestigation doc: https://docs.google.com/document/d/1xVxv4zDcT0eT44dN39Bqr85QwU_I9IsGfBXRnSMdyUc/edit?usp=sharing\n\nThe most promising thing I've found so far is that loaders currently implement a {{discover}} method, that can search for and load all examples of a certain class of Puppet object: functions, types, tasks, and plans. Calling these before first compile gets us a good bit of the way, but they don't work for some things, notably resource types. So part of this work might be extending that system, if possible, to support other classes of loadable things.\n\nThis effort needs more breaking down and better scoping, and might end up needing its own epic.", "epicLinkSummary": "Multithreaded Fixes", "estimate": "PT0S", "externalId": "23448", "fixedVersions": [], "id": "23448", "issueType": "New Feature", "key": "PUP-10958", "labels": ["customer0"], "originalEstimate": "PT0S", "parent": "17234", "parentSummary": "Multithreaded Fixes", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2022-03-09T09:07:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Load everything in an environment upfront before first compile", "timeSpent": "PT0S", "updated": "2022-03-09T09:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "5e473069c8ec310c955b241d", "body": "PUP-10247 may fix PUP-10957.", "created": "2021-03-09T08:29:00.000000"}, {"author": "623c10497910a200718b930f", "body": "I see the same error on my Archlinux systems that just updated to ruby 3.", "created": "2021-04-20T10:09:00.000000"}, {"author": "557058:d266d245-5cba-4a99-842a-d1e061513459", "body": "FWIW, I was pointed towards [https://github.com/puppetlabs/puppet/blob/7.6.1/lib/puppet/util.rb#L469-L476] in slack as a key issue as a by product of [https://github.com/ruby/uri/issues/14]", "created": "2021-04-22T09:54:00.000000"}, {"author": "5c9abe06657940451306fc10", "body": "Same problem for me with Ruby in version 3 on Archlinux.", "created": "2021-04-25T14:09:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I've started looking at this for puppet. The main issues are:\n * FACT-3028: puppet is pulling in facter 2.5.7\n * sorted_set was moved to a gem\n * webrick was moved to a gem (we use it for testing only)\n * URI.escape/unescape was removed\n * rspec doesn't like how we're stubbing $CHILD_STATUS in provider tests\n * openssl is reporting certificate mismatch errors differently -maybe related to post handshake authentication in TLS 1.3-\n * Ruby 3 on Windows uses UTF-8 instead of the encoding for the current code page", "created": "2021-04-27T13:31:00.000000"}, {"author": "557058:233fa320-7a89-47e6-875d-eb22e4e94cce", "body": "Would it be possible to backport support for ruby3 in puppet6 ?\n\n", "created": "2021-05-06T08:17:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:233fa320-7a89-47e6-875d-eb22e4e94cce] we don't typically add support for new ruby versions to older branches. For example, we didn't add ruby 2.7 support to the 5.x branch.", "created": "2021-05-06T17:37:00.000000"}, {"author": "557058:233fa320-7a89-47e6-875d-eb22e4e94cce", "body": "Apparently there are some issues with semantic_puppet? https://github.com/puppetlabs/semantic_puppet/pull/36\n", "created": "2021-05-17T01:25:00.000000"}, {"author": "5e473069c8ec310c955b241d", "body": "Do we have any deadline for this?", "created": "2021-05-17T08:33:00.000000"}, {"author": "557058:233fa320-7a89-47e6-875d-eb22e4e94cce", "body": "While testing with ruby3, we hit other URI.escape issue in https://github.com/puppetlabs/puppetlabs-stdlib/blob/main/lib/puppet/parser/functions/uriescape.rb#L31", "created": "2021-05-20T03:22:00.000000"}], "components": [], "created": "2021-03-09T08:17:00.000000", "creator": "5e473069c8ec310c955b241d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Coremunity"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5767ffda"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-12"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Support ruby 3.0"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "grey"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o072co:"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "49183,50655"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Apr/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4759712633_*|*_6_*:*_1_*:*_0_*|*_10014_*:*_1_*:*_1895386500"}], "description": "Hi,\n\nFedora 34 ships ruby 3.0. Very soon it will be on Redhat, Centos and Rockylinux.\n\nIt would be really cool if we could fix what is remaining to make puppet work with ruby 3.\n\nHere is what I get when I try to run it on a fedora 34 and ruby 3:\n\n{noformat}\nruby --version\nruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-linux]\n \npuppet --version\n/usr/share/ruby/vendor_ruby/puppet/util.rb:476:in `uri_encode': undefined method `escape' for URI:Module (NoMethodError)\nfrom /usr/share/ruby/vendor_ruby/puppet/util.rb:344:in `path_to_uri'\nfrom /usr/share/ruby/vendor_ruby/puppet/pops/model/ast.rb:4957:in `register_pcore_types'\nfrom /usr/share/ruby/vendor_ruby/puppet/pops.rb:120:in `<module:Puppet>'\nfrom /usr/share/ruby/vendor_ruby/puppet/pops.rb:1:in `<top (required)>'\nfrom <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'\nfrom <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'\nfrom /usr/share/ruby/vendor_ruby/puppet/parser/compiler.rb:8:in `<top (required)>'\nfrom <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'\nfrom <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'\nfrom /usr/share/ruby/vendor_ruby/puppet/parser.rb:6:in `<top (required)>'\nfrom <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'\nfrom <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'\nfrom /usr/share/ruby/vendor_ruby/puppet.rb:360:in `<top (required)>'\nfrom <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'\nfrom <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'\nfrom /usr/share/ruby/vendor_ruby/puppet/util/command_line.rb:12:in `<top (required)>'\nfrom <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'\nfrom <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'\nfrom /usr/bin/puppet:4:in `<main>'\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22432", "fixedVersions": ["PUP 7.7.0"], "id": "22432", "issueType": "Epic", "key": "PUP-10957", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5e473069c8ec310c955b241d", "resolution": "Fixed", "resolutionDate": "2021-05-25T09:55:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Support ruby 3 - Phase 1", "timeSpent": "PT0S", "updated": "2023-01-08T23:06:00.000000", "votes": "6", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "proposed fix: https://github.com/puppetlabs/puppet/compare/main...GabrielNagy:PUP-10956-poc", "created": "2021-03-09T07:08:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 09aa69bbfa", "created": "2021-07-16T12:59:00.000000"}], "components": [], "created": "2021-03-09T06:27:00.000000", "creator": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@455960c8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o09kbc:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Before this fix, the `pkg` package provider was unable to handle manifests where a package was updated and marked as unhold at the same time. This fix ensures the package is first unhold and then updated when trying to install certain versions."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_285645146_*|*_1_*:*_1_*:*_8451078721_*|*_10007_*:*_1_*:*_350523260_*|*_3_*:*_1_*:*_268031792_*|*_10009_*:*_1_*:*_221451177_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1810304874"}], "description": "*Puppet Version:* starting with 5.5.19, 6.13.0 and 7.0.0\n *Puppet Server Version:* n/a\n *OS Name/Version:* Solaris 11\n\nDescribe your issue in as much detail as possible\u2026\n\nAfter the addition of the {{mark}} property, a package cannot pe unheld and updated in the same run.\n\nDescribe steps to reproduce\u2026\n\nAssuming {{mypkg}} is installed with version 0.0.2, and held/frozen, apply the following manifest:\n\n{code}\npackage {mypkg : ensure=>\"0.0.3\", mark=>\"none\", provider=>\"pkg\"}\n{code}\n\n*Desired Behavior:*\n\nThe package is unheld/unfrozen, and updated to 0.0.3\n\n*Actual Behavior:*\n\nPuppet attempts to update the package first, which results in:\n\n{code}\nDebug: Executing: '/usr/bin/pkg update -n mypkg@0.0.3,5.11:20210309T130735Z'\nError: No version of mypkg matching 0.0.3 is installable, even though the package is currently installed\nError: /Stage[main]/Main/Package[mypkg]/ensure: change from '0.0.2,5.11:20210309T130605Z' to '0.0.3' failed: No version of mypkg matching 0.0.3 is installable, even though the package is currently installed\n{code}\n\nAttempting to manually run {{pkg update}} gives:\n{code}\nCreating Plan (Solver setup): \\\npkg update: No matching version of mypkg can be installed:\n  Reject:  pkg://tstpub.lan/mypkg@0.0.3,5.11:20210309T130735Z\n  Reason:  This version is excluded by a freeze on mypkg at version 0.0.2,5.11:20210309T130605Z.\n{code}\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29723", "fixedVersions": ["PUP 6.25.0", "PUP 7.10.0"], "id": "29723", "issueType": "Bug", "key": "PUP-10956", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "resolution": "Fixed", "resolutionDate": "2021-07-19T02:31:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "pkg provider cannot unhold and update package in the same run", "timeSpent": "PT0S", "updated": "2021-08-11T07:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in\u00a0https://github.com/puppetlabs/puppet/commit/1da11137af2412c531b4337f60debc7ed426122f", "created": "2021-06-29T14:09:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This was reverted in 6.x in 685cbcc74d and in main in 69e708c80f", "created": "2021-07-02T10:24:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This was unreverted in 6.x in c0071fc4e0 but had to be reverted again in fa308bca3d due to issues with PUP-11158.", "created": "2021-07-27T12:52:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in\u00a0082ab3be87", "created": "2021-07-30T12:21:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in\u00a06ce33c3955", "created": "2021-08-02T09:44:00.000000"}], "components": [], "created": "2021-03-08T13:41:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6580b2d2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10539"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o08xzo:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fixes a bug that could result in puppet caching duplicate copies of an environment."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_3_*:*_636639201_*|*_1_*:*_1_*:*_8533216551_*|*_10007_*:*_3_*:*_414426949_*|*_3_*:*_4_*:*_1205415432_*|*_4_*:*_1_*:*_24545625_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1206167410_*|*_10005_*:*_1_*:*_662656445"}], "description": "The {{Puppet::Environments::Cached#get}} method says it accepts Strings or Symbols, but it  doesn't normalize the name when getting/setting the environment in the cache. So you can end up caching environments for {{\"production\"}} and {{:production}}. \n\nAgent side we lookup the environment based on the {{Puppet[:environment]}} setting. Server side we lookup the [{{environment}} from a query parameter|https://github.com/puppetlabs/puppet/blob/12401c3af42cfbae41b48621f5b42336db1ace1d/lib/puppet/network/http/api/indirected_routes.rb#L95]. But there are other entry points like Bolt and non-indirected REST APIs, so it would be good to fix this.\n\n{code:ruby}\nrequire 'puppet'\nPuppet.initialize_settings\nPuppet::Util::Log.newdestination(:console)\nPuppet::ApplicationSupport.push_application_context(Puppet::Util::RunMode[:user])\nenvs = Puppet.lookup(:environments)\nenvs.get!('production')\nenvs.get!(:production)\npp envs.instance_variable_get(:@cache).keys\n{code}\n\n{noformat}\n$ bx ruby cache.rb\n[\"production\", :production]\n{noformat}", "epicLinkSummary": "Environment convergence", "estimate": "PT0S", "externalId": "27723", "fixedVersions": ["PUP 6.25.0", "PUP 7.10.0"], "id": "27723", "issueType": "Bug", "key": "PUP-10955", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": "24513", "parentSummary": "Environment convergence", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-08-02T09:45:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Environment caches string and symbol environment names differently", "timeSpent": "PT0S", "updated": "2021-08-11T07:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I have a project [https://github.com/joshcooper/puppetdeps] that has a runtime dependency on [puppet '~> 6.0'|https://github.com/joshcooper/puppetdeps/blob/0e7f33e91e7635c3270fecfbe0acf89a3a32e554/puppetdeps.gemspec#L28]. When I do bundle install on windows, puppet's transitive dependencies are resolved correctly and I get ffi & win32* gems:\n\n{noformat}\nPS C:\\Users\\josh\\projects\\puppetdeps> bundle --version\nBundler version 2.1.4\nPS C:\\Users\\josh\\projects\\puppetdeps> bundle install --path .bundle\n[DEPRECATED] The `--path` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set path '.bundle'`, and stop using this flag\nFetching gem metadata from https://rubygems.org/........\nResolving dependencies...\nFetching rake 13.0.3\nInstalling rake 13.0.3\nUsing bundler 2.1.4\nFetching concurrent-ruby 1.1.8\nInstalling concurrent-ruby 1.1.8\nFetching deep_merge 1.2.1\nInstalling deep_merge 1.2.1\nFetching hocon 1.3.1\nInstalling hocon 1.3.1\nFetching thor 1.1.0\nInstalling thor 1.1.0\nFetching facter 4.0.51\nInstalling facter 4.0.51\nFetching fast_gettext 1.8.0\nInstalling fast_gettext 1.8.0\nFetching ffi 1.15.0 (x64-mingw32)\nInstalling ffi 1.15.0 (x64-mingw32)\nFetching hiera 3.6.0\nInstalling hiera 3.6.0\nFetching httpclient 2.8.3\nInstalling httpclient 2.8.3\nFetching locale 2.1.3\nInstalling locale 2.1.3\nFetching minitar 0.9\nInstalling minitar 0.9\nFetching minitest 5.14.4\nInstalling minitest 5.14.4\nFetching multi_json 1.15.0\nInstalling multi_json 1.15.0\nFetching puppet-resource_api 1.8.13\nInstalling puppet-resource_api 1.8.13\nFetching semantic_puppet 1.0.3\nInstalling semantic_puppet 1.0.3\nFetching win32-dir 0.4.9\nInstalling win32-dir 0.4.9\nFetching win32-process 0.7.5\nInstalling win32-process 0.7.5\nFetching win32-security 0.2.5\nInstalling win32-security 0.2.5\nFetching win32-service 0.8.8\nInstalling win32-service 0.8.8\nFetching puppet 6.21.1 (x64-mingw32)\nInstalling puppet 6.21.1 (x64-mingw32)\nUsing puppetdeps 0.1.0 from source at `.`\nBundle complete! 3 Gemfile dependencies, 23 gems now installed.\nBundled gems are installed into `./.bundle`\nPost-install message from minitar:\nThe `minitar` executable is no longer bundled with `minitar`. If you are\nexpecting this executable, make sure you also install `minitar-cli`.\n{noformat}\n\nWhen I install on macOS, I get the universal-darwin version of puppet:\n\n{noformat}$ bundle --version\nBundler version 2.2.4\n$ bundle install --path .bundle\n[DEPRECATED] The `--path` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set --local path '.bundle'`, and stop using this flag\nFetching gem metadata from https://rubygems.org/........\nFetching rake 13.0.3\nInstalling rake 13.0.3\nFetching CFPropertyList 2.3.6\nUsing bundler 2.2.4\nFetching thor 1.1.0\nFetching locale 2.1.3\nFetching concurrent-ruby 1.1.8\nFetching fast_gettext 1.8.0\nFetching hocon 1.3.1\nFetching httpclient 2.8.3\nFetching hiera 3.6.0\nFetching multi_json 1.15.0\nFetching deep_merge 1.2.1\nFetching minitest 5.14.4\nFetching semantic_puppet 1.0.3\nInstalling CFPropertyList 2.3.6\nInstalling multi_json 1.15.0\nInstalling deep_merge 1.2.1\nInstalling fast_gettext 1.8.0\nInstalling semantic_puppet 1.0.3\nInstalling hiera 3.6.0\nInstalling thor 1.1.0\nInstalling locale 2.1.3\nInstalling minitest 5.14.4\nInstalling hocon 1.3.1\nInstalling concurrent-ruby 1.1.8\nInstalling httpclient 2.8.3\nFetching puppet-resource_api 1.8.13\nFetching facter 4.0.51\nInstalling puppet-resource_api 1.8.13\nInstalling facter 4.0.51\nFetching puppet 6.21.1 (universal-darwin)\nInstalling puppet 6.21.1 (universal-darwin)\nUsing puppetdeps 0.1.0 from source at `.`\nBundle complete! 3 Gemfile dependencies, 18 gems now installed.\nBundled gems are installed into `./.bundle`\n{noformat}\n\nUsing a local checkout of puppet also works:\n\n{noformat}\nPS C:\\Users\\josh\\projects\\puppetdeps> git diff\ndiff --git a/Gemfile b/Gemfile\nindex 2b74691..b231c7f 100644\n--- a/Gemfile\n+++ b/Gemfile\n@@ -5,6 +5,8 @@ source \"https://rubygems.org\"\n # Specify your gem's dependencies in puppetdeps.gemspec\n gemspec\n\n+gem \"puppet\", path: \"/Users/josh/projects/puppet\"\n+\n gem \"rake\", \"~> 13.0\"\n\n gem \"minitest\", \"~> 5.0\"\nPS C:\\Users\\josh\\projects\\puppetdeps> Remove-Item .\\.bundle -Recurse -Force                                                                              PS C:\\Users\\josh\\projects\\puppetdeps> Remove-Item Gemfile.lock\nPS C:\\Users\\josh\\projects\\puppetdeps> bundle install --path .bundle\n[DEPRECATED] The `--path` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set path '.bundle'`, and stop using this flag\nFetching gem metadata from https://rubygems.org/.......\nResolving dependencies...\nFetching rake 13.0.3\nInstalling rake 13.0.3\nFetching CFPropertyList 2.3.6\nInstalling CFPropertyList 2.3.6\nUsing bundler 2.1.4\nFetching concurrent-ruby 1.1.8\nInstalling concurrent-ruby 1.1.8\nFetching deep_merge 1.2.1\nInstalling deep_merge 1.2.1\nFetching hocon 1.3.1\nInstalling hocon 1.3.1\nFetching thor 1.1.0\nInstalling thor 1.1.0\nFetching facter 4.0.51\nInstalling facter 4.0.51\nFetching fast_gettext 1.8.0\nInstalling fast_gettext 1.8.0\nFetching ffi 1.15.0 (x64-mingw32)\nInstalling ffi 1.15.0 (x64-mingw32)\nFetching hiera 3.6.0\nInstalling hiera 3.6.0\nFetching httpclient 2.8.3\nInstalling httpclient 2.8.3\nFetching locale 2.1.3\nInstalling locale 2.1.3\nFetching minitar 0.9\nInstalling minitar 0.9\nFetching minitest 5.14.4\nInstalling minitest 5.14.4\nFetching multi_json 1.15.0\nInstalling multi_json 1.15.0\nFetching semantic_puppet 1.0.3\nInstalling semantic_puppet 1.0.3\nFetching win32-dir 0.4.9\nInstalling win32-dir 0.4.9\nFetching win32-process 0.7.5\nInstalling win32-process 0.7.5\nFetching win32-security 0.2.5\nInstalling win32-security 0.2.5\nFetching win32-service 0.8.8\nInstalling win32-service 0.8.8\nUsing puppet 6.22.0 from source at `C:/Users/josh/projects/puppet`\nUsing puppetdeps 0.1.0 from source at `.`\nBundle complete! 4 Gemfile dependencies, 23 gems now installed.\nBundled gems are installed into `./.bundle`\nPost-install message from minitar:\nThe `minitar` executable is no longer bundled with `minitar`. If you are\nexpecting this executable, make sure you also install `minitar-cli`.\n{noformat}\n\nAs does using a {{git}} source and {{branch}}:\n\n{noformat}\nPS C:\\Users\\josh\\projects\\puppetdeps> git diff\ndiff --git a/Gemfile b/Gemfile\nindex 2b74691..120984b 100644\n--- a/Gemfile\n+++ b/Gemfile\n@@ -5,6 +5,8 @@ source \"https://rubygems.org\"\n # Specify your gem's dependencies in puppetdeps.gemspec\n gemspec\n\n+gem \"puppet\", git: \"https://github.com/puppetlabs/puppet\", branch: \"6.x\"\n+\n gem \"rake\", \"~> 13.0\"\n\n gem \"minitest\", \"~> 5.0\"\nPS C:\\Users\\josh\\projects\\puppetdeps> Remove-Item .\\.bundle -Recurse -Force\nPS C:\\Users\\josh\\projects\\puppetdeps> Remove-Item Gemfile.lock\nPS C:\\Users\\josh\\projects\\puppetdeps> bundle install --path .bundle\n[DEPRECATED] The `--path` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set path '.bundle'`, and stop using this flag\nFetching https://github.com/puppetlabs/puppet\nFetching gem metadata from https://rubygems.org/.......\nResolving dependencies...\nFetching rake 13.0.3\nInstalling rake 13.0.3\nFetching CFPropertyList 2.3.6\nInstalling CFPropertyList 2.3.6\nUsing bundler 2.1.4\nFetching concurrent-ruby 1.1.8\nInstalling concurrent-ruby 1.1.8\nFetching deep_merge 1.2.1\nInstalling deep_merge 1.2.1\nFetching hocon 1.3.1\nInstalling hocon 1.3.1\nFetching thor 1.1.0\nInstalling thor 1.1.0\nFetching facter 4.0.51\nInstalling facter 4.0.51\nFetching fast_gettext 1.8.0\nInstalling fast_gettext 1.8.0\nFetching ffi 1.15.0 (x64-mingw32)\nInstalling ffi 1.15.0 (x64-mingw32)\nFetching hiera 3.6.0\nInstalling hiera 3.6.0\nFetching httpclient 2.8.3\nInstalling httpclient 2.8.3\nFetching locale 2.1.3\nInstalling locale 2.1.3\nFetching minitar 0.9\nInstalling minitar 0.9\nFetching minitest 5.14.4\nInstalling minitest 5.14.4\nFetching multi_json 1.15.0\nInstalling multi_json 1.15.0\nFetching semantic_puppet 1.0.3\nInstalling semantic_puppet 1.0.3\nFetching win32-dir 0.4.9\nInstalling win32-dir 0.4.9\nFetching win32-process 0.7.5\nInstalling win32-process 0.7.5\nFetching win32-security 0.2.5\nInstalling win32-security 0.2.5\nFetching win32-service 0.8.8\nInstalling win32-service 0.8.8\nUsing puppet 6.22.0 from https://github.com/puppetlabs/puppet (at 6.x@72955cc)\nUsing puppetdeps 0.1.0 from source at `.`\nBundle complete! 4 Gemfile dependencies, 23 gems now installed.\nBundled gems are installed into `./.bundle`\nPost-install message from minitar:\nThe `minitar` executable is no longer bundled with `minitar`. If you are\nexpecting this executable, make sure you also install `minitar-cli`.\n{noformat}\n\nBundler/Rubygem's handling of platform specific gems has been spotty over the years, so perhaps you're using an older ruby and/or bundler version?", "created": "2021-03-08T13:13:00.000000"}, {"author": "557058:68216498-c6bf-4e8f-92c1-ac84887b7c02", "body": "I'm a dummy - I tried this locally on my linux box, if the win32 dependencies are platform specific, or course I'm not gonna see them. Thanks for clarifying, this means we can remove the additional dependencies from the PDK templates!", "created": "2021-03-09T06:15:00.000000"}], "components": [], "created": "2021-03-05T06:19:00.000000", "creator": "557058:68216498-c6bf-4e8f-92c1-ac84887b7c02", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@447d34e5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o070ls:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Mar/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_284010624_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_61318827"}], "description": "*Puppet Version:* git repo, main and 6.x branch\n\nThe [.gemspec|https://github.com/puppetlabs/puppet/blob/main/.gemspec] file claims it is \"intended for use with bundler when Puppet is a dependency of another project\", but is not reflecting the correct gem dependencies as uploaded to rubygems.\n\n*Desired Behavior:*\n\nReferencing the puppet repository in a Gemfile pulls all gems required by puppet and packaged in the agent.\n\n*Actual Behavior:*\n\nReferencing the puppet repository in a Gemfile doesn't pull in the win32-* dependencies that https://rubygems.org/gems/puppet/versions/6.21.1-x64-mingw32 has.\n\n*Context:*\n\nThis was found during the analysis of MODULES-10963.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22430", "fixedVersions": [], "id": "22430", "issueType": "Bug", "key": "PUP-10954", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:68216498-c6bf-4e8f-92c1-ac84887b7c02", "resolution": "Cannot Reproduce", "resolutionDate": "2021-03-09T06:15:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": ".gemspec doesn't fulfill its stated goal", "timeSpent": "PT0S", "updated": "2021-03-09T06:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:50b59257-833b-4781-b2cd-bd1ad41bbf2d", "body": "Fixed by puppet module upgrade puppetlabs-acl. Is there any way to do it automatically?", "created": "2021-03-05T02:45:00.000000"}, {"author": "5abd613dd4cf3c56be24b70d", "body": "[~accountid:70121:50b59257-833b-4781-b2cd-bd1ad41bbf2d]\u00a0looks like the dependency on win32/security was removed in this PR: [https://github.com/puppetlabs/puppetlabs-acl/pull/208]\u00a0and released as part of version 3.2.1 of the puppetlabs-acl module:\u00a0https://github.com/puppetlabs/puppetlabs-acl/blob/main/CHANGELOG.md", "created": "2021-03-05T02:46:00.000000"}], "components": [], "created": "2021-03-05T02:27:00.000000", "creator": "70121:50b59257-833b-4781-b2cd-bd1ad41bbf2d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7e337c5f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-9120"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o070ko:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Mar/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_1802564_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 7.4.1*\n *Puppet Server Version: 7.0.3*\n *OS Name/Version: Windows 10*\n\n*I found in puppet/provider/acl/windows/base.rb require 'win32/security'.*\n\nPuppet: Could not autoload puppet/provider/acl/windows: cannot load such file -- win32/security\nPuppet: Could not autoload puppet/type/acl: Could not autoload puppet/provider/acl/windows: cannot load such file -- win32/security\nPuppet: Failed to apply catalog: Could not autoload puppet/type/acl: Could not autoload puppet/provider/acl/windows: cannot load such file -- win32/security.\n\nAs I have read this should be removed.\n\n\u00a0", "environment": "Production", "epicLinkSummary": "Puppet 7.0.0 Removals", "estimate": "PT0S", "externalId": "27722", "fixedVersions": [], "id": "27722", "issueType": "Bug", "key": "PUP-10953", "labels": ["acl", "community", "provider", "windows"], "originalEstimate": "PT0S", "parent": "23142", "parentSummary": "Puppet 7.0.0 Removals", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:50b59257-833b-4781-b2cd-bd1ad41bbf2d", "resolution": "Fixed", "resolutionDate": "2021-03-05T02:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": " Could not autoload puppet/provider/acl/windows: cannot load such file \u2013 win32/security", "timeSpent": "PT0S", "updated": "2021-03-05T02:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "On further investigation, it seems like it might be a bug that the {{rich_data}} hook is getting called in this context at all. It is not called when the server starts and initializes settings normally, but is called, from [here|https://github.com/puppetlabs/puppet/blob/main/lib/puppet/settings.rb#L624-L628] when we create the threadlocal settings object when a setting is updated during a compile. Dunno why yet, but that seems like something we'd rather didn't happen, and fixing that seems better than removing the hook.", "created": "2021-03-09T13:15:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "So I was wrong: we do call that hook when initializing the settings on server start too, we just don't have logging set up yet when that happens. Apparently \"on_write_only\" hooks are also [called|https://github.com/puppetlabs/puppet/blob/ecf15aa99f4f6503b0aa6844c538d00b968fe727/lib/puppet/settings.rb#L624-L628] when settings are parsed. It does not appear to be possible to avoid that.", "created": "2021-03-18T16:33:00.000000"}], "components": [], "created": "2021-03-04T16:50:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@e4670a7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "SERVER-2911"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Manual Test"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o070dc:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Changing the value of Puppet's `rich_data` setting at runtime will no longer invalidate the environment cache."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_65839055_*|*_1_*:*_1_*:*_533987_*|*_10007_*:*_3_*:*_482733888_*|*_3_*:*_2_*:*_530073157_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_414671385_*|*_10006_*:*_1_*:*_666499870_*|*_10005_*:*_1_*:*_58881448"}], "description": "While doing research on new loader architectures for SERVER-2860, I discovered the following:\n\nIn {{multithreaded}} mode in Puppetserver, we create a new settings object whenever a Puppet setting changes while a JRuby request is being processed. One example is if a Puppet function in a module calls {{Puppet[]=}}. In the process of initializing the new settings object with overrides (for thread safety), we resolve all settings. The {{rich_data}} setting [clears out the environment cache|https://github.com/puppetlabs/puppet/blob/main/lib/puppet/defaults.rb#L2162] when resolved.\n\nThis means if you are changing any Puppet settings in your catalog, in multithreaded mode environment caching is effectively disabled, because the cache will be invalidated on every compile of the offending environment.\n\nWe should find out why the hook is being called in the first place when [initializing|https://github.com/puppetlabs/puppetserver/blob/9ecd7fb18cd8e02edcfa9e2130c0b2053e0a3209/src/ruby/puppetserver-lib/puppet/server/settings.rb#L25-L31] the threadlocal settings object (we're not altering that setting, and the default hook mode is \"on_write_only\"), and see if we can avoid it.", "epicLinkSummary": "Multithreaded Fixes", "estimate": "PT0S", "externalId": "23447", "fixedVersions": ["PUP 7.6.0"], "id": "23447", "issueType": "Bug", "key": "PUP-10952", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": "17234", "parentSummary": "Multithreaded Fixes", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2021-03-30T10:18:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Changing a Puppet setting in a catalog invalidates the env cache in multithreaded mode", "timeSpent": "PT0S", "updated": "2021-04-13T06:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [{"attacher": "557058:c16d7f1a-bff7-46b5-a8c1-7189ecf15616", "created": "2021-03-09T09:30:00.000000", "name": "pup_10951.tar.gz", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12037"}], "comments": [{"author": "557058:c16d7f1a-bff7-46b5-a8c1-7189ecf15616", "body": "To clarify, in Puppet 5 and 6 at least, using\n\n{noformat}\nService <| title == $key |> {\n  * => $value,\n}\n{noformat}\n\nwould override parameters of the {{Service}} resource.\n\nI've attached a module  [^pup_10951.tar.gz] with example code and rspec tests that demonstrate the issue.  Note that {{pdk test unit --puppet-version=5}} and {{pdk test unit --puppet-version=6}} work fine, but {{pdk test unit --puppet-version=7}} fails with the \"{{The operator '* =>' in a Virtual Query is not supported.}}\" error.", "created": "2021-03-09T09:33:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "{code:puppet}\n@file { '/tmp/file':\n  ensure => file,\n}\n\n$permissions = {\n  \"mode\"  => \"0640\",\n}\n\nFile <| title == '/tmp/file' |> {\n  * => $permissions,\n}\n{code}\n\n{noformat}\n$ git bisect bad 7.0.0\n$ git bisect good cb8e58ab94\n$ git bisect run ./bisect.sh\nrunning ./bisect.sh\nError: Could not parse for environment production: The operator '* =>' in a Virtual Query is not supported. (file: /Users/josh/work/puppet/virt.pp, line: 9, column: 1) on node localhost\nBisecting: 74 revisions left to test after this (roughly 6 steps)\n[eedb1b57655ec4e728ef640a247f3fac0a39a279] Merge pull request #8337 from ciprianbadescu/PUP-10598/ignore_plugin_errors\nrunning ./bisect.sh\nError: Could not parse for environment production: The operator '* =>' in a Virtual Query is not supported. (file: /Users/josh/work/puppet/virt.pp, line: 9, column: 1) on node localhost\nBisecting: 36 revisions left to test after this (roughly 5 steps)\n[e565c0d86805ef7ae7a1f00d26e0b418ae25e677] Merge pull request #8324 from joshcooper/uncompress_body_main_10661\nrunning ./bisect.sh\nError: Could not parse for environment production: The operator '* =>' in a Virtual Query is not supported. (file: /Users/josh/work/puppet/virt.pp, line: 9, column: 1) on node localhost\nBisecting: 18 revisions left to test after this (roughly 4 steps)\n[a0d37fb48a9ad975c6e7aaf3abd98b106aeaa801] (PUP-10583) Update acceptance after SHA256 digest change\nrunning ./bisect.sh\nError: Could not parse for environment production: The operator '* =>' in a Virtual Query is not supported. (file: /Users/josh/work/puppet/virt.pp, line: 9, column: 1) on node localhost\nBisecting: 9 revisions left to test after this (roughly 3 steps)\n[801c4334a10b6bd3dbe3b461bdb767b5349c4173] (PUP-10653) Remove usage of Dir constants\nrunning ./bisect.sh\nError: Could not parse for environment production: The operator '* =>' in a Virtual Query is not supported. (file: /Users/josh/work/puppet/virt.pp, line: 9, column: 1) on node localhost\nBisecting: 4 revisions left to test after this (roughly 2 steps)\n[20fcd0d5d3d347c1dfb17deab39d326eebed1b76] (PUP-10446) Remove Site, Application, CapabilityMapping models\nrunning ./bisect.sh\nError: Could not parse for environment production: The operator '* =>' in a Virtual Query is not supported. (file: /Users/josh/work/puppet/virt.pp, line: 9, column: 1) on node localhost\nBisecting: 1 revision left to test after this (roughly 1 step)\n[7ef08112c9e2fc29480c6d97446bb9df25bd9c30] (PUP-10446) Remove export & consume metaparameters\nrunning ./bisect.sh\nNotice: Compiled catalog for localhost in environment production in 0.01 seconds\nNotice: Applied catalog in 0.01 seconds\nBisecting: 0 revisions left to test after this (roughly 0 steps)\n[8bdaaecdce07c943e9ee0fc3ef3deb717450003f] (PUP-10446) Remove usages of Site, Application, CapabilityMapping models\nrunning ./bisect.sh\nError: Could not parse for environment production: The operator '* =>' in a Virtual Query is not supported. (file: /Users/josh/work/puppet/virt.pp, line: 9, column: 1) on node localhost\n8bdaaecdce07c943e9ee0fc3ef3deb717450003f is the first bad commit\ncommit 8bdaaecdce07c943e9ee0fc3ef3deb717450003f\nAuthor: Josh Cooper <joshcooper@users.noreply.github.com>\nDate:   Thu Sep 3 17:05:16 2020 -0700\n\n    (PUP-10446) Remove usages of Site, Application, CapabilityMapping models\n\n:040000 040000 da08e10ba147875fba810e5711733846791b00dd 11df08843c4f1d643319e0aab4af3307204fd9b4 M\tlib\nbisect run success\n{noformat}", "created": "2021-03-09T10:42:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This was broken in https://github.com/puppetlabs/puppet/commit/8bdaaecdce07c943e9ee0fc3ef3deb717450003f#diff-2fddabb7a8e2dc5edd8ca894974fa5082d2ab3aa0992c5752b07283f757e8278R237-R240. The line {{acceptor.accept(Issues::UNSUPPORTED_OPERATOR_IN_CONTEXT, p, :operator=>'* =>')}} should have been removed along with {{when Model::CapabilityMapping}}.", "created": "2021-03-09T11:33:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/a91b4d7c147f97d9a71f85387c67ddcc759738fe", "created": "2021-03-09T12:08:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 16d765db7", "created": "2021-03-10T13:14:00.000000"}], "components": ["Language"], "created": "2021-03-04T14:03:00.000000", "creator": "557058:c16d7f1a-bff7-46b5-a8c1-7189ecf15616", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2e37ab3b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0703k:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fixes a regression in 7.x which prevented the splat operator from being used to override resource attributes in a resource collector."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Mar/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_90429921_*|*_1_*:*_1_*:*_419913910_*|*_10007_*:*_1_*:*_2102288_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3064197"}], "description": "On Puppet 7.4.1, I get \"The operator '* =>' in a Virtual Query is not supported.\" from the following code:\n\n{noformat}\n  $services.each |$key, $value| {\n    if defined(Service[$key]) {\n      Service <| title == $key |> {\n        * => $value,\n      }\n    } else {\n      service { $key:\n        * => $value,\n      }\n    }\n  }\n{noformat}\n\nThis seemed to work fine with Puppet 5 and 6.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29722", "fixedVersions": ["PUP 7.5.0"], "id": "29722", "issueType": "Bug", "key": "PUP-10951", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c16d7f1a-bff7-46b5-a8c1-7189ecf15616", "resolution": "Fixed", "resolutionDate": "2021-03-10T13:15:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "The operator '* =>' in a Virtual Query is not supported.", "timeSpent": "PT0S", "updated": "2021-03-10T13:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:68216498-c6bf-4e8f-92c1-ac84887b7c02", "body": "This issue is affecting customers deploying the recent security-related postgresql release (see https://github.com/puppetlabs/puppetlabs-postgresql/pull/1249 for details).", "created": "2021-03-05T06:37:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Hi [~accountid:557058:6fa00105-1baa-443b-968e-3059980a262c], puppet will automatically redact sensitive *properties*, because there are well-defined methods for printing the current state ({{is_to_s}}) and desired state ({{should_to_s}}), and those methods will redact sensitive properties automatically. However, puppet doesn't know how *parameters* will be handled in a custom type/provider for example the {{source}} parameter for a {{package}}. If a {{Sensitive}} value is passed to a parameter and the parameter hasn't explicitly said it accepts sensitive values, then we err on the side of caution and raise an error.\n\nThe recommended way of fixing this is to override the {{set_sensitive_parameters}} method and mark the parameter as sensitive. It's the module's way of saying \"I'm taking ownership of this sensitive data\". For example: https://github.com/puppetlabs/puppet/commit/abd866a648a32d3895011d25af5d4b3d994669c8#diff-7b346a4c9ed8ffeefe92b019c36ca30c8e3cf1cbfef09fc45485df64075adcc0R607-R614\n\nAlternatively, call the {{sensitive}} DSL method like the user's password logonpassword parameter: https://github.com/puppetlabs/puppet/blob/12401c3af42cfbae41b48621f5b42336db1ace1d/lib/puppet/type/service.rb#L180. This option requires puppet 6 or greater that supports the {{sensitive}} DSL method. Trying to use that on older puppet versions will prevent the type from loading. We ran into that in the yumrepo_core module  and had to go back to the older way of defining sensitive parameters https://github.com/puppetlabs/puppetlabs-yumrepo_core/pull/6\n\nThe issue can also be avoided by changing the parameter to a property, though that has other implications, eg {{puppet resource mytype}}", "created": "2021-03-08T11:01:00.000000"}, {"author": "557058:6fa00105-1baa-443b-968e-3059980a262c", "body": "[~accountid:63d40628f6e1b543161789a7]\u00a0Thanks alot for the detailed information with examples.Much appreciated.\n\nWill incorporate the changes. Thank you.", "created": "2021-03-09T10:53:00.000000"}, {"author": "557058:6fa00105-1baa-443b-968e-3059980a262c", "body": "Made changes to the module\u00a0[https://github.com/puppetlabs/puppetlabs-postgresql/pull/1258]\n\nAlso raised a feature ticket to declare parameters and properties as sensitive without the set_sensitive_parmeters\n\nhttps://puppet.atlassian.net/browse/PUP-10961\n\nThanks alot for all the help.", "created": "2021-03-11T02:02:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Thanks for filing 10961 [~accountid:557058:6fa00105-1baa-443b-968e-3059980a262c], I'm going to close this ticket.", "created": "2021-03-11T11:55:00.000000"}, {"author": "557058:6fa00105-1baa-443b-968e-3059980a262c", "body": "{code:java}\nroot@lowly-immodesty:~# puppet apply 1.pp\nNotice: Compiled catalog for lowly-immodesty.delivery.puppetlabs.net in environment production in 0.46 seconds\nNotice: /Stage[main]/Postgresql::Server::Install/Package[postgresql-server]/ensure: created\nNotice: /Stage[main]/Postgresql::Server::Config/Concat[/etc/postgresql/10/main/pg_hba.conf]/File[/etc/postgresql/10/main/pg_hba.conf]/content: content changed '{md5}81569154287d27391779c82d1fb32b89' to '{md5}85cf7197535eff9999ba5de8665bb53e'\nNotice: /Stage[main]/Postgresql::Server::Config/Concat[/etc/postgresql/10/main/pg_ident.conf]/File[/etc/postgresql/10/main/pg_ident.conf]/content: content changed '{md5}f11c8332d3f444148c0b8ee83ec5fc6d' to '{md5}9300ac105fe777787ac9e793b8df8d25'\nNotice: /Stage[main]/Main/Postgresql::Server::Role[testuser]/Postgresql_psql[CREATE ROLE testuser ENCRYPTED PASSWORD ****]/command: changed [redacted] to [redacted]\nNotice: /Stage[main]/Postgresql::Server::Reload/Exec[postgresql_reload]: Triggered 'refresh' from 1 event\nNotice: Applied catalog in 25.35 seconds\nroot@lowly-immodesty:~#\n{code}", "created": "2021-03-15T08:37:00.000000"}], "components": [], "created": "2021-03-04T11:15:00.000000", "creator": "557058:6fa00105-1baa-443b-968e-3059980a262c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1856b2c3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06zv4:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Mar/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_345476890_*|*_10009_*:*_1_*:*_35587015_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_226192393"}], "description": "*Puppet Version:6.22.0* (was able to reproduce the problem on puppet6-nightly and puppet7-nightly)\n *OS Name/Version:Ubuntu 18.04 (*on all OSes*)*\n\n*Sensitive masking is not implemented in core puppet at the points where the module needs it:*\n\nUsing 'Sensitive' in 'unless' throws the following error\n{code:java}\nUnable to mark 'unless' as sensitive: unless is a parameter and not a property, and cannot be automatically redacted.{code}\n*Steps to reproduce the problem*\n\nInstall the latest version of postgresql module (v6.10.2 and above) which we uses sensitive for security fixes.\n\npuppet module install puppetlabs-postgresql --version 7.0.0\n\nApply the following manifest\n\n\u00a0\n{code:java}test.pp\nclass { 'postgresql::server': }\n postgresql::server::role { testuser:\n password_hash => postgresql::postgresql_password('testuser', 'testpw'),\n }\n\u00a0\npuppet apply test.pp\nNotice: Compiled catalog for oval-secrecy.delivery.puppetlabs.net in environment production in 0.37 seconds\nWarning: /Postgresql_psql[ALTER ROLE testuser ENCRYPTED PASSWORD ****]: Unable to mark 'unless' as sensitive: unless is a parameter and not a property, and cannot be automatically redacted.\nNotice: /Stage[main]/Main/Postgresql::Server::Role[testuser]/Postgresql_psql[CREATE ROLE testuser ENCRYPTED PASSWORD ****]/command: changed [redacted] to [redacted]\nNotice: Applied catalog in 1.01 seconds\nroot@oval-secrecy:~#\n{code}\n\u00a0\n\n*Desired Behavior:*\n\nunless should support sensitive data\n\n*Actual Behavior:*\n\nThrows the below error on unless\u00a0\n\n*Unable to mark 'unless' as sensitive: unless is a parameter and not a property, and cannot be automatically redacted.*\n\nFound similar tickets for exec type: PUP-8399\n\nPlease let us know if you need more information.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26651", "fixedVersions": [], "id": "26651", "issueType": "Bug", "key": "PUP-10950", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:6fa00105-1baa-443b-968e-3059980a262c", "resolution": "Incomplete", "resolutionDate": "2021-03-11T11:56:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "unless should support sensitive data for any type", "timeSpent": "PT0S", "updated": "2021-03-15T08:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-03-04T08:53:00.000000", "creator": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3655260b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06zo8:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fix a bug affecting the parsing of systemd service instances caused by a change in the `systemctl list-unit-files` command output."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_4717567_*|*_1_*:*_1_*:*_1106771784_*|*_5_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.21.1/7.4.1*\n *Puppet Server Version:* n/a\n *OS Name/Version: Fedora 32/Ubuntu 20.04*\n\nSome time ago the output of {{systemctl list-unit-files}} changed to include an additional column. Previous output (on CentOS 8):\n{code}\nUNIT FILE                                   STATE          \narp-ethers.service                          disabled       \nauditd.service                              enabled        \nauth-rpcgss-module.service                  static         \n{code}\n\nCurrent output (on Fedora 32 and Ubuntu 20.04):\n{code}\nUNIT FILE                                  STATE           VENDOR PRESET\narp-ethers.service                         disabled        disabled     \nauditd.service                             enabled         enabled      \nauth-rpcgss-module.service                 static          disabled     \n{code}\n\n*Desired Behavior:*\n\n{{puppet resource service}} produces a list of services\n\n*Actual Behavior:*\n\n{{puppet resource service}} does not print anything\n\nThe following regex should be updated to allow for both types of output: https://github.com/puppetlabs/puppet/blob/3df444559245c3fd9e3e78f58ade40e256a756ba/lib/puppet/provider/service/systemd.rb#L33", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27721", "fixedVersions": ["PUP 6.22.0", "PUP 7.6.0"], "id": "27721", "issueType": "Bug", "key": "PUP-10949", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "resolution": "Fixed", "resolutionDate": "2021-03-17T06:38:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet cannot parse systemd instances when list-unit-files output has an additional column", "timeSpent": "PT0S", "updated": "2021-04-23T12:09:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "{{puppet node find}} will only tell you about the current node you're running on. When you enter an invalid node, the command assumes you mean the current node is named that. So it combines the current nodes facts with that name.\n\nIf you want to know if a node exists, then you're probably better off querying for the cert for that node:\n\n{noformat}\n# curl -kf https://<server>:8140/puppet-ca/v1/certificate/doesntexist\ncurl: (22) The requested URL returned error: 404 Not Found\n# echo $?\n22\n{noformat}\n\nNote puppetserver's default auth.conf doesn't allow HEAD requests, so you might want to change that.\n\nOr query for the node in puppetdb: https://puppet.com/docs/puppetdb/latest/api/query/v4/nodes.html#pdbqueryv4nodes", "created": "2021-03-04T13:07:00.000000"}, {"author": "60eeb072f664300069d6ffde", "body": "Hi [~accountid:63d40628f6e1b543161789a7] ,\n\nThanks for your response.\n\nI was trying to get the environment associated to each node as there could be multiple environment available during installation. The docs @ [https://puppet.com/docs/puppet/6.21/environments_about.html]\u00a0states\u00a0\n\n\u00a0\n{code:java}\nTo look up which environment a node is in, run\u00a0puppet node find <node>\u00a0on the\u00a0Puppet Server\u00a0host node, replacing\u00a0<node>\u00a0with the node's exact name.\nAlternatively, run\u00a0puppet node find <node> --render_as json | jq .environment\u00a0to render the output as JSON and return only the environment name{code}\nEven the help of this command this does not indicates what you have described above. So there are couple of questions\n1. Can we get the documentation fixed in the environments_about.html and man page of this command.\n2. What will be your suggestion to get the environment related to different nodes in puppet setup. What I could think was to connect to each node and query the node information via _puppet node find_, but that could involve connecting to several machines. Is there a better way to do this?", "created": "2021-03-04T21:52:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:60eeb072f664300069d6ffde] The {{puppet node find}} will work if you run the command on the puppetserver and you enable puppetserver's node cache. It's disabled by default in puppet6. However, a better way to do this is to query puppetdb. If you have suggestions for documentation, please leave a comment at the bottom of the documentation page. For general questions like this, please reach out in puppet slack. In the meantime, I'm going to close this.", "created": "2021-03-09T14:16:00.000000"}], "components": [], "created": "2021-03-04T06:17:00.000000", "creator": "60eeb072f664300069d6ffde", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@b2bbc81"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06zl4:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Mar/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_429201075_*|*_6_*:*_2_*:*_31498399_*|*_10004_*:*_1_*:*_19129"}], "description": "*Puppet Version: 6.20*\n *Puppet Server Version: 6.15.1*\n *OS Name/Version: CentOS Linux version 8*\n\nI am using puppet v6.20.0 and am executing\u00a0_*{{sudo puppet node find <node_name>}}*_\u00a0to get the information of a node from puppet master. This command returns a node information even if an invalid node name (or node name which does not exists) is provided to this command.\n\nIs there any other argument which has to be provided to this.\n\n*Desired Behavior:*\u00a0_node find_ must not provide information about unknown nodes\n\n*Actual Behavior:*\u00a0_node find_\u00a0returns the node information irrespective of host name.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23446", "fixedVersions": [], "id": "23446", "issueType": "Bug", "key": "PUP-10948", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "60eeb072f664300069d6ffde", "resolution": "Incomplete", "resolutionDate": "2021-03-09T14:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "puppet node find <node_name> does not honour node_name", "timeSpent": "PT0S", "updated": "2021-03-09T14:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "623c12ff94742a00683e41fd", "body": "Draft doc:\n\n[https://docs.google.com/document/d/1hibj5FP2M4qkXxyeF-ZhhDloaphe5DUaINTRMfHSPwM/edit?usp=sharing]", "created": "2021-03-10T01:26:00.000000"}, {"author": "623c12ff94742a00683e41fd", "body": "Remade the doc: [https://docs.google.com/document/d/1QlX_mv17fZ4eVZa9zHxvTRVJ5sq88aj3GjUC6lVFiz0/edit?usp=sharing]\u00a0(aix included in test targets and compressed the information)", "created": "2021-03-11T01:02:00.000000"}, {"author": "623c12ff94742a00683e41fd", "body": "Opened [https://github.com/puppetlabs/puppet/pull/8538]\u00a0with conclusions from above doc and fix proposal.", "created": "2021-03-11T09:54:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:623c12ff94742a00683e41fd] should this also have {{PUP 7.6.0}} as a fix version?", "created": "2021-04-14T12:52:00.000000"}], "components": [], "created": "2021-03-03T00:25:00.000000", "creator": "5b9fcedc03b52466f05c4510", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@37ef6f8c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk67j:p"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The `puppet facts diff` cli command filters its output based on a exclude list. This has been updated to only contain the volatile facts (those that are expected to change value between consecutive runs of Facter)."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Mar/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_160705855_*|*_1_*:*_1_*:*_2080485_*|*_10007_*:*_1_*:*_339869997_*|*_3_*:*_1_*:*_549521172_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_173741837"}], "description": "We should revisit the exclude list from puppet facts diff command(https://github.com/puppetlabs/puppet/blob/6.x/lib/puppet/face/facts.rb#L5-L26) and make sure that only volatile facts are excluded.\nWe can also check and update the test that puppet-agent is running: https://github.com/puppetlabs/puppet-agent/blob/6.x/acceptance/tests/ensure_facter_3_and_facter_4_output_matches.rb", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24500", "fixedVersions": ["PUP 6.22.0"], "id": "24500", "issueType": "Improvement", "key": "PUP-10947", "labels": ["doc_reviewed", "tech-debt"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5b9fcedc03b52466f05c4510", "resolution": "Fixed", "resolutionDate": "2021-03-17T05:57:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Revist the exclude_list for puppet facts diff command", "timeSpent": "PT0S", "updated": "2021-04-23T12:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "attachments": [], "comments": [{"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "We have a best practice recommendation around recursive file resources.  \n\nhttps://github.com/puppetlabs/best-practices/blob/master/recursive-file-resources.md\n\nI wonder if we can move that more officially into the Puppet documentation and then beyond that if it would make sense to include something like this defined type more officially in Puppet as well or we could just mark it supported on the forge and point to it from the documentation.  https://forge.puppet.com/modules/npwalker/recursive_file_permissions\n\n", "created": "2021-03-08T09:13:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "I think this could be fixed by adding a new parameter `max_files` file resource and a check on Fileset constructor, [https://github.com/puppetlabs/puppet/blob/b9240c317780df0359eb2451db0a4cb0177a353a/lib/puppet/file_serving/fileset.rb#L52-L53,] something like:\n{code:java}\n   _files = files()\n    if _files.size > max_files\n      raise ArgumentError.new(_(\"The directory '%{path}' contains %{entries} entries, which exceeds the limit of %{max_files} specified by the max_files parameter for this resource. The limit may be increased, but be aware that large number of file resources can result in excessive resource consumption and degraded performance. Consider using an alternate method to manage large directory trees\") % { path: path, entries: _files.size, max_files: max_files })\n    end\n  end\n{code}\nThe `{{max_files}}` default value is important since the same mechanism is used to sync plugins,facts/etc. to the agent and we need a default value high to accommodate PE deployments.\n\n\u00a0\n\n\u00a0", "created": "2021-04-13T03:05:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "I got an implementation from this up, but if we want a default value other than 0 (that will disable the check) we need a way to make sure it will not impact the existing deployments, since this limit will apply to any module or mechanism using file resource to recursively synchronize files.", "created": "2021-04-16T07:32:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b], [~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100] , can you share your view on this?", "created": "2021-04-21T01:25:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "I updated implementation based on comments from [~accountid:63d40628f6e1b543161789a7] :\nAdd a new parameter, `max-files`, to limit the number of resources\nthat may be created by types supporting recursion(file, tidy).\n\nDefault value for `max-files` is 0. In this case a warning is logged\nwhen the number of files exceeds hardcoded soft limit of 1000.\n\nIn case `max-files` is set to a value different that 0 and the number\nof files is greater than `max-files`, a Puppet::Error is raised and the\nresource is marked as failed.", "created": "2021-04-28T07:26:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in\u00a0https://github.com/puppetlabs/puppet/commit/ecb85e4f65ec8eb6a5153656f3e416896c240f84", "created": "2021-04-29T17:46:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 4142539019", "created": "2021-05-06T11:14:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "One thing I forgot about is pluginsync is implemented as a recursive file resource, so it's not uncommon to hit the 1000 file limit in a PE deployment. See PE-31966. We should pass `max_files = 0` during pluginsync to avoid the warning, since there isn't anything that a user could do to fix the problem. Eventually we will need to fix pluginsync.", "created": "2021-05-10T15:26:00.000000"}], "components": ["Types and Providers"], "created": "2021-03-02T16:33:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@281561fb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Major"}, {"fieldName": "CS Rank", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "7580.0"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Customer Feedback"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06y2g:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "By default, the file and tidy resource types will generate a warning on the console and report if puppet tries to manage more than 1000 files when the \"recurse\" parameter is true. In that situation it is better to use a package or an exec command, respectively, to manage large numbers of files. \n\nIn addition, the file and tidy resource types support a new parameter \"max_files\" that will enforce a hard limit. If the number of recursive files is greater than the limit, then the agent run will fail."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "10.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "35285,35946,36746,36888,37704,39044,40977,41896,41998,42904"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Mar/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_775448959_*|*_1_*:*_1_*:*_1252137672_*|*_10007_*:*_2_*:*_1301327586_*|*_3_*:*_1_*:*_241970598_*|*_4_*:*_1_*:*_3582293_*|*_5_*:*_1_*:*_0_*|*_6_*:*_1_*:*_360327043_*|*_10005_*:*_1_*:*_2253777247"}], "description": "The {{file}} and {{tidy}} resource types have recursion options that allow the management of entire directory trees. This is accomplished by walking the tree and generating a new {{file}} resource that manages the state of each entry separately. This approach works well for small numbers of files (100s) but generates excessive numbers of events when applied to directory trees that contain large numbers of files. At high file counts, the behavior is detrimental to Puppet Agent performance and can cause Puppet Server outages by generating large reports. This behavior also combines poorly with {{noop => true}} which causes the large number of events to be reported every time Puppet runs instead of once when the state is enforced.\n\nh2. Reporduction Case\n\n  - Install Puppet Server 7 on a CentOS 7 node:\n\n{code:bash}\nyum install -y http://yum.puppetlabs.com/puppet7-release-el-7.noarch.rpm\nyum install -y puppetserver\nsource /etc/profile.d/puppet-agent.sh\n\npuppet config set server $(hostname -f)\npuppetserver ca setup\n\nsystemctl start puppetserver\n{code}\n\n  - Install PuppetDB 7 and configure it as a report processor:\n\n{code:bash}\npuppet module install puppetlabs-puppetdb\n\npuppet apply <<'EOF'\nclass { 'puppetdb':\n  postgres_version => '11',\n}\n\nclass { 'puppetdb::master::config':\n  enable_reports          => true,\n  manage_report_processor => true,\n}\nEOF\n{code}\n\n  - Next, configure Puppet Server to use one JRuby instance with the default allocation of 512 MB of RAM:\n\n{code:bash}\npuppet module install puppetlabs-hocon\n\npuppet apply <<'EOF'\nservice { 'puppetserver':\n  ensure => running,\n}\n\nini_subsetting {\n  default:\n    ensure            => present,\n    path              => '/etc/sysconfig/puppetserver',\n    section           => '',\n    key_val_separator => '=',\n    setting           => 'JAVA_ARGS',\n    notify            => Service['puppetserver'],\n  ;\n  'puppetserver min ram':\n    subsetting => '-Xms',\n    value      => '512m',\n  ;\n  'puppetserver max ram':\n    subsetting => '-Xmx',\n    value      => '512m',\n  ;\n}\n\nfile_line { 'fix EZ-142':\n  ensure => present,\n  path   => '/opt/puppetlabs/server/apps/puppetserver/cli/apps/start',\n  line   => \"out_of_memory_flag='-XX:OnOutOfMemoryError=kill -9 %p'\",\n  match  => '^out_of_memory_flag=',\n  notify => Service['puppetserver'],\n}\n\nhocon_setting { 'puppetserver jruby instances':\n  ensure  => present,\n  path    => '/etc/puppetlabs/puppetserver/conf.d/puppetserver.conf',\n  setting => 'jruby-puppet.max-active-instances',\n  value   => 1,\n  notify  => Service['puppetserver'],\n}\nEOF\n{code}\n\n  - Generate certificates for a test node and configure it to recursively purge a deep directory tree:\n\n{code:bash}\ncurl -L https://raw.githubusercontent.com/LLNL/fdtree/master/fdtree.bash -o /usr/local/bin/fdtree\nmkdir -p /tmp/recursion_test\n\n# Create, 1 level, 19 directories per level, 999 files per directory, 0 bytes per file\nbash /usr/local/bin/fdtree -C -l 1 -d 19 -f 999 -s 0 -o /tmp/recursion_test\n\npuppetserver ca generate --certname recursion.test\n\ncat <<'EOF' >>/etc/puppetlabs/code/environments/production/manifests/site.pp\nnode 'recursion.test' {\n  file {\"/tmp/recursion_test\":\n    ensure  => directory,\n    recurse => true,\n    purge   => true,\n    noop    => true,\n  }\n}\nEOF\n{code}\n\n  - Run `puppet agent` to enforce the resource and submit a report (this will take about 5 minutes):\n\n{code:bash}\n# Direct output to /dev/null to avoid spamming the console\npuppet agent -t --certname recursion.test &>/dev/null\n{code}\n\n  - Check the puppetserver service to see if it survived.\n\nh3. Outcome\n\nWhen faced with the prospect of processing such a large quantity of events, puppetserver chose to reincarnate:\n\n{noformat}\n# journalctl SYSLOG_IDENTIFIER=puppetserver + UNIT=puppetserver.service\n-- Logs begin at Tue 2021-03-02 23:07:14 UTC, end at Tue 2021-03-02 23:31:35 UTC. --\nMar 02 23:11:23 wine-appointee systemd[1]: Starting puppetserver Service...\nMar 02 23:11:41 wine-appointee systemd[1]: Started puppetserver Service.\nMar 02 23:12:43 wine-appointee systemd[1]: Stopping puppetserver Service...\nMar 02 23:12:44 wine-appointee systemd[1]: Starting puppetserver Service...\nMar 02 23:13:02 wine-appointee systemd[1]: Started puppetserver Service.\nMar 02 23:26:54 wine-appointee systemd[1]: Stopping puppetserver Service...\nMar 02 23:26:55 wine-appointee systemd[1]: Starting puppetserver Service...\nMar 02 23:27:13 wine-appointee systemd[1]: Started puppetserver Service.\nMar 0 23:31:35 wine-appointee puppetserver[2930]: #\nMar 02 23:31:35 wine-appointee puppetserver[2930]: # java.lang.OutOfMemoryError: GC overhead limit exceeded\nMar 02 23:31:35 wine-appointee puppetserver[2930]: # -XX:OnOutOfMemoryError=\"kill -9 %p\"\nMar 02 23:31:35 wine-appointee puppetserver[2930]: #   Executing /bin/sh -c \"kill -9 2955\"...\nMar 02 23:31:35 wine-appointee systemd[1]: puppetserver.service: main process exited, code=killed, status=9/KILL\nMar 02 23:31:35 wine-appointee systemd[1]: Unit puppetserver.service entered failed state.\nMar 02 23:31:35 wine-appointee systemd[1]: puppetserver.service failed.\nMar 02 23:31:35 wine-appointee systemd[1]: puppetserver.service holdoff time over, scheduling restart.\nMar 02 23:31:35 wine-appointee systemd[1]: Starting puppetserver Service...2\n{noformat}\n\nh3. Expected Outcome\n\nFile recursion can't DOS the puppetserver service.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28750", "fixedVersions": ["PUP 6.23.0", "PUP 7.7.0"], "id": "28750", "issueType": "Bug", "key": "PUP-10946", "labels": ["doc-reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "resolution": "Fixed", "resolutionDate": "2021-05-13T08:36:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Recursive file resources generate dangerous numbers of resource events", "timeSpent": "PT0S", "updated": "2021-07-08T00:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The changes in the 7.x stream associated with this ticket mark the minimum version of the agent that we can allow to be installed with puppetserver in 8, when we switch over to using those new constants. So the [version constraint|https://github.com/puppetlabs/puppetserver/blob/5e19f473ecb05976cadda7fb960899333fc840d6/resources/ext/ezbake.conf#L10] will need to be updated when we do that.", "created": "2021-03-05T17:47:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 8dfa86988b", "created": "2021-03-09T13:20:00.000000"}], "components": [], "created": "2021-03-02T13:11:00.000000", "creator": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7e0c150f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "SERVER-2864"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06xg0:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Mar/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_329546925_*|*_1_*:*_1_*:*_8087_*|*_10007_*:*_1_*:*_97407793_*|*_3_*:*_1_*:*_178390176_*|*_5_*:*_1_*:*_0"}], "description": "Puppet Server currently loads '{{puppet/network/http/api/master/v3}}' and uses the constant '[Puppet::Network::HTTP::MASTER_URL_PREFIX|https://github.com/puppetlabs/puppet/blob/main/lib/puppet/network/http.rb#L6-L7]' as part of setting up the Server's routes. These should be changed to use 'server' in the place of master.", "epicLinkSummary": "Froyo owned changes in terminology", "estimate": "PT0S", "externalId": "26650", "fixedVersions": ["PUP 7.5.0"], "id": "26650", "issueType": "Task", "key": "PUP-10945", "labels": [], "originalEstimate": "PT0S", "parent": "14926", "parentSummary": "Froyo owned changes in terminology", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2021-03-09T13:20:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Change the master -> server in Server used http code", "timeSpent": "PT0S", "updated": "2021-03-09T13:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "The {{Enum}} data type does not support {{new}} at the moment and would be easy to add without any consequences. It makes sense to be able to create a string from an enumeration based on Boolean or Numeric. It should error if the converted value leads to an index out of range for the enum.", "created": "2021-03-02T04:23:00.000000"}, {"author": "623c0c0d761efb0069ce025b", "body": "I tried something and I do have no idea if it works or probably it doesn't: https://github.com/puppetlabs/puppet/pull/8710", "created": "2021-07-23T05:40:00.000000"}], "components": ["Type System"], "created": "2021-03-01T09:28:00.000000", "creator": "623c0c0d761efb0069ce025b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@53e1751a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06vxk:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Mar/21"}], "description": "{{helindbe and I had a chat in the slack today: [https://puppetcommunity.slack.com/archives/C0W298S9G/p1614611196389300]}}\n\n{{The result of it is, that it would be nice to be able to `Enum.new`:}}\n\n{{Boolean function parameter: Enum['apple', 'banana'](false) -> 'apple'}}\n\n{{Integer function parameter: Enum['apple', 'banana', 'orange'](2) -> 'orange'}}\n\n@Docs When the code is written, the `new` functions documentation needs to be updated. It has to list Enum.new and maybe show a little example. Similar to https://puppet.com/docs/puppet/latest/function.html#conversion-to-string", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26649", "fixedVersions": [], "id": "26649", "issueType": "New Feature", "key": "PUP-10944", "labels": ["community", "help_wanted"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0c0d761efb0069ce025b", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Enum.new", "timeSpent": "PT0S", "updated": "2021-07-23T05:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 8dfa86988b", "created": "2021-03-09T13:20:00.000000"}], "components": [], "created": "2021-02-25T15:38:00.000000", "creator": "6220db7149c90000701fd082", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@725dec39"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06u1c:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Before the fix some corrupted Windows registry could break puppet because puppet would not stop reading the registry at the correct WCHAR_NULL, and it continued to read bad data.\nNow, puppet only reads data until a WCHAR_NULL that is force encoded to UTF-16LE."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "43253,44624,50334"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_63448134_*|*_1_*:*_1_*:*_384215901_*|*_10007_*:*_1_*:*_71008969_*|*_3_*:*_1_*:*_414127404_*|*_10009_*:*_1_*:*_40934553_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_100879270"}], "description": "When scanning for existing packages in Windows, Puppet reads uninstall listings in the \"per-machine\" and \"current user\" contexts, both 32 and 64 bit using the DisplayName or, more rarely, the QuietDisplayName keys. If these keys have an embedded Null, the package provider continues to read garbage data. It may attempt to decode these junk characters from UTF-16LE and fail.\n\nAn update was pushed out to fix this (PUP-10536), but a customer recently hit the bug again. This is a followup to that ticket.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25593", "fixedVersions": ["PUP 6.22.0", "PUP 7.5.0"], "id": "25593", "issueType": "Bug", "key": "PUP-10943", "labels": ["doc_reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6220db7149c90000701fd082", "resolution": "Fixed", "resolutionDate": "2021-03-10T02:09:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Windows package provider continues to read DisplayVersion key after embedded NULL", "timeSpent": "PT0S", "updated": "2022-12-05T03:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/8ea8c456810c602b85c7c8fbbbb7ac7354f9aa9b", "created": "2021-03-08T21:38:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 16d765db7e", "created": "2021-03-10T13:17:00.000000"}], "components": [], "created": "2021-02-25T14:51:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@71444153"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06u0g:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Catalog compilations for a newly created environment directory could fail if the environment was listed while the directory and its contents were being created. This issue only occurred when using an environment_timeout value greater than 0."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_114222853_*|*_1_*:*_1_*:*_11831_*|*_10007_*:*_1_*:*_359844770_*|*_3_*:*_1_*:*_614966977_*|*_6_*:*_1_*:*_0"}], "description": "If environments are listed via the {{environment_classes}} REST API while a new environment directory is deployed, it's possible for the default modulepath to be cached in settings, and cause future compilations with that environment to fail. It's can also cause agents to randomly delete pluginsync'ed files (due to omissions in the file metadata response).\n\nOn the puppetserver node, allow access to the REST API to listing and delete environments:\n\n{code:hocon}\n   {\n            \"allow\": \"ADD SERVER FQDN\",\n            \"match-request\": {\n                \"method\": \"delete\",\n                \"path\": \"/puppet-admin-api/v1/environment-cache\",\n                \"query-params\": {},\n                \"type\": \"path\"\n            },\n            \"name\": \"puppetlabs environment cache\",\n            \"sort-order\": 500\n        },\n        {\n            \"allow\": \"ADD SERVER FQDN\",\n            \"match-request\": {\n                \"method\": \"get\",\n                \"path\": \"/puppet/v3/environment_classes\",\n                \"query-params\": {},\n                \"type\": \"path\"\n            },\n            \"name\": \"puppetlabs environment classes\",\n            \"sort-order\": 500\n        },\n{code}\n\nThen run:\n\n{code:bash}\n#!/bin/sh\n\nserver=\"ADD SERVER NAME HERE\"\ncertname=\"${server}\"\n\n# use server cert for privileged REST APIs\ncurl_opts=\"-kf --cert /etc/puppetlabs/puppet/ssl/certs/${server}.pem --key /etc/puppetlabs/puppet/ssl/private_keys/${server}.pem\"\n\napi_environments=\"https://${server}:8140/puppet/v3/environments\"\napi_classes=\"https://${server}:8140/puppet/v3/environment_classes\"\napi_environment_cache=\"https://${server}:8140/puppet-admin-api/v1/environment-cache\"\napi_catalog=\"https://${server}:8140/puppet/v3/catalog\"\napi_catalog4=\"https://${server}:8140/puppet/v4/catalog\"\n\nname=\"env_${RANDOM}\"\nbasedir=\"/etc/puppetlabs/code/environments\"\nenvdir=\"${basedir}/${name}\"\nmkdir -p \"${envdir}\"\nchown puppet:puppet \"${envdir}\"\necho \"create random environment: ${name}\"\n\necho \"list environments, cache modulepath\"\ncurl ${curl_opts} -X GET -H 'Accept: application/json' ${api_environments} | jq .environments.${name}\n\necho \"finish deployment\"\nenvconf=\"${envdir}/environment.conf\"\ncat <<EOF > \"${envconf}\"\nmodulepath=site:dist:\\$basemodulepath\nEOF\n\nmkdir \"${envdir}/manifests\"\ncat <<EOF > \"${envdir}/manifests/init.pp\"\ninclude role\nEOF\n\nmkdir \"${envdir}/dist\"\nmkdir -p \"${envdir}/site/role/manifests\"\ncat <<EOF > \"${envdir}/site/role/manifests/init.pp\"\nclass role {\n  notify { 'in role': }\n}\nEOF\nchown -R puppet:puppet \"${envdir}\"\n\necho mark environments as expired\ncurl ${curl_opts} -X DELETE -H 'Accept: application/json' ${api_environment_cache}\n\necho we see the modulepath from before the deploy finished\ncurl ${curl_opts} -X GET -H 'Accept: application/json' ${api_environments} | jq .environments.${name}\n\necho compile v3 catalog fails\ncurl -kf \\\n --cert \"/etc/puppetlabs/puppet/ssl/certs/${certname}.pem\" \\\n --key \"/etc/puppetlabs/puppet/ssl/private_keys/${certname}.pem\" \\\n -X POST \\\n -d \"%257B%2522facts_format%2522%253A%2522application%252Fjson%2522%252C%2522facts%2522%253A%257B%2522name%2522%253A%2522${certname}%2522%257D%257D\" \\\n -H 'Content-Type: application/x-www-form-urlencoded' \\\n -H 'Accept: application/json' \\\n ${api_catalog}/${certname}\\?environment\\=${name}\n{code}\n\nDue to the bug, we expire all environments, but still see the cached environment's modulepath and compilation fails:\n\n{noformat}\n...\nmark environments as expired\nwe see the modulepath from before the deploy finished\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n100  6900  100  6900    0     0  87341      0 --:--:-- --:--:-- --:--:-- 87341\n{\n  \"settings\": {\n    \"modulepath\": [\n      \"/etc/puppetlabs/code/environments/env_1077/modules\",\n      \"/etc/puppetlabs/code/modules\",\n      \"/opt/puppetlabs/puppet/modules\"\n    ],\n    \"manifest\": \"/etc/puppetlabs/code/environments/env_1077/manifests\",\n    \"environment_timeout\": 0,\n    \"config_version\": \"\"\n  }\n}\ncompile v3 catalog fails\ncurl: (22) The requested URL returned error: 500 Server Error\n{noformat}\n\nAnd puppetserver.log contains:\n\n{noformat}\n2021-02-25T20:56:08.058Z ERROR [qtp1507614676-35] [puppetserver] Puppet Server Error: Evaluation Error: Error while evaluating a Function Call, Could not find class ::role for afferent-trot.delivery.puppetlabs.net (file: /etc/puppetlabs/code/environments/env_32225/manifests/init.pp, line: 1, column: 1) on node afferent-trot.delivery.puppetlabs.net\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:401:in `block in evaluate_classes'\norg/jruby/RubyArray.java:2572:in `collect'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:400:in `evaluate_classes'\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21299", "fixedVersions": ["PUP 6.22.0", "PUP 7.5.0"], "id": "21299", "issueType": "Bug", "key": "PUP-10942", "labels": ["customer0", "doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-03-10T05:22:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Listing environments during code deploys can prevent environment cache invalidation", "timeSpent": "PT0S", "updated": "2021-04-23T12:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in a15f2b1d38. Passed CI in 2056487938", "created": "2021-03-02T11:19:00.000000"}], "components": [], "created": "2021-02-24T07:31:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "puppet facts diff does not log any error"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6ffe85ce"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06skg:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Before this commit, `puppet facts diff` which is comparing facter 3 and facter 4 facts, didn't run facter 4 in a clean environment, leading to undefined behavior for custom facts resolving\n\nWith this commit, puppet 4 facts are read running `puppet facts` in a new shell and the custom facts should be correctly resolved\n"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "0.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Mar/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_385740933_*|*_1_*:*_1_*:*_61418918_*|*_10007_*:*_1_*:*_84901898_*|*_5_*:*_1_*:*_0"}], "description": "Platforms: OS X, Centos 7 (as tested by me), might be on all\npupptlabs-apt: 7.7.1(latest)\n\nStep to reproduce:\n- install latest puppet 6\n- install puppetlabs-apt module\n- run `puppet facts diff`\n\n\n{noformat}\n\u276f puppet --version\n6.21.1\n\u276f puppet facts diff\n{\"hypervisors.vmware.version\":{\"new_value\":\"ESXi 6.7\",\"old_value\":\"\"}}\n\n\u276f puppet module install puppetlabs-stdlib\nNotice: Preparing to install into /etc/puppetlabs/code/environments/production/modules ...\nNotice: Downloading from https://forgeapi.puppet.com ...\nNotice: Installing -- do not interrupt ...\n/etc/puppetlabs/code/environments/production/modules\n\u2514\u2500\u2500 puppetlabs-stdlib (v6.6.0)\n\n\u276f puppet facts diff\n{\"hypervisors.vmware.version\":{\"new_value\":\"ESXi 6.7\",\"old_value\":\"\"}}\n\n\u276f puppet module install puppetlabs-apt\nNotice: Preparing to install into /etc/puppetlabs/code/environments/production/modules ...\nNotice: Downloading from https://forgeapi.puppet.com ...\nNotice: Installing -- do not interrupt ...\n/etc/puppetlabs/code/environments/production/modules\n\u2514\u2500\u252c puppetlabs-apt (v7.7.1)\n  \u251c\u2500\u2500 puppetlabs-stdlib (v6.6.0)\n  \u2514\u2500\u2500 puppetlabs-translate (v2.2.0)\n\n\u276f puppet facts diff\nE, [2021-02-17T07:14:34.049701 #1797] ERROR -- : Facter - Error while resolving custom fact fact='apt_package_updates', resolution='<anonymous>': undefined method `[]' for nil:NilClass\nE, [2021-02-17T07:14:34.051667 #1797] ERROR -- : Facter - Error while resolving custom fact fact='apt_package_dist_updates', resolution='<anonymous>': undefined method `[]' for nil:NilClass\nE, [2021-02-17T07:14:34.053433 #1797] ERROR -- : Facter - Error while resolving custom fact fact='apt_package_security_updates', resolution='<anonymous>': undefined method `[]' for nil:NilClass\nE, [2021-02-17T07:14:34.055293 #1797] ERROR -- : Facter - Error while resolving custom fact fact='apt_package_security_dist_updates', resolution='<anonymous>': undefined method `[]' for nil:NilClass\nE, [2021-02-17T07:14:34.057133 #1797] ERROR -- : Facter - Error while resolving custom fact fact='apt_updates', resolution='<anonymous>': undefined method `[]' for nil:NilClass\nE, [2021-02-17T07:14:34.058807 #1797] ERROR -- : Facter - Error while resolving custom fact fact='apt_dist_updates', resolution='<anonymous>': undefined method `[]' for nil:NilClass\nE, [2021-02-17T07:14:34.060489 #1797] ERROR -- : Facter - Error while resolving custom fact fact='apt_security_updates', resolution='<anonymous>': undefined method `[]' for nil:NilClass\nE, [2021-02-17T07:14:34.062122 #1797] ERROR -- : Facter - Error while resolving custom fact fact='apt_security_dist_updates', resolution='<anonymous>': undefined method `[]' for nil:NilClass\n{\"hypervisors.vmware.version\":{\"new_value\":\"ESXi 6.7\",\"old_value\":\"\"}}\n\n{noformat}\n\n*/opt/puppetlabs/puppet/bin/facter-ng* does not log any error so most likely it happens when resolving the facts added in puppet form modules.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26647", "fixedVersions": ["PUP 6.22.0"], "id": "26647", "issueType": "Bug", "key": "PUP-10940", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "resolution": "Fixed", "resolutionDate": "2021-03-02T11:19:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "'puppet facts diff' logs error when apt module is installed", "timeSpent": "PT0S", "updated": "2021-04-23T12:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-02-23T10:11:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7065adb3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10930"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06r94:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1103_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2597800809"}], "description": "(Initial planned release date: 2021-03-16)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2021-03-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "estimate": "PT0S", "externalId": "28748", "fixedVersions": [], "id": "28748", "issueType": "Task", "key": "PUP-10939", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27717", "parentSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-03-25T12:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 7.5.0)", "timeSpent": "PT0S", "updated": "2021-03-25T12:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-02-23T10:11:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@747f5544"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10930"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06r8w:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1237_*|*_3_*:*_1_*:*_763337447_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1834461536"}], "description": "(Initial planned release date: 2021-03-16)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n", "duedate": "2021-03-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "estimate": "PT0S", "externalId": "27718", "fixedVersions": [], "id": "27718", "issueType": "Task", "key": "PUP-10938", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27717", "parentSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-03-25T12:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 7.5.0)", "timeSpent": "PT0S", "updated": "2021-03-25T12:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "attachments": [], "comments": [], "components": [], "created": "2021-02-23T10:11:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@ae7116d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10930"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06r8o:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1203_*|*_3_*:*_1_*:*_8462038_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1821245840"}], "description": "(Initial planned release date: 2021-03-16)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 7.5.0 is now available\".\n", "duedate": "2021-03-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "estimate": "PT0S", "externalId": "26646", "fixedVersions": [], "id": "26646", "issueType": "Task", "key": "PUP-10937", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27717", "parentSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-03-16T15:26:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Send release announcement (Puppet Platform 7.5.0)", "timeSpent": "PT0S", "updated": "2021-03-16T15:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "https://puppet.com/docs/puppet/7.5/release_notes_osp.html", "created": "2021-03-16T12:51:00.000000"}], "components": [], "created": "2021-02-23T10:11:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@740250fe"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10930"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06r88:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Mar/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1139_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1820398900"}], "description": "(Initial planned release date: 2021-03-16)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2021-03-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "estimate": "PT0S", "externalId": "24499", "fixedVersions": [], "id": "24499", "issueType": "Task", "key": "PUP-10936", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27717", "parentSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-03-16T12:51:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 7.5.0)", "timeSpent": "PT0S", "updated": "2021-03-16T12:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-02-23T10:11:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@29576852"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10930"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06r80:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1096_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1834289305"}], "description": "(Initial planned release date: 2021-03-16)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2021-03-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "estimate": "PT0S", "externalId": "23444", "fixedVersions": [], "id": "23444", "issueType": "Task", "key": "PUP-10935", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27717", "parentSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-03-16T16:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 7.5.0)", "timeSpent": "PT0S", "updated": "2021-03-16T16:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Release notes draft:\u00a0\n\n[https://puppet-docs-preview.netlify.app/docs/puppet/latest-preview/puppet_index.html|https://puppet-docs-preview.netlify.app/docs/puppet/latest-preview/release_notes_osp.html]\n\nUsername:\u00a0{{puppet}}\u00a0Password:\u00a0{{fork.left.extra}}", "created": "2021-03-15T09:28:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "The next release in the Puppet 7 series, Puppet 7.5.0, is now available!\n\nThe release contains bug fixes and minor improvements, including:\n * The\u00a0{{puppet ssl show}}\u00a0command -\u00a0 which prints the full-text version of a host's certificate, including extensions\n * The\u00a0{{ciphers}}\u00a0setting - configures which TLS ciphersuites the agent supports\n * This release adds the\u00a0{{GlobalSignRoot}}\u00a0CA R3 certificate for\u00a0{{rubygems.org}}\n\nFor the full list of changes, check out the release notes: [https://puppet.com/docs/puppet/latest/release_notes_osp.html]\n \u00a0\n \u00a0", "created": "2021-03-15T09:29:00.000000"}], "components": [], "created": "2021-02-23T10:11:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@270cdc82"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10930"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06r7k:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Mar/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1372_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1876634538"}], "description": "(Initial planned release date: 2021-03-16)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2021-03-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "estimate": "PT0S", "externalId": "21297", "fixedVersions": [], "id": "21297", "issueType": "Task", "key": "PUP-10934", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27717", "parentSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-03-17T04:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare release announcement (Puppet Platform 7.5.0)", "timeSpent": "PT0S", "updated": "2021-03-17T04:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:5abd613dd4cf3c56be24b70d] [~accountid:70121:b92a8953-f29c-406d-a628-2e9b7468e50d]\u00a0The release notes are ready for review:\u00a0\n\n[https://puppet-docs-preview.netlify.app/docs/puppet/latest-preview/puppet_index.html]\n\nUsername:\u00a0{{puppet}}\u00a0Password:\u00a0{{fork.left.extra}}", "created": "2021-03-11T04:05:00.000000"}], "components": [], "created": "2021-02-23T10:11:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1552db3c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10930"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06r7c:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Mar/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1357_*|*_10009_*:*_1_*:*_451656846_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1360474465"}], "description": "(Initial planned release date: 2021-03-16)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2021-03-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "estimate": "PT0S", "externalId": "20327", "fixedVersions": [], "id": "20327", "issueType": "Task", "key": "PUP-10933", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27717", "parentSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-03-16T10:33:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 7.5.0)", "timeSpent": "PT0S", "updated": "2021-03-16T10:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-02-23T10:11:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@24243fb8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10930"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06r74:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1112_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1834310886"}], "description": "(Initial planned release date: 2021-03-16)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2021-03-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "estimate": "PT0S", "externalId": "29779", "fixedVersions": [], "id": "29779", "issueType": "Task", "key": "PUP-10932", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27717", "parentSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-03-16T16:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 7.5.0)", "timeSpent": "PT0S", "updated": "2021-03-16T16:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-02-23T10:10:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@36a3c4c6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10930"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06r6w:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1086_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1834318747"}], "description": "(Initial planned release date: 2021-03-16)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 7.5.0 and puppet-agent 7.5.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2021-03-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "estimate": "PT0S", "externalId": "28746", "fixedVersions": [], "id": "28746", "issueType": "Task", "key": "PUP-10931", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27717", "parentSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-03-16T16:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 7.5.0)", "timeSpent": "PT0S", "updated": "2021-03-16T16:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-02-23T10:10:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@778aee79"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-3"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 7.5.0 Release - 2021-03-16\n"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "yellow"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06r6o:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2605900369_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "duedate": "2021-03-16T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27717", "fixedVersions": [], "id": "27717", "issueType": "Epic", "key": "PUP-10930", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-03-25T15:02:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "timeSpent": "PT0S", "updated": "2021-08-23T10:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Adding [~accountid:70121:81a73de1-7f52-49cd-b0b0-46c1b147202a] comment from \nhttps://puppetcommunity.slack.com/archives/C0W1X7ZAL/p1614006476005200\n\n{quote}there is a list of keywords that are allowed, I suspect it is missing from that list (and probably also the other keywords related to orchestration).{quote}\n\n", "created": "2021-02-24T11:22:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "[~accountid:63d40628f6e1b543161789a7] It is this part of the grammar:\n{code}\n  attribute_name\n    : NAME\n    | keyword\n{code}\nand {{keyword}} is a rule with a list of tokens. The tokens for the now reserved keywords must be on that list to make them ok to use as names of resource attributes or the result is the reported \"syntax error\".", "created": "2021-02-24T14:55:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:70121:81a73de1-7f52-49cd-b0b0-46c1b147202a] What's the benefit to keeping those keywords reserved? It's not like someone can turn application orchestration back on.\n\nIt sounds like our options are:\n\n1. Remove site, etc keywords from the reserved list, OR\n2. Update the grammar to accept the reserved keywords and regenerate the eparser. See af9b8e0894c2d606e81671fb133d4ef73d9ed7ef and de9c2b3b01ae7202ef441da0dbc41108b8ca013a. ", "created": "2021-03-01T10:33:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "[~accountid:63d40628f6e1b543161789a7] The benefit of keeping them reserved is that you may want to use them in the future for something other than the now removed application orchestration and it takes a major release to get there plus a lot of pain for users if they again would be put to use if they had been free to use for a while.\n\nSince that investment was made and the benefit of un-reserving them does not really have much value it seems best to keep them reserved for some possible value in the future.\n\nYou are right about the options.", "created": "2021-03-01T11:07:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/64dcad64c71f8a2c2648ab88262df40bb9622525", "created": "2021-03-09T08:30:00.000000"}], "components": ["Language"], "created": "2021-02-22T08:15:00.000000", "creator": "557058:054fa98a-5e29-48e7-aeca-d5542926f8ba", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@76a48998"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06ps8:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "`application`, `consumes`, `produces` and `site` were removed from reserved keywords list\n"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_22791369_*|*_1_*:*_1_*:*_88785332_*|*_10007_*:*_1_*:*_114432004_*|*_3_*:*_1_*:*_242672381_*|*_10009_*:*_1_*:*_39762884_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_850979861"}], "description": "*Puppet Version:*\n\n7.4.1\n{noformat}\nclass foo (\n  $site,\n) {\n  notice $site\n}\n\nclass { foo:\n  site => 'bar', # syntax error on this line in puppet 7\n}{noformat}\n\u00a0\n\nThe above code works fine in Puppet 4, 5 and 6 despite `site` being on the list of reserved words here.\u00a0https://puppet.com/docs/puppet/7.4/lang_reserved.html#lang_reserved_words\n\n*Actual Behavior:*\n{noformat}\nError: Could not parse for environment production: Syntax error at 'site' (file: /home/halexfis/test.pp, line: 8, column: 3) on node test{noformat}\n[https://puppet.com/docs/puppet/7.4/lang_reserved.html#lang_reserved_words]\u00a0doesn't explicitly say you can't use these words as parameter names, and other examples from that list continue to work fine. (eg. 'node').\n\nIt looks like this regression was caused by\u00a0https://puppet.atlassian.net/browse/PUP-10446\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26603", "fixedVersions": ["PUP 7.5.0"], "id": "26603", "issueType": "Bug", "key": "PUP-10929", "labels": ["community", "doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:054fa98a-5e29-48e7-aeca-d5542926f8ba", "resolution": "Fixed", "resolutionDate": "2021-03-10T01:52:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Syntax error in previously valid puppet code due to removal of application orchestration keywords", "timeSpent": "PT0S", "updated": "2021-03-10T08:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "IIRC, when rich data serialization encounters ascii-8-bit strings then it turns those into proper Binary instances I may be wrong though as that may not have made it in for some reason). It is only if the receiver does not accept rich-data there will be a real problem - and it should then fail when there is rich data. ", "created": "2021-02-19T06:57:00.000000"}, {"author": "999854:6ad73c68-4f6b-442b-8146-97dbf25c0e9f", "body": "This has been open a year - we've recently hit this.\n\nIs that at least a workaround so that if somebody adds binary data to a catalogue mistakenly that we can stop puppet overwriting files with the Deferred() (e.g) strings rather than the results of the call?\n\ne.g. can we stop it falling back to JSON?\n\nIf not, this has the potential to have a lot of impact.", "created": "2022-02-08T07:40:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "It would be fairly easy to add a puppet setting to disable falling back to **PSON**. The code where the fallback happens is:[https://github.com/puppetlabs/puppet/blob/4772afa194402a3876069785a178611797a8eb7d/lib/puppet/indirector/catalog/json.rb#L21-L23.]\n\nSo to implement this, I think we'd want:\n\n# A new setting in defaults.rb, located near [\"preferred_serialization_format\"|https://github.com/puppetlabs/puppet/blob/4772afa194402a3876069785a178611797a8eb7d/lib/puppet/defaults.rb#L1687-L1694] something like \"allow_pson_serialization=true|false\".\n# The new setting should allow the fallback by default.\n# If the fallback is triggered, but the fallback is not allowed, then log an error and exception at \"err\" level instead of \"debug\".\n# If the fallback is triggered and the fallback is allowed, then log a warning (instead of info) saying that PSON is deprecated and will be removed in a future release.\n\nAnother option would be to add a \"rich_data_pson\" serialization format, but I dislike that because 1) it doesn't solve the \"accidentally putting binary data in the catalog\" problem and 2) we want to get away from PSON as much as possible, see PUP-3852.", "created": "2022-02-08T12:14:00.000000"}], "components": [], "created": "2021-02-18T22:51:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@35a1a884"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0e9e3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Feb/21"}], "description": "If a catalog contains binary data, such as kerberos keytab files, then puppetserver will fallback to PSON. However, if the catalog also contains Sensitive/Binary/Deferred etc data types, then they will not work properly since rich data can't be serialized via PSON currently.\n\nWe should either fail the catalog, provide more information that the conversion is lossy, or look at adding a {{rich_data_pson}} serialization format.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24497", "fixedVersions": [], "id": "24497", "issueType": "Bug", "key": "PUP-10928", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet falls back to non-rich data if there is binary data in the catalog", "timeSpent": "PT0S", "updated": "2022-02-15T18:43:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Forgot I filed this already", "created": "2021-02-18T21:54:00.000000"}], "components": [], "created": "2021-02-18T21:50:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4fef8b15"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06oiw:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_240248_*|*_6_*:*_1_*:*_0"}], "description": "The compiler may produce an empty catalog if the {{manifests}} directory doesn't exist. During {{puppet apply manifest.pp}}, the apply application verifies that the manifest.pp file exists, but if a custom fact changes the current working directory, then the parser tries to parse <newdir>/manifest.pp, which doesn't exist. Most surprisingly, puppet apply produces an empty catalog! See PUP-9997.\n\nIt is also possible to request a catalog from the v4 endpoint with environment \"\" (empty string), and the compiler similarly tries to parse a non-existent {{/etc/puppetlabs/code/environments/manifests}} directory and returns an empty catalog.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20326", "fixedVersions": [], "id": "20326", "issueType": "Bug", "key": "PUP-10927", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Duplicate", "resolutionDate": "2021-02-18T21:54:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Puppet should fail parsing if the manifest(s) don't exist", "timeSpent": "PT0S", "updated": "2021-02-18T21:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [{"author": "5fd19b9de8ed8b0069d99fa8", "body": "The cc_puppet.py currently shipped with RHEL7/Centos7 _can_ support Puppet6, but not by its default configuration.\u00a0 You need to give additional options similar to:\n{code:java}puppet\n\u00a0 install: true\n\u00a0 version: 6.12.0\n\u00a0 package_name: 'puppet-agent'\n\u00a0 conf_file: '/etc/puppetlabs/puppet/puppet.conf'\u00a0{code}\nAlternatively, if you have your puppet agent installed in your base image (which is preferable) then you can put \"install: false\" and omit the \"version:\" option.\n\nAlso, note that this will only install and configure the puppet package, and start the service.\u00a0 It will not run an immediate puppet run and wait for the output.\u00a0 For this reason, we instead use the \"runcmd\" module to call puppet on an initial deployment run, and the \"write_files\" module to write the desired initial puppet.conf:\n{code:java}\nwrite_files:\n  - path: \"/opt/puppetlabs/puppet/puppet.conf\"\n    permissions: \"0755\"\n    owner: \"root\"\n    content: |\n      # content of puppet.conf goes in here\nruncmd:\n  - /opt/puppetlabs/bin/puppet agent --config /etc/puppetlabs/puppet/puppet.conf --onetime --no-daemonize --verbose >/etc/cloud/puppet.out 2>&1\n\n{code}", "created": "2021-04-30T03:10:00.000000"}, {"author": "5fd19b9de8ed8b0069d99fa8", "body": "Suggested fix:\n * Update cc_puppet.py as shipped with the various distros to use\u00a0 Puppet6 as a default configuration.\u00a0 This might be hard to get pushed out though\n * Allow all puppet.conf settings to be set via the puppet cloud-init configuration\n * Add an option to allow an immediate puppet run to be scheduled\n * Update documentation to show the above method to make cc_puppet.py work with puppet 6", "created": "2021-06-22T19:20:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "will update puppet versions to default configuration to puppet 6 and allow to install puppet 7and the existing configuration options should work", "created": "2021-07-28T02:41:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Hey [~accountid:5fd19b9de8ed8b0069d99fa8],\n\nI'm working on updating the cloud-init puppet module, here's what I have until now [https://github.com/canonical/cloud-init/compare/main...GabrielNagy:puppet-module-updates?expand=1]\n\n{quote}Update cc_puppet.py as shipped with the various distros to use Puppet6 as a default configuration. This might be hard to get pushed out though\n{quote}\n\nThis should be done, however I decided to default to puppet7 since that is the newest release stream that we support (this setting is now configurable via the {{collection}} key). The Ubuntu cloud images seem to be updated once every few months with the latest cloud-init code, so I think this will be achievable.\n\n{quote}\nAllow all puppet.conf settings to be set via the puppet cloud-init configuration\n{quote}\n\nFrom what I have tested this is already possible via the {{conf}} key. Let me know if I'm missing anything.\n\n{quote}\nAdd an option to allow an immediate puppet run to be scheduled\n{quote}\n\nThis should be done and can be achieved by setting {{exec}} to {{true}}. Default puppet agent arguments can be overridden with the {{exec_args}} key.\n\n{quote}\nUpdate documentation to show the above method to make cc_puppet.py work with puppet 6\n{quote}\n\nDocumentation should be updated in the branch above. I added more configurable settings so it would be great if you could take a look and let me know what you think. I have validated the module manually, next steps are to update the unit tests and submit a PR.", "created": "2021-08-02T09:12:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Opened a PR with the suggested changes here: https://github.com/canonical/cloud-init/pull/960", "created": "2021-08-04T03:06:00.000000"}, {"author": "5fd19b9de8ed8b0069d99fa8", "body": "Hi [~accountid:70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56] - this looks great, and ticks all the boxes for our requirements (configuration, later versions of puppet, and triggering an initial puppet run during cloud-init rather than just starting the service)..\u00a0 Looking forward to seeing this in the official releases (might be a while until it gets into Centos7 though).\u00a0 Thanks for doing such a thorough job of it all, including the detailed docs", "created": "2021-08-04T16:31:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "This was merged to cloud-init#main in https://github.com/canonical/cloud-init/commit/9893dfcd2f0be92197d707236cbd44cb7452364d", "created": "2021-08-10T09:16:00.000000"}], "components": ["Support Script"], "created": "2021-02-18T10:36:00.000000", "creator": "5e8b2ab4f135980b7bcd645e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4a33b414"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06nxs:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Apr/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_11844119729_*|*_3_*:*_1_*:*_528355356_*|*_10009_*:*_1_*:*_443402166_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_3_*:*_157085042_*|*_10005_*:*_1_*:*_1965850163"}], "description": "Dear Puppet Team,\n\nHope you are doing well. Thank you for amazing support. We love puppet. It helps us to automate our infrastructure. We need a bit of support to further automate the provisioning of the servers a bit more.\n\nCurrently, we use [Cloud-Init|https://cloudinit.readthedocs.io/en/latest/] to provide initial configuration of the server such as add usernames, ssh-keys and others. Cloud-init also has [Puppet Module|https://cloudinit.readthedocs.io/en/latest/topics/modules.html#puppet] which automatically installs puppet and set up the puppet-agent configuration which helps that the users such that they don't have to manually install the puppet and edit the /etc/hosts to provide the puppetserver IP Address.\n\n*Problem:*\n\nCloud init installs the puppet version 4 which is outdated.\n\n*Possible Workaround*\n\nUse [cloud-init write-files|https://cloudinit.readthedocs.io/en/latest/topics/modules.html#write-files] to create a script which download the puppet package from the Repository and install that. However, This requires creation of script which has to be OS-independent. For instance for Debian, Ubuntu download from apt.puppetlabs.com and for Centos/Redhat download from yum.puppetlabs.com.\n\n*Request*\n\nWould it be possible for the Puppet Team to support Puppet 6/7 via cloud-init? Probably, we need changes in the [cc_puppet.py|https://github.com/canonical/cloud-init/blob/11fa714f3a7b031657b642d0c2f0155854d5ee0e/cloudinit/config/cc_puppet.py] which currently installs Puppet 4.\n\nInclusion of Puppet 6 in Cloud-init would help the provision of the servers and automatic install of puppet.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28742", "fixedVersions": [], "id": "28742", "issueType": "Improvement", "key": "PUP-10926", "labels": ["community"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5e8b2ab4f135980b7bcd645e", "resolution": "Fixed", "resolutionDate": "2021-08-10T09:16:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Cloudinit support for Puppet 6 onwards", "timeSpent": "PT0S", "updated": "2021-08-10T09:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [], "components": [], "created": "2021-02-18T09:01:00.000000", "creator": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5df0019d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06ntg:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "This fix allows provider to be asked for default timeout value for syncing service properties when it has one instead of always defaulting to 10. This was causing issues on Windows when services were taking more than 10 seconds to change state or sync properties instead of waiting for 30 seconds as the provider was set to."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_163348415_*|*_1_*:*_1_*:*_429334706_*|*_10007_*:*_1_*:*_442172438_*|*_3_*:*_1_*:*_83557306_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_101410962_*|*_10005_*:*_1_*:*_16906741074"}], "description": "*Puppet Version: 6.21.1*\n *Puppet Server Version: n/a*\n *OS Name/Version: Windows*\n\nWindows services have a timeout for service-related operations that defaults to 30 seconds, as seen here: [https://github.com/puppetlabs/puppet/blob/e4a654400a4c1ad3b5bc73fb558d28219a4626b2/lib/puppet/util/windows/service.rb#L24]\n\nThis variable is used in the following method: [https://github.com/puppetlabs/puppet/blob/c6412ea369aa1613ca166b10fb819fcf6130814b/lib/puppet/provider/service/windows.rb#L118]\n\nThe method is called in the base service type: [https://github.com/puppetlabs/puppet/blob/e4a654400a4c1ad3b5bc73fb558d28219a4626b2/lib/puppet/type/service.rb#L301]\n\n*Desired Behavior:*\n\nNot setting the timeout parameter on a Windows service should cause it to default to 30 seconds.\n\n*Actual Behavior:*\n\nNot setting the timeout parameter on a Windows services causes it to default to 10 seconds.\n\n\u00a0\n\nThe line in the service type should change from:\n{code}\ndefaultto { provider.class.respond_to?(:default_timeout) ? provider.default_timeout : 10 }\n{code}\n\nto\n\n{code}\ndefaultto { provider.respond_to?(:default_timeout) ? provider.default_timeout : 10 }\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27715", "fixedVersions": ["PUP 6.25.0", "PUP 7.12.0"], "id": "27715", "issueType": "Bug", "key": "PUP-10925", "labels": ["community", "doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "resolution": "Fixed", "resolutionDate": "2021-09-16T05:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Default timeout not respected for Windows services", "timeSpent": "PT0S", "updated": "2021-10-05T06:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [{"author": "5abd613dd4cf3c56be24b70d", "body": "Hi [~accountid:623c0a43a2f6400069eb76f6]\u00a0Puppet 5 went EOL on the 31st of January 2021. More information about this here: [https://puppet.com/docs/puppet-enterprise/product-support-lifecycle/]\n\nCan you please let us know if the issue is reproducible on Puppet 6 or Puppet 7.\n\nThank you", "created": "2021-02-23T08:21:00.000000"}, {"author": "623c0a43a2f6400069eb76f6", "body": "Hi [~accountid:5abd613dd4cf3c56be24b70d],\n\nthanks for your response!\n\nI'll try to reproduce this bug with puppet 6!\n\n\u00a0\n\nDaniel", "created": "2021-02-23T09:32:00.000000"}, {"author": "623c0a43a2f6400069eb76f6", "body": "Hi [~accountid:5abd613dd4cf3c56be24b70d],\n\njust tested on the same system with a puppet agent version 6.21.1 and the exact problem still exists. :(\n\n\u00a0\n\nDaniel", "created": "2021-03-01T02:05:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:623c0a43a2f6400069eb76f6] can you run puppet agent -t --trace?", "created": "2021-03-09T23:10:00.000000"}, {"author": "623c0a43a2f6400069eb76f6", "body": "Sure (the agent version isnt rly changed):\n{code:java}Notice: Local environment: 'production' doesn't match server specified node environment 'feature_oracle_module', switching agent to 'feature_oracle_module'.\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Loading facts\nInfo: Caching catalog for lnxtest4.example.com\nInfo: Applying configuration version 'puppetpu-feature_oracle_module-86442227c75'\nNotice: /Stage[main]/Puppetagent::Install/Package[puppet-agent]/ensure: ensure changed '6.21.1-1.sles12' to '5.5.22' (corrective)\nInfo: Stage[main]: Unscheduling all events on Stage[main]\nNotice: Applied catalog in 7.44 seconds{code}", "created": "2021-03-15T23:40:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "I was able to reproduce this on a fresh SLES 12 box (the {{insserv-compat}} package came preinstalled). Basically, puppet thinks {{/etc/init.d/rc0.d}} is an init service and attempts to run {{/etc/init.d/rc0.d status}} to get its status. Unfortunately... that is a directory, and executing things on a directory fails with:\n{code:java}\nPuppet::Error: Could not status Service[rc0.d]: Execution of '/etc/init.d/rc0.d status' returned 1: Error: Could not execute posix command: Permission denied - /etc/init.d/rc0.d {code}\nThere is an [executable check|https://github.com/puppetlabs/puppet/blob/main/lib/puppet/provider/service/init.rb#L100] where we collect services, however directories are by definition executable so the check will pass. The failure of executing {{/etc/init.d/rc0.d status}} is [swallowed by Puppet|https://github.com/puppetlabs/puppet/blob/ba1e8af0717c6116f77d8665db115887d30c2ff1/lib/puppet/provider/service/base.rb#L70-L71], but for some reason it shows in {{/var/log/messages}}. We should also add a check in {{get_services}} which excludes all directories.\n\n\u00a0\n\nI'll also move this to the PUP project since it targets core Puppet.", "created": "2021-10-04T05:12:00.000000"}], "components": ["Types and Providers"], "created": "2021-02-18T06:32:00.000000", "creator": "623c0a43a2f6400069eb76f6", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1e08da0e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Community Contributors", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "dadav"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06nlc:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Prevent puppet from considering directories from `/etc/init.d/` as services"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_158914881_*|*_1_*:*_2_*:*_4002406336_*|*_10007_*:*_1_*:*_515558230_*|*_3_*:*_1_*:*_522470220_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_159792084_*|*_10005_*:*_1_*:*_15699396675"}], "description": "*Puppet Version: 5.5.22*\n *Puppet Server Version: 5.3.7*\n *OS Name/Version: SLES 12 SP5*\n\nRunning *puppet agent -t* results in multiple error messages in /var/log/messages which state the following:\n\nCould not execute posix command: Permission denied - /etc/init.d/rc0.d\n\nRunning puppet in debug mode gives the following hint:\n\n*Debug: Executing: '/etc/init.d/rc0.d status'*\n\nThese files have 755 permissions, owner is root and are part of the *insserv-compat* package.\n\n\u00a0\n\n*Desired Behavior:*\n\n*Not having these error messages*\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21295", "fixedVersions": ["PUP 6.26.0", "PUP 7.13.0"], "id": "21295", "issueType": "Bug", "key": "PUP-11313", "labels": ["community", "docs_reviewed", "needs_repro"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0a43a2f6400069eb76f6", "resolution": "Fixed", "resolutionDate": "2021-10-20T01:07:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet is trying to execute /etc/init.d/rc{0..6}.d directories", "timeSpent": "PT0S", "updated": "2021-12-07T21:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Shouldn't we submit a fix to upstream minitar? It's been downloaded 25M times so seems like we shouldn't reinvent the wheel.", "created": "2021-02-18T19:18:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Rubygems has the same issue https://github.com/rubygems/rubygems/issues/1376\n\nI think my main concern is any puppet module packed in a new way and has file paths less than 256, should be compatible with existing PMT. But if a module has long paths then it would be ok to pack using one of the tar variants that has a higher limit.\n\nAlso we still need to fix the pluginsync issue with LFN", "created": "2021-02-24T23:46:00.000000"}, {"author": "557058:6d857d90-8994-48d7-b10d-fb3191606f48", "body": "This problem has become a blocker for the {{Puppet.Dsc}} work as long paths in puppetized modules brings things to a state where the modules are buildable and publishable but not installable.\n\nhttps://github.com/puppetlabs/Puppet.Dsc/issues/144", "created": "2021-04-16T09:31:00.000000"}, {"author": "557058:cb7bc15e-c86d-41f5-bc56-683d06b0a7fe", "body": "Is there any relation between this bug and https://puppet.atlassian.net/browse/MODULES-3135?", "created": "2021-04-27T06:40:00.000000"}, {"author": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "body": "fwiw, I'm unable to replicate this locally (macOS). I removed the path length checks from the PDK and used it to build modules which I then installed with {{puppet module install}}. Both the build and the install succeeded until I exceeded the OS/filesystem maximum length, at which point I received an {{Errno::ENAMETOOLONG}} as I'd expect.", "created": "2021-07-13T12:13:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b] We only vendor the minitar gem on Windows and Solaris, so you'll need to be one one of those platforms to reproduce. On other platforms we rely on the native {{tar}} command, see [https://github.com/puppetlabs/puppet/blob/d6038363b13cd989d2e7cb35fc9d5c605d31b786/lib/puppet/module_tool/tar.rb#L8-L17|https://github.com/puppetlabs/puppet/blob/d6038363b13cd989d2e7cb35fc9d5c605d31b786/lib/puppet/module_tool/tar.rb#L8-L17]", "created": "2021-07-14T17:21:00.000000"}, {"author": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "body": "I cannot reproduce the test failure indicated by https://travis-ci.com/github/puppetlabs/puppet-modulebuilder/jobs/484161960#L423-L430 on a Xenial machine.\n\nI removed the {{validate_ustar_path}} check from the PDK, then used the code from the unit test to make the deeply nested empty file in a module. I used my modified PDK to build the module package and then {{puppet module install}} to install it. Everything worked as expected.", "created": "2021-07-15T16:18:00.000000"}, {"author": "6008bc0fbe0f980076dd36f3", "body": "[~accountid:557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b] I've seen this issue when using Litmus against Windows test hosts. It will unpack the module, but it will not unpack any files or directories in the module that are part of paths longer than 255 chars.", "created": "2021-07-26T14:56:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:6008bc0fbe0f980076dd36f3] or anyone else following this ticket, can you try using a recent puppet-agent MSI (6.25 or 7.12) and install it with the {{ENABLE_LONG_PATHS=TRUE}} parameter, see https://puppet.com/docs/puppet/6/install_agents.html#msi_properties, reboot and verify this is no longer an issue?", "created": "2021-12-01T22:22:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I verified this is no longer an issue when specifying {{ENABLE_LONG_PATHS=true}} and rebooting. I created a module whose fact relatively requires a file whose path exceeds MAX_PATH:\n\n{code:ruby}\nFacter.add(:long) do\n  setcode do\n    require_relative '../01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789/abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghij'\n    true\n  end\nend\n{code}\n\nAnd the helper code contains:\n\n{noformat}\nC:\\ProgramData\\PuppetLabs>type \"C:\\ProgramData\\PuppetLabs\\code\\environments\\production\\modules\\longfilenames\\lib\\01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\\abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghij.rb\"\nputs 'in helper'\n{noformat}\n\nThe relative path to the file on disk is 402 chars which exceeds MAXPATH. I can install the module (using 7.15.0):\n\n{noformat}\nC:\\ProgramData\\PuppetLabs>puppet module install c:\\cygwin64\\home\\Administrator\\josh-longfilenames-0.1.0.tar.gz\nNotice: Preparing to install into C:/ProgramData/PuppetLabs/code/environments/production/modules ...\nNotice: Downloading from https://forgeapi.puppet.com ...\nNotice: Installing -- do not interrupt ...\nC:/ProgramData/PuppetLabs/code/environments/production/modules\n\u2514\u2500\u2500 josh-longfilenames (v0.1.0)\n{noformat}\n\nAnd the fact can load the helper code:\n\n{noformat}\nC:\\ProgramData\\PuppetLabs>puppet apply -e \"notice($facts['long'])\" --modulepath c:\\ProgramData\\PuppetLabs\\code\\environments\\production\\modules\nin helper\nNotice: Scope(Class[main]): true\n{noformat}\n\nSo I'm going to close this as a dup of PA-3843", "created": "2022-03-31T14:42:00.000000"}], "components": [], "created": "2021-02-18T02:00:00.000000", "creator": "557058:68216498-c6bf-4e8f-92c1-ac84887b7c02", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4bada55c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0865s:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5896940974_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_10336838284_*|*_10005_*:*_1_*:*_18886777721"}], "description": "*Puppet Version:* 6.21.1 but because of minitar 0.9 origins, likely also relevant to all other recent releases.\n*OS Name/Version:* xenial\n\nTrying to install modules with {{puppet module install}} when the module contains deeply nested paths fails with a minitar error.\n\nSee https://github.com/puppetlabs/puppet-modulebuilder/pull/37 for the puppet-modulebuilder code changes to trigger this; See https://travis-ci.com/github/puppetlabs/puppet-modulebuilder/jobs/484161960#L423-L430 for the test results.\n\n*Desired Behavior:*\n\nPuppet should be able to install all valid modules.\n\n*Actual Behavior:*\n\n{{puppet module install}} fails with \n\n{code}\nFailed to install the module using Puppet. Exit code 1: Notice: Preparing to install into /tmp/d20210218-7106-kfle20 ...\nError: \"/1234567890\" is not a valid octal string\nError: Try 'puppet help module install' for usage\n{code}\n\n\n[~accountid:63d40628f6e1b543161789a7] would it make sense to move the unpack code also to puppet-modulebuilder to ease iterating and testing these connected code-paths? This gem is already used by voxpupuli/puppet-blacksmith and was slated to be used by the PDK (where this code was lifted from).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26598", "fixedVersions": [], "id": "26598", "issueType": "Bug", "key": "PUP-10924", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "High (migrated)", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:68216498-c6bf-4e8f-92c1-ac84887b7c02", "resolution": "Duplicate", "resolutionDate": "2022-03-31T14:42:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "`module install` can't unpack modules with long paths because of minitar bug", "timeSpent": "PT0S", "updated": "2022-03-31T14:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "5e3375e183d74c0e821851f3", "body": "Changing the case may cause changes across customers that have standardized uppercase hostnames. To avoid a large changeset,  a `certname_rand` could be implemented as the certname should always be lowercase and should not change without a certificate regeneration.", "created": "2021-02-16T07:36:00.000000"}, {"author": "5caf5082c75c532928c11f7b", "body": "If a certname_rand() function is added, then the multiple Puppet Enterprise modules which call fqdn_rand() should be rewritten to call certname_rand() instead.", "created": "2021-02-16T07:45:00.000000"}, {"author": "5caf5082c75c532928c11f7b", "body": "For example, running Puppet on our development Puppet server (with no code or configuration changes) gives the following output, because the DNS lookup of the hostname differs in case from the previous run:\n\n{noformat}\nNotice: /Stage[main]/Pe_repo::Bulk_pluginsync/Cron[create tar.gz of pluginsync cache]/minute: minute changed ['36'] to ['2']\nNotice: /Stage[main]/Pe_repo::Bulk_pluginsync/Cron[create zip of pluginsync cache]/minute: minute changed ['36'] to ['2']\nNotice: /Stage[main]/Puppet_enterprise::Master::Recover_configuration/Cron[puppet infra recover_configuration]/minute: minute changed ['7', '37'] to ['25', '55']\nNotice: /Stage[main]/Pwcpatch::Cron/Cron[Set RedHat and CentOS patching schedule]/minute: minute changed ['35'] to ['3']\nNotice: /Stage[main]/Pwcpatchcompliance::Linux/Cron[Patch Compliance Check - Static]/minute: minute changed ['39'] to ['16']\nNotice: /Stage[main]/Puppet_metrics_collector::Service::Puppetserver/Puppet_metrics_collector::Pe_metric[puppetserver]/Cron[puppetserver_metrics_tidy]/minute: minute changed ['20'] to ['50']\nNotice: /Stage[main]/Puppet_metrics_collector::Service::Puppetserver/Puppet_metrics_collector::Pe_metric[puppetserver]/Cron[puppetserver_metrics_tidy]/hour: hour changed ['1'] to ['0']\nNotice: /Stage[main]/Puppet_metrics_collector::Service::Puppetdb/Puppet_metrics_collector::Pe_metric[puppetdb]/Cron[puppetdb_metrics_tidy]/minute: minute changed ['10'] to ['25']\nNotice: /Stage[main]/Puppet_metrics_collector::Service::Orchestrator/Puppet_metrics_collector::Pe_metric[orchestrator]/Cron[orchestrator_metrics_tidy]/minute: minute changed ['15'] to ['20']\nNotice: /Stage[main]/Puppet_metrics_collector::Service::Orchestrator/Puppet_metrics_collector::Pe_metric[orchestrator]/Cron[orchestrator_metrics_tidy]/hour: hour changed ['1'] to ['0']\nNotice: /Stage[main]/Puppet_metrics_collector::Service::Ace/Puppet_metrics_collector::Pe_metric[ace]/Cron[ace_metrics_tidy]/minute: minute changed ['25'] to ['15']\nNotice: /Stage[main]/Puppet_metrics_collector::Service::Ace/Puppet_metrics_collector::Pe_metric[ace]/Cron[ace_metrics_tidy]/hour: hour changed ['1'] to ['2']\nNotice: /Stage[main]/Puppet_metrics_collector::Service::Bolt/Puppet_metrics_collector::Pe_metric[bolt]/Cron[bolt_metrics_tidy]/minute: minute changed ['35'] to ['50']\nNotice: /Stage[main]/Puppet_metrics_collector::Service::Bolt/Puppet_metrics_collector::Pe_metric[bolt]/Cron[bolt_metrics_tidy]/hour: hour changed ['0'] to ['2']\n{noformat}", "created": "2021-02-22T06:45:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:5caf5082c75c532928c11f7b], is adding a new function (like certname_rand())\u00a0 helpful in your case?\n\nChanging existing fqdn_rand() function behavior may cause issues, see: https://puppet.atlassian.net/browse/PUP-8141 change of\u00a0fqdn_rand() reverted by https://puppet.atlassian.net/browse/PUP-8469", "created": "2021-03-11T08:01:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "On second though, even if is not purely a config, we could implement a puppet configuration flag to control whether the fqdn_rand function is case sensitive or not. Thoughts?", "created": "2021-03-15T10:22:00.000000"}, {"author": "5c2ff2e8e6047225b6d53614", "body": "Hi [~accountid:5caf5082c75c532928c11f7b],\u00a0\n\nWould any of Ciprian's options be suitable fixes for you?\n\nMany thanks,\n\nGareth...", "created": "2021-03-23T12:00:00.000000"}, {"author": "5c2ff2e8e6047225b6d53614", "body": "Hi\u00a0[~accountid:5caf5082c75c532928c11f7b],\u00a0\n\nCiprian mentioned a possible option for addressing this issue\u00a0 - would this be suitable?\n\nMany thanks,\n\nGareth...", "created": "2021-04-14T05:02:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/a3553cab5b7d93c222e1a39599be4b6956ffc3e5", "created": "2021-04-29T13:39:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 4142539019", "created": "2021-05-06T11:18:00.000000"}], "components": ["Functions"], "created": "2021-02-15T08:12:00.000000", "creator": "5caf5082c75c532928c11f7b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7dfd66c2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk4af:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The `fqdn_rand` function accepts an optional parameter to downcase the FQDN fact so that the function's result is not sensitive FQDN case. The parameter must be passed after the SEED string, such as fqdn_rand(100, 'expensive job 1', true). By default, the function remains case-sensitive."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "42419,43144"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_596356968_*|*_1_*:*_1_*:*_171942579_*|*_10007_*:*_1_*:*_525336930_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_803993577_*|*_10005_*:*_1_*:*_4821922385"}], "description": "The DNS standard does not require hostnames to be case-consistent across different servers which are authoritative for the same domain.\n\nTherefore, the fqdn_rand function should not assume that the FQDN of a given server, (which may rely on DNS lookup via getaddrinfo) will always be returned with identical case.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27714", "fixedVersions": ["PUP 6.23.0", "PUP 7.7.0"], "id": "27714", "issueType": "Improvement", "key": "PUP-10922", "labels": ["doc-reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5caf5082c75c532928c11f7b", "resolution": "Fixed", "resolutionDate": "2021-05-06T11:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "The fqdn_rand() function should not assume case-consistency in the fqdn fact", "timeSpent": "PT0S", "updated": "2021-05-18T08:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623e76bbee1b5a00702a7278", "body": "Seems the same as\u00a0https://puppet.atlassian.net/browse/PUP-10896", "created": "2021-02-15T03:37:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is a dup of PUP-10896.", "created": "2021-02-15T18:16:00.000000"}], "components": ["Types and Providers"], "created": "2021-02-15T00:59:00.000000", "creator": "623e76bbee1b5a00702a7278", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5a9f2172"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "CentOS 7"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06lpk:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_62198943_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.21.0*\n *Puppet Server Version: 6.15.1*\n *OS Name/Version: Centos 7 / ubuntu 20.04*\n\n*Desired Behavior:*\n\nDo not correct users if not needed\n\n*Actual Behavior:*\n\n\u00a0\n\nEach puppet run I get the message\u00a0\n\nNotice: /Stage[main]/Sbt::Users/User[oswaldk]/gid: gid changed '100' to 'users' (corrective)\n\nThis user's gid is 100 which is the users group.\n\nFor every user we manage we get this message on each puppet run. The user resource has the forcelocal parameter set as true.\n\nWe get this message since the 6.21 update. Puppet agent 6.20 did not do this.\n\nApparently this changed in 6.21:\n\n[https://puppet.com/docs/puppet/6.21/release_notes_puppet.html#release_notes_puppet_x-19-0]\n\nThe puppet resource for user oswaldk:\n\nuser { oswaldk:\n\u00a0 ensure => present,\n\u00a0 home => '/home/oswaldk',\u00a0\u00a0\n\u00a0 uid => '2000',\n\u00a0 comment => 'Oswald Knoppers',\n\u00a0 password => 'xxx',\n\u00a0 managehome => true,\n\u00a0 forcelocal => true,\n\u00a0 gid => 'users',\n\u00a0 shell => '/bin/bash',\n\u00a0 groups => 'ssh_users',\n\u00a0 require => Group['ssh_users'],\n }\n\nIt looks like this problem was introduced with version 6.21\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25592", "fixedVersions": [], "id": "25592", "issueType": "Bug", "key": "PUP-10921", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e76bbee1b5a00702a7278", "resolution": "Duplicate", "resolutionDate": "2021-02-15T18:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet assumes gid of user needs to be corrected", "timeSpent": "PT0S", "updated": "2021-02-15T18:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-02-12T15:19:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4eb9beae"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10911"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06lhc:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1119_*|*_3_*:*_1_*:*_582356592_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_348397543"}], "description": "(Initial planned release date: 2021-02-16)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2021-02-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.21.1 Release - 2021-02-16\n", "estimate": "PT0S", "externalId": "27713", "fixedVersions": [], "id": "27713", "issueType": "Task", "key": "PUP-10920", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26594", "parentSummary": "Puppet Platform 6.21.1 Release - 2021-02-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-02-23T09:52:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 6.21.1)", "timeSpent": "PT0S", "updated": "2021-02-23T09:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-02-12T15:19:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@621ec965"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10911"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06lh4:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1139_*|*_3_*:*_1_*:*_557303_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_348441507"}], "description": "(Initial planned release date: 2021-02-16)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n", "duedate": "2021-02-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.21.1 Release - 2021-02-16\n", "estimate": "PT0S", "externalId": "26595", "fixedVersions": [], "id": "26595", "issueType": "Task", "key": "PUP-10919", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26594", "parentSummary": "Puppet Platform 6.21.1 Release - 2021-02-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-02-16T16:16:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 6.21.1)", "timeSpent": "PT0S", "updated": "2021-02-16T16:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61d4868af63ac800706ebb62", "attachments": [], "comments": [], "components": [], "created": "2021-02-12T15:19:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@79965557"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10911"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06lgw:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1158_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_345139151"}], "description": "(Initial planned release date: 2021-02-16)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 6.21.1 is now available\".\n", "duedate": "2021-02-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.21.1 Release - 2021-02-16\n", "estimate": "PT0S", "externalId": "25590", "fixedVersions": [], "id": "25590", "issueType": "Task", "key": "PUP-10918", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26594", "parentSummary": "Puppet Platform 6.21.1 Release - 2021-02-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-02-16T15:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Send release announcement (Puppet Platform 6.21.1)", "timeSpent": "PT0S", "updated": "2021-02-16T15:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "https://puppet.com/docs/puppet/6.21/release_notes_puppet.html", "created": "2021-02-16T12:23:00.000000"}], "components": [], "created": "2021-02-12T15:19:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@29ebfad4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10911"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06lgg:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1242_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_335051452"}], "description": "(Initial planned release date: 2021-02-16)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2021-02-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.21.1 Release - 2021-02-16\n", "estimate": "PT0S", "externalId": "23443", "fixedVersions": [], "id": "23443", "issueType": "Task", "key": "PUP-10917", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26594", "parentSummary": "Puppet Platform 6.21.1 Release - 2021-02-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-02-16T12:23:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 6.21.1)", "timeSpent": "PT0S", "updated": "2021-02-16T12:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-02-12T15:19:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@462d5787"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10911"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06lg8:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1112_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_348423027"}], "description": "(Initial planned release date: 2021-02-16)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2021-02-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.21.1 Release - 2021-02-16\n", "estimate": "PT0S", "externalId": "22427", "fixedVersions": [], "id": "22427", "issueType": "Task", "key": "PUP-10916", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26594", "parentSummary": "Puppet Platform 6.21.1 Release - 2021-02-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-02-16T16:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 6.21.1)", "timeSpent": "PT0S", "updated": "2021-02-16T16:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:557058:4786f794-5167-4041-b3c0-deb1e8ba3438] [~accountid:5abd613dd4cf3c56be24b70d]\n\nThe next release in the Puppet 6 series, Puppet 6.21.1, is now available!\n\nThis release fixes a regression introduced in 6.21.0 where setting the `gid` parameter on a user resource with `forcelocal` was not idempotent. PUP-10896\n\nFor the full list of 6.21 changes, check out the release notes: [https://puppet.com/docs/puppet/6.21/release_notes_osp.html]", "created": "2021-02-16T03:16:00.000000"}, {"author": "5abd613dd4cf3c56be24b70d", "body": "Thank you Claire!", "created": "2021-02-16T06:13:00.000000"}, {"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "[~accountid:61d4868af63ac800706ebb62] [~accountid:557058:31c596d1-7e27-4c91-bc18-1254edb3caab]\u00a0this email announcement is good to go as well", "created": "2021-02-16T14:33:00.000000"}], "components": [], "created": "2021-02-12T15:19:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6b75d9ee"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10911"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06lfs:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1211_*|*_10009_*:*_1_*:*_88149363_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_302269773"}], "description": "(Initial planned release date: 2021-02-16)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2021-02-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.21.1 Release - 2021-02-16\n", "estimate": "PT0S", "externalId": "20325", "fixedVersions": [], "id": "20325", "issueType": "Task", "key": "PUP-10915", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26594", "parentSummary": "Puppet Platform 6.21.1 Release - 2021-02-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-02-17T03:46:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Prepare release announcement (Puppet Platform 6.21.1)", "timeSpent": "PT0S", "updated": "2021-02-17T03:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Release notes draft:\n\n[https://docs.google.com/document/d/1ynDQa86FAc49BftM10OxvbYWlSWp0rdp4vgRK3CmVpE/edit]", "created": "2021-02-15T07:24:00.000000"}], "components": [], "created": "2021-02-12T15:19:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2de808ba"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10911"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06lfk:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1181_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_230747712"}], "description": "(Initial planned release date: 2021-02-16)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2021-02-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.21.1 Release - 2021-02-16\n", "estimate": "PT0S", "externalId": "29778", "fixedVersions": [], "id": "29778", "issueType": "Task", "key": "PUP-10914", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26594", "parentSummary": "Puppet Platform 6.21.1 Release - 2021-02-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-02-15T07:25:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 6.21.1)", "timeSpent": "PT0S", "updated": "2021-02-15T07:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-02-12T15:19:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@669fc5d3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10911"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06lfc:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1268_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_348456108"}], "description": "(Initial planned release date: 2021-02-16)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2021-02-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.21.1 Release - 2021-02-16\n", "estimate": "PT0S", "externalId": "28739", "fixedVersions": [], "id": "28739", "issueType": "Task", "key": "PUP-10913", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26594", "parentSummary": "Puppet Platform 6.21.1 Release - 2021-02-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-02-16T16:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 6.21.1)", "timeSpent": "PT0S", "updated": "2021-02-16T16:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-02-12T15:19:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1054a057"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10911"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06lf4:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1431_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_348468362"}], "description": "(Initial planned release date: 2021-02-16)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 6.21.1 and puppet-agent 6.21.1 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2021-02-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.21.1 Release - 2021-02-16\n", "estimate": "PT0S", "externalId": "27712", "fixedVersions": [], "id": "27712", "issueType": "Task", "key": "PUP-10912", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26594", "parentSummary": "Puppet Platform 6.21.1 Release - 2021-02-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-02-16T16:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 6.21.1)", "timeSpent": "PT0S", "updated": "2021-02-16T16:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-02-12T15:19:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3ce95922"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-14"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 6.21.1 Release - 2021-02-16\n"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_orange"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06lew:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4233872067_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 6.21.1 Release - 2021-02-16\n", "duedate": "2021-02-16T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26594", "fixedVersions": [], "id": "26594", "issueType": "Epic", "key": "PUP-10911", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-04-02T16:23:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Platform 6.21.1 Release - 2021-02-16\n", "timeSpent": "PT0S", "updated": "2021-04-02T16:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-02-12T15:17:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5bbe746c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10901"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06lcg:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1136_*|*_3_*:*_1_*:*_581759027_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_349165842"}], "description": "(Initial planned release date: 2021-02-16)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2021-02-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.4.1 Release - 2021-02-16\n", "estimate": "PT0S", "externalId": "25589", "fixedVersions": [], "id": "25589", "issueType": "Task", "key": "PUP-10910", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24494", "parentSummary": "Puppet Platform 7.4.1 Release - 2021-02-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-02-23T09:52:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 7.4.1)", "timeSpent": "PT0S", "updated": "2021-02-23T09:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-02-12T15:17:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@76d4df29"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10901"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06lc8:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1159_*|*_3_*:*_1_*:*_47169_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_930938315"}], "description": "(Initial planned release date: 2021-02-16)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n", "duedate": "2021-02-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.4.1 Release - 2021-02-16\n", "estimate": "PT0S", "externalId": "24495", "fixedVersions": [], "id": "24495", "issueType": "Task", "key": "PUP-10909", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24494", "parentSummary": "Puppet Platform 7.4.1 Release - 2021-02-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-02-23T09:53:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 7.4.1)", "timeSpent": "PT0S", "updated": "2021-02-23T09:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61d4868af63ac800706ebb62", "attachments": [], "comments": [], "components": [], "created": "2021-02-12T15:16:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@25c95c1a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10901"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06lc0:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1222_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_345332927"}], "description": "(Initial planned release date: 2021-02-16)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 7.4.1 is now available\".\n", "duedate": "2021-02-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.4.1 Release - 2021-02-16\n", "estimate": "PT0S", "externalId": "23442", "fixedVersions": [], "id": "23442", "issueType": "Task", "key": "PUP-10908", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24494", "parentSummary": "Puppet Platform 7.4.1 Release - 2021-02-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-02-16T15:12:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Send release announcement (Puppet Platform 7.4.1)", "timeSpent": "PT0S", "updated": "2021-02-16T15:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "https://puppet.com/docs/puppet/7.4/release_notes_puppet.html", "created": "2021-02-16T12:24:00.000000"}], "components": [], "created": "2021-02-12T15:16:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@11179476"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10901"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06lbk:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1231_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_335244487"}], "description": "(Initial planned release date: 2021-02-16)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2021-02-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.4.1 Release - 2021-02-16\n", "estimate": "PT0S", "externalId": "21334", "fixedVersions": [], "id": "21334", "issueType": "Task", "key": "PUP-10907", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24494", "parentSummary": "Puppet Platform 7.4.1 Release - 2021-02-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-02-16T12:24:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 7.4.1)", "timeSpent": "PT0S", "updated": "2021-02-16T12:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-02-12T15:16:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5bf657ae"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10901"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06lbc:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1113_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_349188420"}], "description": "(Initial planned release date: 2021-02-16)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2021-02-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.4.1 Release - 2021-02-16\n", "estimate": "PT0S", "externalId": "20324", "fixedVersions": [], "id": "20324", "issueType": "Task", "key": "PUP-10906", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24494", "parentSummary": "Puppet Platform 7.4.1 Release - 2021-02-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-02-16T16:16:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 7.4.1)", "timeSpent": "PT0S", "updated": "2021-02-16T16:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:557058:4786f794-5167-4041-b3c0-deb1e8ba3438] [~accountid:5abd613dd4cf3c56be24b70d]\n\nThe next release in the Puppet 7 series, Puppet 7.4.1, is now available!\n\nThis release fixes a regression introduced in 7.4.0 where setting the `gid` parameter on a user resource with `forcelocal` was not idempotent. PUP-10896\n\nFor the full list of 7.4 changes, check out the release notes: [https://puppet.com/docs/puppet/7.4/release_notes_osp.html]", "created": "2021-02-16T03:15:00.000000"}, {"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "[~accountid:61d4868af63ac800706ebb62] [~accountid:557058:31c596d1-7e27-4c91-bc18-1254edb3caab]\u00a0this announcement is good to go, just one fix in it", "created": "2021-02-16T14:32:00.000000"}], "components": [], "created": "2021-02-12T15:16:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6410537b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10901"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06law:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1251_*|*_10009_*:*_1_*:*_88226538_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_302355931"}], "description": "(Initial planned release date: 2021-02-16)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2021-02-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.4.1 Release - 2021-02-16\n", "estimate": "PT0S", "externalId": "28730", "fixedVersions": [], "id": "28730", "issueType": "Task", "key": "PUP-10905", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24494", "parentSummary": "Puppet Platform 7.4.1 Release - 2021-02-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-02-17T03:46:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare release announcement (Puppet Platform 7.4.1)", "timeSpent": "PT0S", "updated": "2021-02-17T03:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Release notes draft:\n\n[https://docs.google.com/document/d/1ynDQa86FAc49BftM10OxvbYWlSWp0rdp4vgRK3CmVpE/edit]", "created": "2021-02-15T07:24:00.000000"}], "components": [], "created": "2021-02-12T15:16:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5a227d25"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10901"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06lao:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1214_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_230896846"}], "description": "(Initial planned release date: 2021-02-16)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2021-02-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.4.1 Release - 2021-02-16\n", "estimate": "PT0S", "externalId": "27711", "fixedVersions": [], "id": "27711", "issueType": "Task", "key": "PUP-10904", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24494", "parentSummary": "Puppet Platform 7.4.1 Release - 2021-02-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-02-15T07:24:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 7.4.1)", "timeSpent": "PT0S", "updated": "2021-02-15T07:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-02-12T15:16:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7ac3e229"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10901"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06lag:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1208_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_349205659"}], "description": "(Initial planned release date: 2021-02-16)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2021-02-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.4.1 Release - 2021-02-16\n", "estimate": "PT0S", "externalId": "26591", "fixedVersions": [], "id": "26591", "issueType": "Task", "key": "PUP-10903", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24494", "parentSummary": "Puppet Platform 7.4.1 Release - 2021-02-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-02-16T16:16:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 7.4.1)", "timeSpent": "PT0S", "updated": "2021-02-16T16:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-02-12T15:16:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@575a6890"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10901"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06la8:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1195_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_349213740"}], "description": "(Initial planned release date: 2021-02-16)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 7.4.1 and puppet-agent 7.4.1 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2021-02-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.4.1 Release - 2021-02-16\n", "estimate": "PT0S", "externalId": "25588", "fixedVersions": [], "id": "25588", "issueType": "Task", "key": "PUP-10902", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24494", "parentSummary": "Puppet Platform 7.4.1 Release - 2021-02-16\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-02-16T16:16:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 7.4.1)", "timeSpent": "PT0S", "updated": "2021-02-16T16:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-02-12T15:16:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3e7813d6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-12"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 7.4.1 Release - 2021-02-16\n"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "grey"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06la0:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4234075029_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 7.4.1 Release - 2021-02-16\n", "duedate": "2021-02-16T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24494", "fixedVersions": [], "id": "24494", "issueType": "Epic", "key": "PUP-10901", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-04-02T16:24:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Platform 7.4.1 Release - 2021-02-16\n", "timeSpent": "PT0S", "updated": "2021-04-02T16:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Hi [~accountid:5edfb9fa6bd4b80aadab067b] this is likely a duplicate of PUP-10896. Can you try http://nightlies.puppet.com/yum/puppet6-nightly/el/7/x86_64/puppet-agent-6.21.1-1.el7.x86_64.rpm and verify the issue is resolved?", "created": "2021-02-11T15:45:00.000000"}, {"author": "5edfb9fa6bd4b80aadab067b", "body": "Hi [~accountid:63d40628f6e1b543161789a7], I agree this is a duplicate of PUP-10896. I saw that bug report shortly after opening this one.\n\nThank you for providing me the link to CentOS 7 nightly build. Applying this package manually resolved the issues I was seeing. I also located the CentOS 6 nightly build for this version, and this resolved my issue for this OS as well.\n\nHow soon will this be package pushed to the official repository? I would like to get this updated on all our systems since one of the things we use Puppet to do is...update Puppet to the latest version.", "created": "2021-02-11T16:35:00.000000"}], "components": [], "created": "2021-02-11T11:28:00.000000", "creator": "5edfb9fa6bd4b80aadab067b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@58151824"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06jaw:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_15477502_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:* 6.21.0\n *Puppet Server Version:* Foreman 2.1.4\n *OS Name/Version:* CentOS 6 and CentOS 7\n\nStarting with Puppet version 6.21.0, when applying a manifest with the gid attribute set to a specific group using the user resource, puppet will always apply the group ID to the user account even when it is set correctly. In Foreman, reports will show puppet is applying modules on every run, which affects our internal reporting. This occurs when using the *puppet agent* and *puppet apply* a basic manifest or command that sets the gid of a user account. It appears as puppet is reading the group ID as a string value instead of a numeric value.\n\n*Desired Behavior:*\n\nPuppet will not attempt to change the gid if this is already set to the correct value.\n\n*Actual Behavior:*\n\nPuppet attempts to change the gid even if this is set correctly.\n\nExample: when running with puppet agent --test --trace --debug (snippet):\n\nDebug: Executing: '/sbin/lusermod -g 1001 testuser'\nNotice: /Stage[main]/Test/User[testuser]/gid: gid changed '1001' to 1001 (corrective)", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20322", "fixedVersions": [], "id": "20322", "issueType": "Bug", "key": "PUP-10900", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5edfb9fa6bd4b80aadab067b", "resolution": "Duplicate", "resolutionDate": "2021-02-11T15:46:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Puppet gid attribute in user resource always applying changes", "timeSpent": "PT0S", "updated": "2021-02-11T16:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "623c12ff94742a00683e41fd", "body": "Also opened\u00a0https://github.com/puppetlabs/puppetlabs-acl/pull/231", "created": "2021-02-23T02:55:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in 121a967387, passed CI in 2056487938", "created": "2021-03-02T11:20:00.000000"}], "components": [], "created": "2021-02-11T08:32:00.000000", "creator": "623c12ff94742a00683e41fd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@186df0a1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06ivk:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "A known issue with `LookupAccountNameW` was causing Puppet to fail when managing Windows users under `APPLICATION PACKAGE AUTHORITY` with fully qualified names. A account name sanitization step was added to prevent faulty queries."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "42787"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Mar/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_475037225_*|*_1_*:*_1_*:*_504587393_*|*_10007_*:*_1_*:*_166940695_*|*_3_*:*_1_*:*_338631641_*|*_10009_*:*_1_*:*_45281857_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_167087629"}], "description": "Our [puppetlabs-acl|https://github.com/luchihoratiu/puppetlabs-acl]\u00a0module lists changes with the users under\u00a0*APPLICATION PACKAGE AUTHORITY*\u00a0as a known limitation as follows:\n{panel}\n\u00a0When referring to accounts in the\u00a0{{APPLICATION PACKAGE AUTHORITY}}, use either their SID values or their unqualified names. The Windows API has well documented bugs preventing the fully qualified account names from being used.\n * {{S-1-15-2-1}}\u00a0or\u00a0{{ALL APPLICATION PACKAGES}}, but\u00a0_not_\u00a0{{APPLICATION PACKAGE AUTHORITY\\ALL APPLICATION PACKAGES}}. This account may only be referenced on Windows 2012R2 (kernel 6.3) or newer.\n * {{S-1-15-2-2}}\u00a0or\u00a0{{ALL RESTRICTED APPLICATION PACKAGES}}, but\u00a0_not_\u00a0{{APPLICATION PACKAGE AUTHORITY\\ALL RESTRICTED APPLICATION PACKAGES}}. This account may only be referenced on Windows 2016 (kernel 10.0) or newer.{panel}\nUsing above advice, the following manifest works and is idempotent :\n{code:puppet}acl { 'C:\\\\My Folder':\n  permissions => [\n  {\n      identity => 'ALL RESTRICTED APPLICATION PACKAGES', rights => ['read','write','execute']}\n  ],\n}\n{code}\nBut when trying to add other permissions (new ones), the following error occurs:\n *Error: Failed to apply catalog: undefined method `bytesize' for nil:NilClass*\n *C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/api_types.rb:25:in `from_string_to_wide_string'*\n Example:\n{code:puppet}acl { 'C:\\\\My Folder':\n  permissions => [\n  {\n      identity => 'Administrators', rights => ['read','write','execute']}\n  ],\n}\n{code}\nThis limitation is brought by [puppet|https://github.com/puppetlabs/puppet] implementation of [https://github.com/puppetlabs/puppet/blob/main/lib/puppet/util/windows/principal.rb#L47] which takes the username as it is. A special filtering for usernames starting with *APPLICATION PACKAGE AUTHORITY*\u00a0(and split it accordingly if so)\u00a0would solve this issue.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20321", "fixedVersions": ["PUP 6.22.0", "PUP 7.5.0"], "id": "20321", "issueType": "Improvement", "key": "PUP-10899", "labels": ["doc_reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c12ff94742a00683e41fd", "resolution": "Fixed", "resolutionDate": "2021-03-03T00:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Retrieve SID for users under 'APPLICATION PACKAGE AUTHORITY'", "timeSpent": "PT0S", "updated": "2021-04-23T12:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [{"attacher": "6220db614160640069c7133a", "created": "2022-03-01T02:21:00.000000", "name": "puppetagent_trace_debug_47445-01-03-22.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11646"}], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in ce0216f31f, passed CI in 2056487938", "created": "2021-03-02T11:21:00.000000"}], "components": [], "created": "2021-02-11T07:54:00.000000", "creator": "623c12ff94742a00683e41fd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7d040cc6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06iuo:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Retrieving the current user name SID on Windows was causing Puppet to fail in certain scenarios where the user was from a secondary domain controller. A fallback mechanism was implemented to use the fully qualified domain name for lookup."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "42708,47445"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Mar/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_122860931_*|*_1_*:*_2_*:*_552171980_*|*_10007_*:*_1_*:*_506911220_*|*_3_*:*_1_*:*_12201588_*|*_10009_*:*_1_*:*_45847041_*|*_5_*:*_1_*:*_31370459821_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_505565095"}], "description": "In some cases, looking up non fully qualified user names (just '*name*' instead of '*DOMAIN*\u00a0*name*') on Windows does not work. In this case, Puppet Agent fails with\u00a0*Error: Failed to apply catalog: undefined method `bytesize' for nil:NilClass*.\n\n\u00a0\n\nThe issue was narrowed down to [https://github.com/puppetlabs/puppet/blob/main/lib/puppet/util/windows/principal.rb#L47]\u00a0which silently fails with\u00a0*Failed to get user name: No mapping between account names and security IDs was done.*\n\n\u00a0\n\nUsing [https://docs.microsoft.com/en-us/windows/win32/api/secext/nf-secext-getusernameexw]\u00a0instead of [https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-getusernamew]\u00a0in [https://github.com/puppetlabs/puppet/blob/main/lib/puppet/util/windows/adsi.rb#L489]\u00a0or [https://github.com/puppetlabs/puppet/blob/6.x/lib/puppet/file_system/windows.rb#L130]\u00a0with the correct format should sove the issue.\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26588", "fixedVersions": ["PUP 6.22.0", "PUP 7.5.0"], "id": "26588", "issueType": "Improvement", "key": "PUP-10898", "labels": ["doc_reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c12ff94742a00683e41fd", "resolution": "Fixed", "resolutionDate": "2022-03-01T14:48:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Retrieve current user by using the fully-qualified username and domain on Windows", "timeSpent": "PT0S", "updated": "2022-03-02T20:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Yes the problem is the reference docs are generated based on the host the command runs on. This is a long standing issue in our docs generation.", "created": "2021-02-11T15:48:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "the issue seems to be caused by has_feature that depends on `Puppet.features.libuser?` availability that is a runtime check and it is specific for the user/group provider.\n\nthe specific provider for group/user documentation should be updated with the runtime dependency details (available only if ...)\n\n```\n\nFile.executable?(\"/usr/sbin/lgroupadd\") and\n File.executable?(\"/usr/sbin/luseradd\") and\n Puppet::FileSystem.exist?(Puppet::Util::Libuser.getconf)\n\n```", "created": "2021-08-02T08:59:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:557058:94252a0b-7ed3-4e3e-ab98-1739f9e085d6], we plan to update the resource documentation details with the dependency, like we do for lib shadow.\u00a0", "created": "2021-09-01T07:11:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:70121:4596f954-1fdf-472f-a700-6b7c2ffbc525]\u00a0the docs have been updated.\u00a0", "created": "2021-09-17T08:07:00.000000"}], "components": ["Docs"], "created": "2021-02-11T06:52:00.000000", "creator": "557058:94252a0b-7ed3-4e3e-ab98-1739f9e085d6", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2f0467e3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06its:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Document `manages_local_users_and_groups` feature in `user` and `group` resource types"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_17540896720_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_517631877"}], "description": "[user Provider Features|https://puppet.com/docs/puppet/latest/types/user.html#user-provider-features] do not list \"manages local users and groups\" as supported for the {{useradd}} provider. However, the [{{useradd}} source|https://github.com/luchihoratiu/puppet/blob/27085e950067711c4497c07ca89fcc99edac8c67/lib/puppet/provider/user/useradd.rb#L50] clearly lists:\n{{has_feature :manages_local_users_and_groups if Puppet.features.libuser?}}\n\nSimilarly, [group Provider Features|https://puppet.com/docs/puppet/latest/types/group.html#group-provider-features] do not have \"manages local users and groups\" and \"manages members\" for {{groupadd}} provider. The [{{groupadd}} source|https://github.com/luchihoratiu/puppet/blob/8feb8baca243a76b8d9ed283497d71a0622c24e9/lib/puppet/provider/group/groupadd.rb#L17] states:\n{{has_feature :manages_local_users_and_groups, :manages_members if Puppet.features.libuser?}}.\n\nThe underlying issue seems to be with how the feature matrices get generated, where any conditions exist - such as [{{useradd}}'s {{has_features :manages_passwords, :manages_password_age if Puppet.features.libshadow?}}|https://github.com/luchihoratiu/puppet/blob/27085e950067711c4497c07ca89fcc99edac8c67/lib/puppet/provider/user/useradd.rb#L112].\n\nI would rather have the information listed as-is (_\"if Puppet.features.libuser?\"_) even if it is not formatted nicely (_\"requires libuser\"_), over the current situation where the compatibility matrix just leaves the cell empty without any indication it could be supported.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22425", "fixedVersions": ["PUP 6.25.0", "PUP 7.11.0"], "id": "22425", "issueType": "Improvement", "key": "PUP-10897", "labels": ["community", "doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:94252a0b-7ed3-4e3e-ab98-1739f9e085d6", "resolution": "Fixed", "resolutionDate": "2021-09-08T08:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "List \"manages local users and groups\" (forcelocal) provider support as \"with libuser\"", "timeSpent": "PT0S", "updated": "2021-09-27T06:52:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [{"author": "619d2635d2e64c0071fd2f82", "body": "This issue was not present with previous versions of Puppet. I have numerous modules with acceptance tests using code similar to this and Puppet 6.20.0 and Puppet 7.3.0 did not have this issue.  I also do not see this issue on any of my Puppet 5 acceptance tests.", "created": "2021-02-10T06:37:00.000000"}, {"author": "5abd613dd4cf3c56be24b70d", "body": "Thanks Trey for raising this issue.\n\nFixed in:\n\n* [https://github.com/puppetlabs/puppet/pull/8510]\u00a0\n\n* [https://github.com/puppetlabs/puppet/pull/8511]\u00a0", "created": "2021-02-10T10:09:00.000000"}, {"author": "619d2635d2e64c0071fd2f82", "body": "For the longest time it has been possible to assign a user to a group using that group's name since it's not always the case a module will enforce a specific GID or UID.  It looks like based on this commit: https://github.com/puppetlabs/puppet/commit/0cd7bcefa47b90f3c8d24e60479f41766cbc04f3 the logic was changed to force the gid property to be a numeric ID when using forcelocal=true which I would consider a breaking change since that was not the behavior prior to this commit.\n\nFrom the documentation on the \"gid\" property:\n\n{noformat}\nThe user\u2019s primary group. Can be specified numerically or by name.\n{noformat}\n\nChanging the behavior of a core type property in a feature release seems like not a great idea and should be reconsidered and reverted to the previous behavior or the logic for getting local users should be better about mapping a GID to a name and allowing it to be either numeric or a name like was previously allowed.  Forcing the use of a numeric ID would essentially make impossible for module authors to create users and set the primary group when using \"forcelocal\" without also forcing a GID be provided.", "created": "2021-02-10T10:13:00.000000"}, {"author": "619d2635d2e64c0071fd2f82", "body": "Found a solution that works with my example test case:\n\n\n{noformat}\n@@ -104,7 +104,7 @@\n \n   def localgid\n     user = finduser(:account, resource[:name])\n-    return user[:gid] if user\n+    return user[:gid].to_i if user\n     false\n   end\n{noformat}\n\nI will open a pull request", "created": "2021-02-10T10:28:00.000000"}, {"author": "5abd613dd4cf3c56be24b70d", "body": "[~accountid:619d2635d2e64c0071fd2f82]\u00a0we do consider this as a regression and we've already implemented a fix here: [https://github.com/puppetlabs/puppet/pull/8511]\n\nWe're shooting for a new release in the next couple of days.\n\nThe fix is currently only in the release branches and after the releases will be merged back to 6.x and main", "created": "2021-02-10T10:31:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in c683110fc0c376d226750c2898ea724c33d75791", "created": "2021-02-12T10:12:00.000000"}], "components": [], "created": "2021-02-10T06:36:00.000000", "creator": "619d2635d2e64c0071fd2f82", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4ee2e859"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06hy8:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fix a regression where setting the `gid` parameter on a user resource with `forcelocal` on is not idempotent."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_171027505_*|*_1_*:*_1_*:*_14755280_*|*_5_*:*_1_*:*_0"}], "description": "*Puppet Version:* 7.4.0 and 6.21.0\n*Puppet Server Version:* Masterless to demonstrate issue\n*OS Name/Version:* CentOS 7\n\nDefining a `forcelocal` user results in Puppet constantly wanting to change the GID for the user.\n\n*Desired Behavior:*\n\nIdempotent apply of forcelocal user.\n\n\n*Actual Behavior:*\n\n\n{noformat}\n[root@23aff6d4a202 /]# cat user-group.pp \nuser { 'keycloak':\n  ensure     => 'present',\n  name       => 'keycloak',\n  forcelocal => true,\n  shell      => '/sbin/nologin',\n  gid        => 'keycloak',\n  uid        => undef,\n  home       => '/var/lib/keycloak',\n  managehome => true,\n  system     => true,\n}\ngroup { 'keycloak':\n  ensure     => 'present',\n  name       => 'keycloak',\n  forcelocal => true,\n  gid        => undef,\n  system     => true,\n}\n[root@23aff6d4a202 /]# puppet apply user-group.pp \nNotice: Compiled catalog for 23aff6d4a202 in environment production in 0.01 seconds\nNotice: /Stage[main]/Main/Group[keycloak]/ensure: created\nNotice: /Stage[main]/Main/User[keycloak]/ensure: created\nNotice: Applied catalog in 0.04 seconds\n[root@23aff6d4a202 /]# puppet apply user-group.pp \nNotice: Compiled catalog for 23aff6d4a202 in environment production in 0.01 seconds\nNotice: /Stage[main]/Main/User[keycloak]/gid: gid changed '13' to 'keycloak'\nNotice: Applied catalog in 0.02 seconds\n\n{noformat}\n\nI am fairly certain the issue resides in this change: https://puppet.atlassian.net/browse/PUP-10857", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26586", "fixedVersions": ["PUP 6.21.1", "PUP 7.4.1"], "id": "26586", "issueType": "Bug", "key": "PUP-10896", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "619d2635d2e64c0071fd2f82", "resolution": "Fixed", "resolutionDate": "2021-02-12T10:12:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet users with forcelocal are no longer idempotent", "timeSpent": "PT0S", "updated": "2021-02-15T18:16:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is working as expected using puppet 7 and facter 4\n\n{noformat}\n$ bx puppet facts show --show-legacy\n{\n  \"lsbdistrelease\": \"20.04\",\n  \"lsbmajdistrelease\": \"20.04\",\n  \"os\": {\n...\n{noformat}", "created": "2022-02-23T19:31:00.000000"}], "components": [], "created": "2021-02-10T04:52:00.000000", "creator": "6007ea942a6b66006902c024", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@67837a7f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06hxk:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Feb/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1720944618_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_30991006700"}], "description": "`puppet facts` has default action the `show` subcommand. The default action has specific options like `--custom-dir <path>`, `--show-legacy`...\n\nThe `puppet facts` command fails when a subcommand specific option is provided:\n{code:java}\n~~ puppet facts --show-legacy\nError: Could not parse application options: invalid option: --show-legacy{code}\n*Desired Behavior:*\u00a0`puppet facts` should work with the default action's options and also it should display the options when `\u2013help` is provided.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23440", "fixedVersions": [], "id": "23440", "issueType": "Bug", "key": "PUP-10895", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6007ea942a6b66006902c024", "resolution": "Cannot Reproduce", "resolutionDate": "2022-02-23T19:31:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "puppet facts command doesn't accept facter specific options", "timeSpent": "PT0S", "updated": "2022-02-23T19:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I think the puppet user\u2019s home directory is {{/opt/puppetlabs/server/data/puppetserver/}} so when puppet expands {{~}} we get the strange result. That said I\u2019m curious why you\u2019re running the command as the puppet user? Usually that account is only used when running puppetserver, since we don\u2019t want a root process listening for network connections.", "created": "2021-02-24T23:54:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:623c1205bef8a60068c79a3f]\u00a0the documentation is actually correct. When running as non-root the directory will be {{~/.puppetlabs/etc/code}}, and it just so happens that the {{puppet}} user's home directory is {{/opt/puppetlabs/server/data/puppetserver/}}. As I mentioned earlier, the {{puppet}} user/group is the account that puppetserver runs under (for security reasons). If you want to run puppet agent as a non-root user, you'll want to create a user/service account for that purpose.", "created": "2021-06-03T10:28:00.000000"}, {"author": "623c1205bef8a60068c79a3f", "body": "Sorry I didn't get the first reply of the message, it's been a while since I opened this ticket so my memory may be hazy.\n\nI think the confusion is in the first part of the message \"When Puppet is running as root, as a Windows user with administrator privileges, or as the puppet user, it uses a system-wide codedir\"\n\nSo I read it to be using a\u00a0system-wide codedir /etc/puppetlabs/code, when\n * Puppet is running as root, or\n * Puppet is running\u00a0as a Windows user with administrator privileges, or\n * Puppet is running as the puppet user", "created": "2021-06-03T19:02:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Ah! yeah that's a bug in the docs. The {{\"or as the puppet user\"}} comment is misleading. I think the comment is trying to say puppetserver always uses the system location, and it just so happens puppetserver runs as the {{puppet}} user. But that doesn't affect how the agent behaves when running as non-root.", "created": "2021-06-03T19:50:00.000000"}], "components": ["Docs"], "created": "2021-02-09T20:18:00.000000", "creator": "623c1205bef8a60068c79a3f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@109c7835"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06hug:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Feb/21"}], "description": "*Puppet Version:\u00a06.18.0*\n *Puppet Server Version:\u00a06.18.0*\n *OS Name/Version:\u00a0Ubuntu 18.04.5 LTS \\n \\l*\n\nIn the documentation [https://puppet.com/docs/puppet/6.21/dirs_codedir.html#location,]\u00a0it states\n\n??When\u00a0Puppet\u00a0is running as root, as a\u00a0Windows\u00a0user with administrator privileges, or as the\u00a0{{puppet}}\u00a0user, it uses a system-wide codedir. When running as a non-root user, it uses a codedir in that user's home directory.??\n\nThis doesn't seem to be true. As the puppet user,\n\n{{puppet@puppet:~$ puppet config print codedir}}\n{{/opt/puppetlabs/server/data/puppetserver/.puppetlabs/etc/code}}\n\n{{My puppet version is}}\n\n{{puppet@puppet:~$ apt-cache policy puppet-agent}}\n{{puppet-agent:}}\n{{ Installed: 6.20.0-1bionic}}\n{{ Candidate: 6.20.0-1bionic}}\n{{ Version table:}}\n{{ *** 6.20.0-1bionic 500}}\n{{ 500 http://apt.puppetlabs.com bionic/puppet6 amd64 Packages}}\n{{ 100 /var/lib/dpkg/status}}\n\n*Desired Behavior:*\n\nIt should use\u00a0/etc/puppetlabs/code as stated in documentation\n\n*Actual Behavior:*\n\n{{puppet@puppet:~$ puppet config print codedir}}\n{{/opt/puppetlabs/server/data/puppetserver/.puppetlabs/etc/code}}\n\n\u00a0It uses\u00a0/opt/puppetlabs/server/data/puppetserver/.puppetlabs/etc/code", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21332", "fixedVersions": [], "id": "21332", "issueType": "Bug", "key": "PUP-10894", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c1205bef8a60068c79a3f", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "codedir behaviour does not match documentation", "timeSpent": "PT0S", "updated": "2021-07-15T12:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56]\u00a0added!", "created": "2021-05-21T03:55:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56]\u00a0added.", "created": "2021-05-21T04:02:00.000000"}, {"author": "5abd613dd4cf3c56be24b70d", "body": "[~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] [~accountid:5fc46fd09592df0076141ac0]\u00a0macOS 11 Big Sur will also go out in the 6.23.0 release. Same as the 7 stream, we're only going to provide the 64-bit packages", "created": "2021-06-10T05:43:00.000000"}], "components": [], "created": "2021-02-08T08:04:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4da33f7b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3612"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06fww:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/May/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1775_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_9164462907"}], "description": "Update Public-facing Puppet docs to include this platform\n", "epicLinkSummary": "Add OSX 11 Big Sur FOSS support", "estimate": "PT0S", "externalId": "22424", "fixedVersions": [], "id": "22424", "issueType": "Task", "key": "PUP-10893", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": "56184", "parentSummary": "Add OSX 11 Big Sur FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Fixed", "resolutionDate": "2021-05-25T10:45:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Update Public-facing Puppet docs to include OSX 11 Big Sur", "timeSpent": "PT0S", "updated": "2021-06-10T05:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Sounds good! FYI [~accountid:5fc46fd09592df0076141ac0]", "created": "2021-06-10T05:44:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1], [~accountid:5fc46fd09592df0076141ac0], are all doc changes done?", "created": "2021-06-22T01:35:00.000000"}, {"author": "5fc46fd09592df0076141ac0", "body": "[~accountid:70121:4596f954-1fdf-472f-a700-6b7c2ffbc525]\u00a0yes!", "created": "2021-06-24T13:32:00.000000"}], "components": [], "created": "2021-02-08T02:29:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@419463d5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3600"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk47r:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1696_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_11786587182"}], "description": "Update Public-facing Puppet docs to include this platform\n", "epicLinkSummary": "Add Fedora 34 x86_64 FOSS support", "estimate": "PT0S", "externalId": "24493", "fixedVersions": [], "id": "24493", "issueType": "Task", "key": "PUP-10892", "labels": ["DOCS"], "originalEstimate": "PT0S", "parent": "57191", "parentSummary": "Add Fedora 34 x86_64 FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Fixed", "resolutionDate": "2021-06-24T13:32:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Public-facing Puppet docs to include Fedora 34 x86_64", "timeSpent": "PT0S", "updated": "2021-06-24T13:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-02-08T02:13:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@39d8855"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3587"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06fhs:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}], "description": "Update Public-facing Puppet docs to include this platform\n", "epicLinkSummary": "Add RedHat 8 Power9 FOSS support", "estimate": "PT0S", "externalId": "24492", "fixedVersions": [], "id": "24492", "issueType": "Task", "key": "PUP-10891", "labels": ["os"], "originalEstimate": "PT0S", "parent": "57189", "parentSummary": "Add RedHat 8 Power9 FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "17. Update Public-facing Puppet docs to include RedHat 8 Power9", "timeSpent": "PT0S", "updated": "2022-02-04T18:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "That's odd. That line is https://github.com/puppetlabs/puppet/blob/901a6296a8f0a19849ef35575a78b7ad3dd377f4/lib/puppet/pops/lookup/lookup_adapter.rb#L292, but we check for a nil options [above on line 288|https://github.com/puppetlabs/puppet/blob/901a6296a8f0a19849ef35575a78b7ad3dd377f4/lib/puppet/pops/lookup/lookup_adapter.rb#L288] and those lines haven't changed for several years. Going to need more information on how to reproduce this.", "created": "2021-02-05T15:14:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "line 288 is weird with two trailing {{unless}} - I think it errors as it should if value is neither nil nor a hash. Then it returns options as is if modulename is not given. Then it will fail if options are nil on line 292. The correct thing is probably to change line 293 to read: \n{code:ruby}\nreturn options if module_name.nil? || options.nil?\n{code}\n", "created": "2021-02-06T05:02:00.000000"}, {"author": "557058:dc702caf-5630-4bcc-9efa-066ea2fc3530", "body": "@Josh Cooper the issue is seen when the module has empty hash (I had the old keys actually commented out) and you run a \u201cpdk test unit\u201d. Should be pretty straight forward to reproduce?", "created": "2021-02-06T05:35:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "ah yeah I can reproduce, I created a simple module {{mytest}} containing:\n\n*./manifests/init.pp*\n{noformat}\nclass mytest {\n  notice(lookup('key'))\n}\n{noformat}\n\n*./data/common.yaml*\n\n{noformat}\n---\nlookup_options:\nmytest::key: from module\n{noformat}\n\n*./hiera.yaml*\n\n{noformat}\n[root@sized-ballerina mytest]# cat  hiera.yaml \n---\nversion: 5\n\nhierarchy:\n  - name: 'common'\n    path: 'common.yaml'\n{noformat}\n\n{noformat}\n# puppet --version\n7.10.0\n# puppet lookup mytest::key  --modulepath /root/modules --trace\nError: Could not run: undefined method `each_pair' for nil:NilClass\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/lookup_adapter.rb:299:in `validate_lookup_options'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/lookup_adapter.rb:352:in `block (3 levels) in retrieve_lookup_options'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/lookup_adapter.rb:351:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/lookup_adapter.rb:351:in `block (2 levels) in retrieve_lookup_options'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/invocation.rb:136:in `with'\n...\n{noformat}\n", "created": "2021-08-18T10:43:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/284f3d6bc6432f355e71a177f7a2d554bb879d65", "created": "2021-08-20T03:02:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in\u00a057fd4e4c4e", "created": "2021-08-30T00:38:00.000000"}], "components": [], "created": "2021-02-05T13:57:00.000000", "creator": "557058:dc702caf-5630-4bcc-9efa-066ea2fc3530", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@260c7ef7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06f28:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "If lookup_options were defined at the global or environment layer and a module defined an empty hash of lookup_options, then compilation would fail. Now the empty hash is ignored.\n"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_855386620_*|*_1_*:*_1_*:*_4669274_*|*_10007_*:*_1_*:*_133589834_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_16753217758"}], "description": "Doing a test on a module with hiera that has an empty `lookup_options:` will result in errors during unit tests like\u00a0\n\n\u00a0\n      # --- Caused by: ---\n      # NoMethodError:\n      #   undefined method `each_pair' for nil:NilClass\n      #   /opt/puppetlabs/pdk/private/puppet/ruby/2.4.0/gems/puppet-5.5.21/lib/puppet/pops/lookup/lookup_adapter.rb:292:in `validate_lookup_options'", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24491", "fixedVersions": ["PUP 6.25.0", "PUP 7.11.0"], "id": "24491", "issueType": "Bug", "key": "PUP-10890", "labels": ["community", "doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:dc702caf-5630-4bcc-9efa-066ea2fc3530", "resolution": "Fixed", "resolutionDate": "2021-08-30T00:38:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "lookup fails if module lookup_options are empty", "timeSpent": "PT0S", "updated": "2021-09-08T03:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in 60b3fb66dc", "created": "2021-03-02T11:22:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "passed CI in 8dfa86988b", "created": "2021-03-09T13:19:00.000000"}], "components": [], "created": "2021-02-05T12:11:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2f5dbf80"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06f0g:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Adds a \"ciphers\" puppet setting to configure which TLS ciphersuites the agent supports. The default set of ciphersuites is the same as what it was before this change, but the list of ciphersuites can be made more restricted if desired, such as to only accept TLS v1.2 or greater ciphersuites."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_621874715_*|*_1_*:*_1_*:*_4917521_*|*_10007_*:*_1_*:*_2142079226_*|*_5_*:*_1_*:*_0"}], "description": "Puppet uses whatever ciphersuites ruby and the openssl it was compiled with supports. To avoid surprises, puppet should explicitly set what ciphersuites we support and allow it to be configurable.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26583", "fixedVersions": ["PUP 6.22.0", "PUP 7.5.0"], "id": "26583", "issueType": "Improvement", "key": "PUP-10889", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-03-09T13:19:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Explicitly set default ciphersuites to avoid surprises", "timeSpent": "PT0S", "updated": "2021-04-23T12:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5b9fcedc03b52466f05c4510", "attachments": [{"attacher": "623a4d66d32a94006a63cac6", "created": "2021-02-05T11:37:00.000000", "name": "image-2021-02-05-12-37-13-590.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12122"}], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is pretty closely related to PUP-7522 which is explicitly asking about the certificate extensions. However, it should be possible to satisfy both of things things in one PR. It would be trivial to emit the exact same output as 5.5.x. But there is an issue with the cert extensions, see my comment in PUP-7522. The long form of cert extensions (eg \"Puppet Node Role Name\") aren't what you use in a manifest (\"pp_role\").", "created": "2021-02-05T14:25:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in 5586097377, passed CI in 2056487938.", "created": "2021-03-02T11:23:00.000000"}, {"author": "557058:cfaec180-0e96-4d38-8f35-88b11a5113bf", "body": "This solution, seems to me, is good for showing an agent's own cert.\n\nCould this also be implemented as a 'puppetserver ca <action>' so we can inspect any certificate on the CA server. (Not it's own agent cert)\n\nAdded to Server project :\u00a0https://puppet.atlassian.net/browse/SERVER-2992", "created": "2021-04-08T04:21:00.000000"}], "components": [], "created": "2021-02-05T11:37:00.000000", "creator": "623a4d66d32a94006a63cac6", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6b567411"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06167:w"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Added a new command `puppet ssl show`, this prints the full-text version of a host's certificate including extensions."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_463586215_*|*_1_*:*_1_*:*_335968735_*|*_10007_*:*_1_*:*_74311486_*|*_3_*:*_1_*:*_24297150_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1261036755"}], "description": "As a user, I would like a Puppet 6 equivalent _Puppet Cert Print_ command similar to what was available in previous versions of Puppet. The current method requires using OpenSSL as illustrated by the man page:\n\n !image-2021-02-05-12-37-13-590.png|thumbnail! \n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23439", "fixedVersions": ["PUP 6.22.0", "PUP 7.5.0"], "id": "23439", "issueType": "Task", "key": "PUP-10888", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4d66d32a94006a63cac6", "resolution": "Fixed", "resolutionDate": "2021-03-02T11:24:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Add \"puppet ssl show\" command", "timeSpent": "PT0S", "updated": "2021-04-23T12:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "body": "[~accountid:557058:f23b0b7f-9386-48b3-bd71-4399766356f4] In case you're interested.", "created": "2021-02-03T13:17:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629] did this used to work in previous versions?", "created": "2021-02-03T14:34:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Maybe related to https://github.com/puppetlabs/puppet/commit/6def945eeaabfac658fb5a7d58474b822be797cd?", "created": "2021-02-03T14:35:00.000000"}, {"author": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "body": "[~accountid:63d40628f6e1b543161789a7] Not certain. I just accidentally stumbled across it today. I do not know for how long it has been failing.", "created": "2021-02-03T14:53:00.000000"}, {"author": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "body": "I'm also ready to call this a corner-case. Based on my reading of the 'package' resource doc, the correct install_options in the .pp file should be:\n\n{noformat}\n[...] \ninstall_options => ['--enablerepo=epel-testing-debuginfo,epel-testing-source,epel-testing']\n{noformat}\n\nHowever, the failure could certainly be handled better.", "created": "2021-02-03T14:56:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I'm going to close this as a dup of PUP-9321", "created": "2021-12-01T22:47:00.000000"}], "components": [], "created": "2021-02-03T13:14:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@29b57f18"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06cfc:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2296355416_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_23744404000"}], "description": "Given (on a yum-based system):\n{noformat}package { 'erlang':\n  ensure                => 'latest',\n  install_options => ['--enablerepo=','epel-testing-debuginfo,','epel-testing-source,','epel-testing']\n}\n{noformat}\nrunning\n{noformat}# puppet agent -t\n{noformat}\nwill show this Ruby error:\n{noformat}Error: Could not get latest version: odd number of arguments for Hash\nError: /Stage[main]/Profile::Erlang/Package[erlang]/ensure: change from 'R16B-03.18.el7' to 'latest' failed: Could not get latest version: odd number of arguments for Hash\n{noformat}\n\nThis comes from  [#scan_options|https://github.com/puppetlabs/puppet/blob/5524b85a8afa6599b3c25423d725f14deb3fb6d9/lib/puppet/provider/package/yum.rb#L369] incorrectly trying to coerce the first element of the `install_options` array into a Hash.\n\nBug first observed in: https://github.com/puppetlabs/puppetlabs-modules/blob/master/site/profile/manifests/erlang.pp", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20320", "fixedVersions": [], "id": "20320", "issueType": "Bug", "key": "PUP-10886", "labels": ["tbd"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Duplicate", "resolutionDate": "2021-12-01T22:47:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Bad parsing of 'install_options' for 'package' resource on yum-based systems", "timeSpent": "PT0S", "updated": "2021-12-01T22:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:68216498-c6bf-4e8f-92c1-ac84887b7c02", "created": "2021-02-03T03:21:00.000000", "name": "wsusclient-service-errors.json", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11791"}], "comments": [], "components": ["Types and Providers"], "created": "2021-02-03T03:21:00.000000", "creator": "557058:68216498-c6bf-4e8f-92c1-ac84887b7c02", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1f3f4a28"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11133"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Automated Test"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06c0g:"}], "description": "*Puppet Version:* latest puppet5; puppet6 nightlies\n*Puppet Server Version:* n/a\n*OS Name/Version:* windows\n\nduring wsus_client acceptance testing, approximately 10% of all tries to manage the wuauserv service fail with the service resource being confused about the state transitions of the service:\n\n{quote}\nError: /Stage[main]/Wsus_client/Service[wuauserv]: Failed to call refresh: Failed to transition the wuauserv service to the SERVICE_STOPPED state. Detail: Unexpected transition to the SERVICE_RUNNING state while waiting for the pending transition from SERVICE_STOP_PENDING to SERVICE_STOPPED to finish.\nError: /Stage[main]/Wsus_client/Service[wuauserv]: Failed to transition the wuauserv service to the SERVICE_STOPPED state. Detail: Unexpected transition to the SERVICE_RUNNING state while waiting for the pending transition from SERVICE_STOP_PENDING to SERVICE_STOPPED to finish.\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:940:in `block (2 levels) in wait_on_pending_state'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:735:in `block (2 levels) in query_status'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:723:in `initialize'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:723:in `new'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:723:in `block in query_status'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:712:in `initialize'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:712:in `new'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:712:in `query_status'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:931:in `block in wait_on_pending_state'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:930:in `loop'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:930:in `wait_on_pending_state'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:898:in `block in wait_on_state_transition'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:735:in `block (2 levels) in query_status'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:723:in `initialize'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:723:in `new'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:723:in `block in query_status'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:712:in `initialize'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:712:in `new'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:712:in `query_status'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:893:in `wait_on_state_transition'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:690:in `block (2 levels) in transition_service_state'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:735:in `block (2 levels) in query_status'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:723:in `initialize'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:723:in `new'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:723:in `block in query_status'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:712:in `initialize'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:712:in `new'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:712:in `query_status'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:636:in `block in transition_service_state'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:602:in `block in open_service'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:619:in `open_scm'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:599:in `open_service'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:635:in `transition_service_state'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/service.rb:365:in `stop'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/provider/service/windows.rb:90:in `stop'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/provider/service/service.rb:13:in `restart'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/type/service.rb:314:in `refresh'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/transaction/event_manager.rb:149:in `process_callback'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/transaction/event_manager.rb:34:in `block in process_events'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/transaction/event_manager.rb:121:in `block in queued_events'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/transaction/event_manager.rb:120:in `each'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/transaction/event_manager.rb:120:in `queued_events'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/transaction/event_manager.rb:33:in `process_events'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:288:in `eval_resource'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:191:in `call'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:191:in `block (2 levels) in evaluate'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util.rb:546:in `block in thinmark'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/benchmark.rb:308:in `realtime'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util.rb:545:in `thinmark'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:191:in `block in evaluate'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/graph/relationship_graph.rb:122:in `traverse'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:178:in `evaluate'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:240:in `block (2 levels) in apply'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util.rb:546:in `block in thinmark'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/benchmark.rb:308:in `realtime'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util.rb:545:in `thinmark'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:239:in `block in apply'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:161:in `with_destination'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/transaction/report.rb:148:in `as_logging_destination'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:238:in `apply'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:193:in `block (2 levels) in apply_catalog'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util.rb:546:in `block in thinmark'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/benchmark.rb:308:in `realtime'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util.rb:545:in `thinmark'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:192:in `block in apply_catalog'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util.rb:233:in `block in benchmark'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/benchmark.rb:308:in `realtime'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util.rb:232:in `benchmark'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:191:in `apply_catalog'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:433:in `run_internal'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:248:in `block in run'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet.rb:314:in `override'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:218:in `run'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/application/apply.rb:342:in `apply_catalog'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/application/apply.rb:254:in `block in main'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet.rb:314:in `override'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/application/apply.rb:208:in `main'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/application/apply.rb:178:in `run_command'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/application.rb:382:in `block in run'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util.rb:735:in `exit_on_fail'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/application.rb:382:in `run'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:143:in `run'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:77:in `execute'\nC:/Program Files/Puppet Labs/Puppet/puppet/bin/puppet:4:in `<main>'\n{quote}\n\nThis happens sometimes on the first test in the sequence (maybe because of interference with bootup sequence) and sometimes on a later test group (maybe because of service still starting from previous test).\n\n*Desired Behavior:*\n\nservice resource on windows successfully manages service state in all situations.\n\n*Actual Behavior:*\n\nservice resource on windows is interrupted by unexpected state changes and causes transient errors.\n\n\nattached a log of all test failures over the last two months. Check [this query|https://ui.honeycomb.io/puppet-modules/datasets/litmus-tests/result/6XFQuB4eKAn] for full details ([request access|https://ui.honeycomb.io/join_team/puppet-modules])", "epicLinkSummary": "Service provider enhancement", "estimate": "PT0S", "externalId": "29776", "fixedVersions": [], "id": "29776", "issueType": "Bug", "key": "PUP-10885", "labels": [], "originalEstimate": "PT0S", "parent": "29755", "parentSummary": "Service provider enhancement", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:68216498-c6bf-4e8f-92c1-ac84887b7c02", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Race-condition in service resource", "timeSpent": "PT0S", "updated": "2021-06-29T09:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5b9fcedc03b52466f05c4510", "attachments": [], "comments": [{"author": "5b64ddd7d1e8dc2d916c6289", "body": "It appears to be this: https://github.com/puppetlabs/puppet/blob/6.x/lib/puppet/indirector/face.rb#L78-L84\n{code}\nFrom: /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/face.rb:85 Puppet::Indirector::Face#find implementation, required on Ruby 1.8:\n\n    76: when_invoked do |*args|\n    77:   # Default the key to Puppet[:certname] if none is supplied\n    78:   if args.length == 1\n    79:     key = Puppet[:certname]\n    80:     options = args.last\n    81:   else\n    82:     key, options = *args\n    83:   end\n    84:   require 'pry-byebug'", "created": "2021-02-01T10:52:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "{{puppet facts show}} isn't available in 6.x, but what happens is {{find}} is the default action for {{puppet facts}}. So what you're running is {{puppet facts find}} for the node named {{show}}, and {{operatingsystem}} is being passed as an option. Several people have been bitten by this. It might be good to implement {{puppet facts show}} either to raise an error or backport the functionality to 6.x  to assist with migration?", "created": "2021-02-01T12:03:00.000000"}, {"author": "5abd613dd4cf3c56be24b70d", "body": "The purpose of this ticket is to back-port the changes from Puppet 7 to Puppet 6.\nOnce this ticket is done puppet facts show will show the following error: \"puppet facts show requires version 4.0.40 or greater of Facter\"\n\nWe do plan to add the _resolve_ API to facter that would enable puppet facts show to work on Puppet 6. Facter ticket: https://puppet.atlassian.net/browse/FACT-2935", "created": "2021-02-03T02:32:00.000000"}], "components": [], "created": "2021-02-01T10:26:00.000000", "creator": "5b64ddd7d1e8dc2d916c6289", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@42a79751"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06a74:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The `puppet facts show` action was backported to the 6 stream. This command can be used to retrieve a list of facts from the system and it supports a couple of options.  Check `puppet facts show --help` for all the information."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_89381636_*|*_1_*:*_1_*:*_81259264_*|*_10007_*:*_1_*:*_603012548_*|*_3_*:*_1_*:*_333010521_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_155317310"}], "description": "*Puppet Version:* 6.20.0\n*Puppet Server Version:* 2019.8.x latest\n*OS Name/Version:* Centos 7\n\nWhen running 'puppet facts show <fact_name>', it seems to always give a conversion error.\n{code}\n[root@cute-remainder ~]# puppet facts show operatingsystem\nError: no implicit conversion of Symbol into Integer\nError: Try 'puppet help facts find' for usage\n{code}\nAppears to be limited to 6.x, as 7.x is still showing the appropriate fact.\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27695", "fixedVersions": ["PUP 6.22.0"], "id": "27695", "issueType": "Bug", "key": "PUP-10884", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5b64ddd7d1e8dc2d916c6289", "resolution": "Fixed", "resolutionDate": "2021-02-16T00:59:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "'puppet facts show' gives conversion error on 6.x agent", "timeSpent": "PT0S", "updated": "2021-04-23T12:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-01-29T17:19:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1a098efd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10874"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o069nk:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3739_*|*_3_*:*_1_*:*_11868322_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1202833326"}], "description": "(Initial planned release date: 2021-02-09)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2021-02-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "28728", "fixedVersions": [], "id": "28728", "issueType": "Task", "key": "PUP-10883", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27693", "parentSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2021-02-12T18:44:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 7.4.0)", "timeSpent": "PT0S", "updated": "2021-02-12T18:44:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-01-29T17:19:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@18466f52"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10874"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o069nc:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1045_*|*_3_*:*_1_*:*_11854361_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1202846828"}], "description": "(Initial planned release date: 2021-02-09)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n", "duedate": "2021-02-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "27694", "fixedVersions": [], "id": "27694", "issueType": "Task", "key": "PUP-10882", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27693", "parentSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2021-02-12T18:44:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 7.4.0)", "timeSpent": "PT0S", "updated": "2021-02-12T18:44:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61d4868af63ac800706ebb62", "attachments": [], "comments": [], "components": [], "created": "2021-01-29T17:19:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7dcd04c9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10874"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o069n4:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1210_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1202864122"}], "description": "(Initial planned release date: 2021-02-09)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 7.4.0 is now available\".\n", "duedate": "2021-02-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "26581", "fixedVersions": [], "id": "26581", "issueType": "Task", "key": "PUP-10881", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27693", "parentSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2021-02-12T15:27:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Send release announcement (Puppet Platform 7.4.0)", "timeSpent": "PT0S", "updated": "2021-02-12T15:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "https://puppet.com/docs/puppet/7.4/release_notes_puppet.html", "created": "2021-02-09T12:12:00.000000"}], "components": [], "created": "2021-01-29T17:19:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@56b3791"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10874"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o069mo:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1009_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_932007231"}], "description": "(Initial planned release date: 2021-02-09)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2021-02-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "24490", "fixedVersions": [], "id": "24490", "issueType": "Task", "key": "PUP-10880", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27693", "parentSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2021-02-09T12:12:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 7.4.0)", "timeSpent": "PT0S", "updated": "2021-02-09T12:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-01-29T17:19:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5f08da23"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10874"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o069mg:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1226_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_933005693"}], "description": "(Initial planned release date: 2021-02-09)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2021-02-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "23437", "fixedVersions": [], "id": "23437", "issueType": "Task", "key": "PUP-10879", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27693", "parentSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2021-02-09T12:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 7.4.0)", "timeSpent": "PT0S", "updated": "2021-02-09T12:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:557058:4786f794-5167-4041-b3c0-deb1e8ba3438] [~accountid:5abd613dd4cf3c56be24b70d] Here is an email draft and list of the 7.4 release notes:\u00a0https://docs.google.com/document/d/1jttwqo-uQwIt3yFQYsa7hs_SwFp-SZls_tSATgD9AvM/edit", "created": "2021-02-08T07:23:00.000000"}], "components": [], "created": "2021-01-29T17:19:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4f20b27e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10874"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o069m0:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1138_*|*_3_*:*_1_*:*_4113_*|*_10009_*:*_1_*:*_374525144_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_828323686"}], "description": "(Initial planned release date: 2021-02-09)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2021-02-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "21331", "fixedVersions": [], "id": "21331", "issueType": "Task", "key": "PUP-10878", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27693", "parentSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2021-02-12T15:26:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare release announcement (Puppet Platform 7.4.0)", "timeSpent": "PT0S", "updated": "2021-02-12T15:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Release notes draft:\n\n[https://docs.google.com/document/d/1jttwqo-uQwIt3yFQYsa7hs_SwFp-SZls_tSATgD9AvM/edit?usp=sharing]\n\n[~accountid:5b9fcedc03b52466f05c4510] [~accountid:5abd613dd4cf3c56be24b70d]\u00a0could you please review. Thanks!", "created": "2021-02-05T03:31:00.000000"}], "components": [], "created": "2021-01-29T17:19:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4f3f76bc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10874"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o069ls:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1045_*|*_10009_*:*_1_*:*_272680092_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_555148595"}], "description": "(Initial planned release date: 2021-02-09)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2021-02-05T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "20319", "fixedVersions": [], "id": "20319", "issueType": "Task", "key": "PUP-10877", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27693", "parentSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2021-02-08T07:16:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 7.4.0)", "timeSpent": "PT0S", "updated": "2021-02-08T07:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-01-29T17:19:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@63ed224b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10874"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o069lk:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1061_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_933015391"}], "description": "(Initial planned release date: 2021-02-09)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2021-02-03T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "29774", "fixedVersions": [], "id": "29774", "issueType": "Task", "key": "PUP-10876", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27693", "parentSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2021-02-09T12:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 7.4.0)", "timeSpent": "PT0S", "updated": "2021-02-09T12:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-01-29T17:19:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4a760993"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10874"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o069lc:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1104_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_933015172"}], "description": "(Initial planned release date: 2021-02-09)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 7.4.0 and puppet-agent 7.4.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2021-02-03T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "28727", "fixedVersions": [], "id": "28727", "issueType": "Task", "key": "PUP-10875", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27693", "parentSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2021-02-09T12:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 7.4.0)", "timeSpent": "PT0S", "updated": "2021-02-09T12:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-01-29T17:19:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@53b61804"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-2"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 7.4.0 Release - 2021-02-09\n"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_yellow"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o069l4:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1725039105_*|*_6_*:*_2_*:*_408070301"}], "description": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "duedate": "2021-02-09T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27693", "fixedVersions": [], "id": "27693", "issueType": "Epic", "key": "PUP-10874", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2021-02-18T16:29:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "timeSpent": "PT0S", "updated": "2021-08-23T10:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-01-29T17:13:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@682117b5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10864"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o069fk:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1233_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1205143451"}], "description": "(Initial planned release date: 2021-02-09)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2021-02-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "22423", "fixedVersions": [], "id": "22423", "issueType": "Task", "key": "PUP-10873", "labels": ["release"], "originalEstimate": "PT0S", "parent": "21329", "parentSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2021-02-12T15:58:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 6.21.0)", "timeSpent": "PT0S", "updated": "2021-02-12T15:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-01-29T17:12:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5c9f100c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10864"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o069fc:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1641_*|*_3_*:*_1_*:*_9938373_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1205141257"}], "description": "(Initial planned release date: 2021-02-09)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n", "duedate": "2021-02-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "21330", "fixedVersions": [], "id": "21330", "issueType": "Task", "key": "PUP-10872", "labels": ["release"], "originalEstimate": "PT0S", "parent": "21329", "parentSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2021-02-12T18:44:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 6.21.0)", "timeSpent": "PT0S", "updated": "2021-02-12T18:44:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61d4868af63ac800706ebb62", "attachments": [], "comments": [], "components": [], "created": "2021-01-29T17:12:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@566a8ff0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10864"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o069f4:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1193_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1048916236"}], "description": "(Initial planned release date: 2021-02-09)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 6.21.0 is now available\".\n", "duedate": "2021-02-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "20318", "fixedVersions": [], "id": "20318", "issueType": "Task", "key": "PUP-10871", "labels": ["release"], "originalEstimate": "PT0S", "parent": "21329", "parentSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2021-02-10T20:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Send release announcement (Puppet Platform 6.21.0)", "timeSpent": "PT0S", "updated": "2021-02-10T20:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "https://puppet.com/docs/puppet/6.21/release_notes_puppet.html", "created": "2021-02-09T12:13:00.000000"}], "components": [], "created": "2021-01-29T17:12:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2caa2167"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10864"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o069eo:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1322_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_932434677"}], "description": "(Initial planned release date: 2021-02-09)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2021-02-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "28726", "fixedVersions": [], "id": "28726", "issueType": "Task", "key": "PUP-10870", "labels": ["release"], "originalEstimate": "PT0S", "parent": "21329", "parentSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2021-02-09T12:13:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 6.21.0)", "timeSpent": "PT0S", "updated": "2021-02-09T12:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-01-29T17:12:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@609cadb8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10864"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o069eg:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1028_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_933170941"}], "description": "(Initial planned release date: 2021-02-09)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2021-02-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "27692", "fixedVersions": [], "id": "27692", "issueType": "Task", "key": "PUP-10869", "labels": ["release"], "originalEstimate": "PT0S", "parent": "21329", "parentSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2021-02-09T12:25:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 6.21.0)", "timeSpent": "PT0S", "updated": "2021-02-09T12:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:557058:4786f794-5167-4041-b3c0-deb1e8ba3438] [~accountid:5abd613dd4cf3c56be24b70d] Here is an email draft and list of the 6.21 release notes:\u00a0[https://docs.google.com/document/d/1AwYUpitXFsKO8A25g9Bc1b10uEfZ8VOv3L2NN-Oq2Gs/edit]", "created": "2021-02-08T07:21:00.000000"}], "components": [], "created": "2021-01-29T17:12:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4980c2ed"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10864"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o069e0:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1202_*|*_3_*:*_1_*:*_178727_*|*_10009_*:*_1_*:*_604761573_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_828547494"}], "description": "(Initial planned release date: 2021-02-09)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2021-02-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "25585", "fixedVersions": [], "id": "25585", "issueType": "Task", "key": "PUP-10868", "labels": ["release"], "originalEstimate": "PT0S", "parent": "21329", "parentSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2021-02-15T07:24:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare release announcement (Puppet Platform 6.21.0)", "timeSpent": "PT0S", "updated": "2021-02-15T07:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Release notes draft: [https://docs.google.com/document/d/1AwYUpitXFsKO8A25g9Bc1b10uEfZ8VOv3L2NN-Oq2Gs/edit?usp=sharing]\n\n[~accountid:5b9fcedc03b52466f05c4510] [~accountid:5abd613dd4cf3c56be24b70d]\u00a0could you please review. Thanks!", "created": "2021-02-05T03:31:00.000000"}], "components": [], "created": "2021-01-29T17:12:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@689445db"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10864"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o069ds:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1545_*|*_10009_*:*_1_*:*_272731586_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_555514619"}], "description": "(Initial planned release date: 2021-02-09)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2021-02-05T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "24489", "fixedVersions": [], "id": "24489", "issueType": "Task", "key": "PUP-10867", "labels": ["release"], "originalEstimate": "PT0S", "parent": "21329", "parentSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2021-02-08T07:16:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 6.21.0)", "timeSpent": "PT0S", "updated": "2021-02-08T07:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-01-29T17:12:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@9826971"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10864"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o069dk:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1762_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_933180393"}], "description": "(Initial planned release date: 2021-02-09)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2021-02-03T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "23436", "fixedVersions": [], "id": "23436", "issueType": "Task", "key": "PUP-10866", "labels": ["release"], "originalEstimate": "PT0S", "parent": "21329", "parentSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2021-02-09T12:25:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 6.21.0)", "timeSpent": "PT0S", "updated": "2021-02-09T12:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-01-29T17:12:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@c76f42a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10864"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o069dc:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1531_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_933179942"}], "description": "(Initial planned release date: 2021-02-09)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 6.21.0 and puppet-agent 6.21.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2021-02-03T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "22422", "fixedVersions": [], "id": "22422", "issueType": "Task", "key": "PUP-10865", "labels": ["release"], "originalEstimate": "PT0S", "parent": "21329", "parentSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2021-02-09T12:25:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 6.21.0)", "timeSpent": "PT0S", "updated": "2021-02-09T12:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2021-01-29T17:12:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@42297adb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-14"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 6.21.0 Release - 2021-02-09\n"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_orange"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o069d4:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1725420658_*|*_6_*:*_2_*:*_408053441"}], "description": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "duedate": "2021-02-09T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21329", "fixedVersions": [], "id": "21329", "issueType": "Epic", "key": "PUP-10864", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2021-02-18T16:29:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "timeSpent": "PT0S", "updated": "2021-08-23T10:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5b9fcedc03b52466f05c4510", "body": "Managed to reproduce this on a fresh install of puppet-agent 6.19.1 and puppetserver 6.14.1\n - added the bork function into a module\n - called it form manifest\n - changed the manifest to call pick\n\n{noformat}\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Function Call, undefined method `[]' for Puppet::Pops::Loader::RubyLegacyFunctionInstantiator::Puppet:Module (file: /etc/puppetlabs/code/environments/production/manifests/site.pp, line: 3, column: 1) on node #####\nWarning: Not using cache on failed catalog\nError: Could not retrieve catalog", "created": "2021-02-02T02:53:00.000000"}, {"author": "62437f24fd5e450070432502", "body": "We do not encounter the issue on our `5.3.16` puppetserver.\n\nAgent version doesn't seem to matter, we have a mix of agents in our environment and only the server version appears to affect anything.\u00a0", "created": "2021-02-02T08:57:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "It is probably going wrong in the logic that validates the old 3x functions when they are loaded. The borked function in question is overly verbose and uses constructs that the validation parsing was not designed to handle.\n\nIf the \"borked\" was written on the form shown below, it should load (did not try though).\n{code:ruby}\nmodule Puppet::Parser::Functions\n  newfunction(\n        :bork,\n        :type => :rvalue,\n        :doc => 'B0rks the puppetserver'\n      ) do |args|\n        return true\n     end\nend\n{code}\n\nI realize that the issue is really \"loading completely borked function implementation should not have effect on subsequent compilations where the borked function is unused\" - and not \"I cannot load this function\".\n\nAs a side note - In general the recommendation is to not use the legacy (3.x) style for function implementations. Also note that it is close to impossible to ward off all possible cases of \"loading bad logic in Ruby\" due to Ruby's super flexible nature. The 3.x function loading is susceptible to a wider range of mistakes than the 4.x API and that is why the Ruby source is parsed and analyzed before being passed on to actually loading it. The 3.x API was invented long before the Ruby syntax was invented that is used in the borked function, so here is also a question about how much energy should be spent on fixing modern style mistakes made in this antique context. - - - In other words - fix the borked function.\n\n\n", "created": "2021-02-04T03:14:00.000000"}, {"author": "62437f24fd5e450070432502", "body": "If it was an issue in the Puppet 5 server as well, I'd just write it off as a quirk of Puppet", "created": "2021-02-04T09:55:00.000000"}], "components": ["Compiler"], "created": "2021-01-29T15:09:00.000000", "creator": "62437f24fd5e450070432502", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@df15622"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o068q8:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Feb/21"}], "description": "*Puppet Version:\u00a06.20.0*\n *Puppet Server Version: 6.15.0*\n *OS Name/Version: CentOS Linux 7.9*\n\nCrafting a parser function file in a particular way causes most future catalog compilations to fail across all environments after the function is executed once, until puppetserver is restarted.\u00a0\n\n\u00a0\n\nTo reproduce, create a file in lib/puppet/parser/functions/bork.rb with the following contents:\n\n{{module Puppet}}\n{{\u00a0 module Parser}}\n{{\u00a0 \u00a0 module Functions}}\n{{\u00a0 \u00a0 \u00a0 newfunction(}}\n{{\u00a0 \u00a0 \u00a0 \u00a0 :bork,}}\n{{\u00a0 \u00a0 \u00a0 \u00a0 type: :rvalue,}}\n{{\u00a0 \u00a0 \u00a0 \u00a0 doc: 'B0rks the puppetserver'}}\n{{\u00a0 \u00a0 \u00a0 ) do |args|}}\n{{\u00a0 \u00a0 \u00a0 \u00a0 return true}}\n{{\u00a0 \u00a0 \u00a0 end}}\n{{\u00a0 \u00a0 end}}\n{{\u00a0 end}}\n{{end}}\n\nThen have an agent manifest call the `bork()` function.\u00a0\n\n\u00a0\n\nObserve most future puppet runs fail, even for other nodes in other environments that previously worked before.\u00a0\u00a0\n\n\u00a0\n\nThe error frequently seen is:\n\n{{Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Function Call, undefined method `[]' for Puppet::Pops::Loader::RubyLegacyFunctionInstantiator::Puppet:Module}}\n\n*Desired Behavior:*\n\nCatalog fails for the invalid parser function, and other catalogs work fine.\u00a0\n\n*Actual Behavior:*\n\nMost future catalog compilations fail, even for unrelated nodes in other environments that previously worked before the `bork()` function was called.\n\n\u00a0\n\nThe following simple catalog is known to fail, where it previous works:\n\n{{include stdlib}}\n\n{{$test = pick($puppetmaster, $::fqdn)}}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28725", "fixedVersions": [], "id": "28725", "issueType": "Bug", "key": "PUP-10863", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "62437f24fd5e450070432502", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Invalid parser function breaks catalog compilation in all environments", "timeSpent": "PT0S", "updated": "2021-02-04T09:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Thanks [~accountid:63d40628f6e1b543161789a7]!\u00a0We no longer generate that page anymore, so I'll update it manually.", "created": "2021-02-03T10:25:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "I've removed these form the 7 docs page.\u00a0", "created": "2021-02-04T09:31:00.000000"}], "components": ["Docs"], "created": "2021-01-29T11:54:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3cdf51fc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o068h4:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_334796876_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_83783222_*|*_10005_*:*_1_*:*_91203140"}], "description": "Need to remove the {{consume}}\u00a0and {{export}}\u00a0metaparameters in the 7.x version of\n[https://puppet.com/docs/puppet/7.3/metaparameter.html]. It looks like the generation for that page was removed in [https://github.com/puppetlabs/puppet-docs/commit/e181834dbaa7201afa9e3de5ff6e4d8df5e07967]\u00a0but I'm not sure where it was moved to?\n\nReported in slack:\u00a0https://puppetcommunity.slack.com/archives/C0W298S9G/p1611918611327800\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24488", "fixedVersions": [], "id": "24488", "issueType": "Bug", "key": "PUP-10862", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-02-04T09:31:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "metaparameter docs need updating for 7.0", "timeSpent": "PT0S", "updated": "2021-02-04T09:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/c11abe4cd74ffa556dd06e84ceb7e3ccdc55c684", "created": "2021-02-02T09:36:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:63d40628f6e1b543161789a7] , please add release notes when you have some spare time", "created": "2021-02-04T03:33:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 97ca00bcb9", "created": "2021-02-04T12:25:00.000000"}], "components": [], "created": "2021-01-27T10:35:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": ["ghost"]}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7b33284"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0673s:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The command \"puppet facts show --value-only <fact>\" emitted the value as a JSON string, which included quotes around the value, such as {{\"RedHat\"}}. It now emits just the value."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_182930187_*|*_1_*:*_1_*:*_108323405_*|*_10007_*:*_1_*:*_406551028_*|*_5_*:*_1_*:*_0"}], "description": "When using --value-only to retrieve the value of a fact, the output is quoted:\n\n{noformat}\n[root@void-musicality ~]# puppet facts show os.name --value-only\n\"RedHat\"\n{noformat}\n\nIt should return the unquoted value so that the output can easily be consumed by external automation.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28724", "fixedVersions": ["PUP 7.4.0"], "id": "28724", "issueType": "Bug", "key": "PUP-10861", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-02-04T12:25:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "puppet facts show --value-only should not display a quoted value", "timeSpent": "PT0S", "updated": "2021-02-05T02:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Thanks [~accountid:70121:50cf9999-f5a4-4526-b662-a8cdc1d378a0]. Seems like we could record the amount of time spent splaying (in https://github.com/puppetlabs/puppet/blob/5d6412cf5de9ed93d80439c539c1416ecf3216b2/lib/puppet/scheduler/splay_job.rb#L6), yield that time to the block starts the splayed run: https://github.com/puppetlabs/puppet/blob/5d6412cf5de9ed93d80439c539c1416ecf3216b2/lib/puppet/daemon.rb#L158, and pass that time into the `agent.run` method. Then we can leave the \"startup_time\" as is, or subtract the \"splay_time\"?", "created": "2021-01-26T08:40:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "Thank you for filing this issue. We agree it is likely an improvement, but due to other issues demanding precedence, we don\u2019t anticipate being able to address this any time soon. If you are interested in submitting a patch to the repository for this project at https://github.com/puppetlabs, please open a pull request", "created": "2021-06-15T03:15:00.000000"}], "components": [], "created": "2021-01-26T07:57:00.000000", "creator": "70121:50cf9999-f5a4-4526-b662-a8cdc1d378a0", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@ec56e25"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o065bk:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Jan/21"}], "description": "*Puppet Version: 6.19*\n *Puppet Server Version: 6.14*\n *OS Name/Version: RHEL 6/7/8*\n\nPUP-10371 introduced a new metric, 'startup_time', to improve accounting of total puppet runtime. However if you run puppet with '\u2013splaylimit' the 'startup_time' metric will include the time spent in splay which will make the puppet runtime metric quite useless. \n\nAnd, since we run puppet agent via cron (with splay) at the same time on all nodes, all puppet reports will have the same timestamp - not the time when the puppet run actually begins but the time when the agents splay starts. We send our reports to Foreman and this behaviour makes it very hard to know when puppet agent was actually run.\n\n*Desired Behavior:*\n\n'startup_time' metric should not include splay time. \n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24487", "fixedVersions": [], "id": "24487", "issueType": "Bug", "key": "PUP-10860", "labels": ["community", "help_wanted"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:50cf9999-f5a4-4526-b662-a8cdc1d378a0", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "'startup_time' metric should not include splay time", "timeSpent": "PT0S", "updated": "2021-06-22T02:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "attachments": [], "comments": [{"author": "5abd613dd4cf3c56be24b70d", "body": "Could not reproduce this on a\u00a0CentOS 8.3\u00a0\n\nInstalled the latest puppet6-prelease:\n{code:java}[vagrant@centos8 ~]$ rpm -i puppet6-release-el-8.noarch.rpm\nwarning: puppet6-release-el-8.noarch.rpm: Header V4 RSA/SHA256 Signature, key ID ef8d349f: NOKEY\nerror: can't create transaction lock on /var/lib/rpm/.rpm.lock (Permission denied) {code}\nInstalled puppet agent:\n{code:java}root@centos8 vagrant]# yum install puppet-agent\nCentOS Linux 8 - AppStream                                                                                                                  15 kB/s | 4.3 kB     00:00\nCentOS Linux 8 - AppStream                                                                                                                 1.1 MB/s | 6.3 MB     00:05\nCentOS Linux 8 - BaseOS                                                                                                                     17 kB/s | 3.9 kB     00:00\nCentOS Linux 8 - BaseOS                                                                                                                    1.1 MB/s | 2.3 MB     00:02\nCentOS Linux 8 - Extras                                                                                                                    6.5 kB/s | 1.5 kB     00:00\nExtra Packages for Enterprise Linux Modular 8 - x86_64                                                                                      44 kB/s |  35 kB     00:00\nExtra Packages for Enterprise Linux 8 - x86_64                                                                                              37 kB/s |  28 kB     00:00\nExtra Packages for Enterprise Linux 8 - x86_64                                                                                             751 kB/s | 8.8 MB     00:12\nPuppet 6 Repository el 8 - x86_64                                                                                                          2.7 MB/s |  22 MB     00:08\nDependencies resolved.\n===========================================================================================================================================================================\n Package                                    Architecture                         Version                                       Repository                             Size\n===========================================================================================================================================================================\nInstalling:\n puppet-agent                               x86_64                               6.20.0-1.el8                                  puppet6                                26 MTransaction Summary\n===========================================================================================================================================================================\nInstall  1 PackageTotal download size: 26 M\nInstalled size: 119 M\nIs this ok [y/N]: y\nDownloading Packages:\npuppet-agent-6.20.0-1.el8.x86_64.rpm                                                                                                       4.6 MB/s |  26 MB     00:05\n---------------------------------------------------------------------------------------------------------------------------------------------------------------------------\nTotal                                                                                                                                      4.6 MB/s |  26 MB     00:05\nwarning: /var/cache/dnf/puppet6-61278a3d8cb73bd9/packages/puppet-agent-6.20.0-1.el8.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 9e61ef26: NOKEY\nPuppet 6 Repository el 8 - x86_64                                                                                                          1.6 MB/s | 1.6 kB     00:00\nImporting GPG key 0xEF8D349F:\n Userid     : \"Puppet, Inc. Release Key (Puppet, Inc. Release Key) <release@puppet.com>\"\n Fingerprint: 6F6B 1550 9CF8 E59E 6E46 9F32 7F43 8280 EF8D 349F\n From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-puppet6-release\nIs this ok [y/N]: y\nKey imported successfully\nPuppet 6 Repository el 8 - x86_64                                                                                                          3.1 MB/s | 3.1 kB     00:00\nImporting GPG key 0x9E61EF26:\n Userid     : \"Puppet, Inc. Release Key (Puppet, Inc. Release Key) <release@puppet.com>\"\n Fingerprint: D681 1ED3 ADEE B844 1AF5 AA8F 4528 B6CD 9E61 EF26\n From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-2025-04-06-puppet6-release\nIs this ok [y/N]: y\nKey imported successfully\nRunning transaction check\nTransaction check succeeded.\nRunning transaction test\nTransaction test succeeded.\nRunning transaction\n  Preparing        :                                                                                                                                                   1/1\n  Running scriptlet: puppet-agent-6.20.0-1.el8.x86_64                                                                                                                  1/1\n  Installing       : puppet-agent-6.20.0-1.el8.x86_64                                                                                                                  1/1\n  Running scriptlet: puppet-agent-6.20.0-1.el8.x86_64                                                                                                                  1/1\n  Verifying        : puppet-agent-6.20.0-1.el8.x86_64                                                                                                                  1/1Installed:\n  puppet-agent-6.20.0-1.el8.x86_64Complete! {code}\nAfter that I've installed puppetserver using the following manifest:\n{code:java}package { 'puppetserver':\n  ensure => 'present',\n} {code}\nThe installation worked:\n{code:java}Info: Applying configuration version '1611751034'\nDebug: Prefetching dnf resources for package\nDebug: Executing: '/bin/rpm --version'\nDebug: Executing '/bin/rpm -qa --nosignature --nodigest --qf '%{NAME} %|EPOCH?{%{EPOCH}}:{0}| %{VERSION} %{RELEASE} %{ARCH}\\n' | sort'\nDebug: Executing: '/bin/rpm -q puppetserver --nosignature --nodigest --qf %{NAME} %|EPOCH?{%{EPOCH}}:{0}| %{VERSION} %{RELEASE} %{ARCH}\\n'\nDebug: Executing: '/bin/rpm -q puppetserver --nosignature --nodigest --qf %{NAME} %|EPOCH?{%{EPOCH}}:{0}| %{VERSION} %{RELEASE} %{ARCH}\\n --whatprovides'\nDebug: Package[puppetserver](provider=dnf): Ensuring => present\nDebug: Executing: '/bin/dnf -d 0 -e 1 -y install puppetserver'\nNotice: /Stage[main]/Main/Package[puppetserver]/ensure: created\nDebug: /Package[puppetserver]: The container Class[Main] will propagate my refresh event\nDebug: Class[Main]: The container Stage[main] will propagate my refresh event\nDebug: Finishing transaction 9176780\nDebug: Storing state\nInfo: Creating state file /opt/puppetlabs/puppet/cache/state/state.yaml\nDebug: Pruned old state cache entries in 0.00 seconds\nDebug: Stored state in 0.00 seconds\nNotice: Applied catalog in 31.87 seconds\nDebug: Applying settings catalog for sections reporting, metrics\nDebug: Finishing transaction 24790080\nDebug: Received report to process from centos8.localdomain\nDebug: Processing report from centos8.localdomain with processor Puppet::Reports::Store {code}\nFacter output:\n{code:java} [root@centos8 vagrant]# facter os\n{\n  architecture => \"x86_64\",\n  family => \"RedHat\",\n  hardware => \"x86_64\",\n  name => \"CentOS\",\n  release => {\n    full => \"8.3.2011\",\n    major => \"8\",\n    minor => \"3\"\n  },\n  selinux => {\n    config_mode => \"enforcing\",\n    config_policy => \"targeted\",\n    current_mode => \"enforcing\",\n    enabled => true,\n    enforced => true,\n    policy_version => \"32\"\n  }\n}{code}\n8.3.2011 is the latest version available of CentOS\n\n[~accountid:557058:e0340dee-9d48-48c3-8c6a-02597af847c9]\u00a0can you let us know if the issue is reproducible for you on CentOS without FIPS?\n\n\u00a0", "created": "2021-01-27T05:44:00.000000"}, {"author": "623a4345a1d81f0069d80f28", "body": "No the problem does not happen when not in FIPS mode.\u00a0 We can however install the puppet-agent on el8 in fips mode.\n\n\u00a0", "created": "2021-07-20T11:31:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "No, I think this is Release Engineering. We don't do anything with signing packages.", "created": "2021-07-20T15:16:00.000000"}, {"author": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "body": "Ok, I've been able to isolate this to some difference in the build environments for packages built with vanagon (puppet-agent, pdk) and packages built with ezbake (puppetserver, puppetdb). We will investigate this.", "created": "2021-07-21T13:54:00.000000"}, {"author": "557058:ce47491d-51b2-4269-b548-6918a1c4ca36", "body": "Is there a timeframe to address this issue?", "created": "2021-08-19T07:37:00.000000"}, {"author": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "body": "[~accountid:557058:ce47491d-51b2-4269-b548-6918a1c4ca36]\u00a0I believe I have a fix for this up now so hopefully the next puppet platform releases will include this change.", "created": "2021-08-27T16:55:00.000000"}, {"author": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "body": "Ok, there were some delays in getting this change rolled out, but I was able to confirm with a local development build has all the correct digests/signatures:\n{code:java}# rpm -Kv puppetserver-7.4.1-0.1SNAPSHOT.2021.09.21T2216.el8.noarch.rpm\npuppetserver-7.4.1-0.1SNAPSHOT.2021.09.21T2216.el8.noarch.rpm:\n    Header V4 RSA/SHA256 Signature, key ID 9e61ef26: OK\n    Header SHA256 digest: OK\n    Header SHA1 digest: OK\n    Payload SHA256 digest: OK\n    V4 RSA/SHA256 Signature, key ID 9e61ef26: OK\n    MD5 digest: OK {code}\nThe packages for the next platform release will include this change", "created": "2021-09-22T15:14:00.000000"}, {"author": "557058:e0340dee-9d48-48c3-8c6a-02597af847c9", "body": "It looks like the solution was only a partial fix unfortunately:\n{code:java}\nError unpacking rpm package puppetserver-7.5.0-1.el8.noarch\n\u00a0 Cleanup \u00a0 \u00a0 \u00a0 \u00a0 \u00a0: lua-libs-5.3.4-11.el8.x86_64\n\n18/18 error: unpacking of archive failed on file /etc/puppetlabs/puppetserver/conf.d/auth.conf", "created": "2022-01-17T13:48:00.000000"}, {"author": "557058:e0340dee-9d48-48c3-8c6a-02597af847c9", "body": "Version 7.6.0-1 works properly in FIPS mode on EL8", "created": "2022-02-20T14:02:00.000000"}], "components": [], "created": "2021-01-23T11:33:00.000000", "creator": "557058:e0340dee-9d48-48c3-8c6a-02597af847c9", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@267a5a45"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3766"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Other"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0642o:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Jan/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_12406177176_*|*_10007_*:*_1_*:*_2240638588_*|*_10009_*:*_1_*:*_4862_*|*_4_*:*_1_*:*_2938521903_*|*_5_*:*_1_*:*_10106906510_*|*_6_*:*_2_*:*_14258_*|*_10004_*:*_1_*:*_6271887745"}], "description": "*Puppet Version:* All\n*Puppet Server Version:* All\n*OS Name/Version:* CentOS and RHEL 8.3+ in FIPS mode\n\nCentOS and RHEL 8.3+, when running in FIPS mode, require SHA-256 signatures on both repository metadata and RPMs.\n\nStarLab has a [good summary of the issue|https://www.starlab.io/blog/adding-sha256-digests-to-rpms] and I can confirm that resigning the RPMs using a CentOS 8.3+ base container/image will allow for correct installation.\n\n*Desired Behavior:* Ability to install puppet RPMs on an EL8 system in FIPS mode.\n\n*Actual Behavior:* RPMs fail to install.\n\n*Docs:* An example of the failure can be found in the [pupmod-simp-pupmod beaker tests|https://gitlab.com/simp/pupmod-simp-pupmod/-/jobs/980280745#L4089].\n\n*How To Test:*\n{code:java}\nfips-mode-setup --enable\nreboot\nfips-mode-setup --check (should say enabled)\ndnf -y install \u00a0https://yum.puppet.com/puppet-release-el-8.noarch.rpm\ndnf -y install puppetserver{code}\n\u00a0", "epicLinkSummary": "Add RedHat 8 FIPS x86_64 FOSS support", "estimate": "PT0S", "externalId": "22420", "fixedVersions": ["PUP 7.6.0"], "id": "22420", "issueType": "Bug", "key": "PUP-10859", "labels": ["community", "os"], "originalEstimate": "PT0S", "parent": "55700", "parentSummary": "Add RedHat 8 FIPS x86_64 FOSS support", "priority": "Major", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:e0340dee-9d48-48c3-8c6a-02597af847c9", "resolution": "Fixed", "resolutionDate": "2022-02-20T14:02:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Red Hat and CentOS 8.3 cannot install RPMs in FIPS mode", "timeSpent": "PT0S", "updated": "2022-02-20T14:02:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/0cd7bcefa47b90f3c8d24e60479f41766cbc04f3 and https://github.com/puppetlabs/puppet/commit/7ee5429a3fa9faf34ab93b76d00e115c8bd21e63", "created": "2021-02-03T17:48:00.000000"}, {"author": "623d00a2761efb0069ce9253", "body": "Since we deployed 6.21 that includes this change we're seeing two issues:\n * Agent runtime has significantly increased.\n * Every run \"changes\" the gid for every user:\n\n{{Notice: Accounts::User[aaa]/User[aaa]/gid: gid changed '100' to 'users' (corrective)}}\n{{Notice: Accounts::User[bbb]/User[bbb]/gid: gid changed '100' to 'users' (corrective) }}\n{{Notice: Accounts::User[ccc]/User[ccc]/gid: gid changed '100' to 'users' (corrective)}}\n{{Notice: Accounts::User[ddd]/User[ddd]/gid: gid changed '100' to 'users' (corrective) }}\n{{Notice: Accounts::User[eee]/User[eee]/gid: gid changed '100' to 'users' (corrective)}}\n\n\u00a0", "created": "2021-02-16T09:53:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "{quote}\nAgent runtime has significantly increased.\n{quote}\n\nCan you run {{puppet agent -t --evaltrace --sumarize}} and see which resources are taking longer? If it's reproducible, please open a new ticket. The one issue I'm aware of in this area is PUP-10856, but that was fixed in 6.21.0.\n\n{quote}\nEvery run \"changes\" the gid for every user:\n{quote}\n\nThat's PUP-10896. We'll have new releases out this week to resolve that.", "created": "2021-02-16T10:19:00.000000"}, {"author": "623d00a2761efb0069ce9253", "body": "PUP-10896, excellent, thanks", "created": "2021-02-16T11:07:00.000000"}], "components": ["Types and Providers"], "created": "2021-01-19T08:34:00.000000", "creator": "5e3375e183d74c0e821851f3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@209deac"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05lng:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The `useradd` provider now checks the `forcelocal` parameter and gets local information about groups (from `/etc/groups`) and gid (from `/etc/passwd`) of a user when requested."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "42710"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_170528537_*|*_1_*:*_1_*:*_3367335_*|*_10007_*:*_1_*:*_96623371_*|*_3_*:*_1_*:*_403424830_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_689494865"}], "description": "**Description**\nWhen using the {{useradd}} provider with the {{user}} resource with {{forcelocal => true}}, the groups are still pulled from {{gentent}}. This causes LDAP/NIS groups to be detected instead of just the local groups. \n\n**Desired Behavior**\nThe {{forcelocal => true}} parameter should force all options to be local. With the parameter set, the user is looked up from {{/etc/passwd}}. The groups should be looked up locally as well.\n\n**Actual Behavior**\nThe {{forcelocal => true}} results in the user being looked up locally, but the groups are looked up through {{getgrent}}\n\n**Additional Notes**\n It falls back to using https://github.com/puppetlabs/puppet/blob/main/lib/puppet/util/posix.rb#L14-L33 from https://github.com/puppetlabs/puppet/blob/main/lib/puppet/provider/nameservice.rb#L235-L237 as it is not implemented in https://github.com/puppetlabs/puppet/blob/main/lib/puppet/provider/user/useradd.rb", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26578", "fixedVersions": ["PUP 6.21.0", "PUP 7.4.0"], "id": "26578", "issueType": "Improvement", "key": "PUP-10857", "labels": ["doc_reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5e3375e183d74c0e821851f3", "resolution": "Fixed", "resolutionDate": "2021-02-04T03:18:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "User resource with forcelocal uses getent for groups", "timeSpent": "PT0S", "updated": "2021-02-16T11:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5b9fcedc03b52466f05c4510", "attachments": [], "comments": [], "components": [], "created": "2021-01-15T11:28:00.000000", "creator": "618d77713ae523006917eb86", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@57fac3ec"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05wsw:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Added `--timing` option to `puppet facts show`. This flag shows how much time it took to resolve each fact."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_497511795_*|*_1_*:*_1_*:*_336628620_*|*_10007_*:*_1_*:*_81785154_*|*_3_*:*_1_*:*_4585700_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_75817306"}], "description": "facter --timing is incredibly useful to find slow facts on my systems however with the removal of the --puppet flag it only shows the built in facts.\u00a0\u00a0\n\nWould it be possible to have the --timing flag added to the puppet facts show command to show slow puppet fact resolutions as well?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23405", "fixedVersions": ["PUP 7.4.0"], "id": "23405", "issueType": "Improvement", "key": "PUP-10858", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "618d77713ae523006917eb86", "resolution": "Fixed", "resolutionDate": "2021-01-27T00:14:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Add --timing to puppet facts show", "timeSpent": "PT0S", "updated": "2021-02-05T02:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This behavior is expected. In puppet 6, agents default to requesting a so called \"rich data\" catalog, which allows puppet to serialize data types that aren't natively supported in JSON, such as sensitive, binary, deferred, etc. Note the {{Accept: application/vnd.puppet.rich+json, ...}} header:\n\n{noformat}\nbx puppet agent -t --http_debug > /dev/null 2>&1 | grep -e 'puppet/v3/catalog'\n<- \"POST /puppet/v3/catalog/localhost?environment=production HTTP/1.1\\r\\nX-Puppet-Version: 6.20.0\\r\\nUser-Agent: Puppet/6.20.0 Ruby/2.5.8-p224 (x86_64-darwin18)\\r\\nAccept: application/vnd.puppet.rich+json, application/json, application/vnd.puppet.rich+msgpack, application/x-msgpack, text/pson\\r\\nContent-Type: application/x-www-form-urlencoded\\r\\nAccept-Encoding: gzip", "created": "2021-01-15T12:44:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Since this is expected behavior, I'm going to close this. Feel free to reach out in #puppet-dev in slack if you have questions.", "created": "2021-01-19T09:28:00.000000"}, {"author": "623c13e0a1d81f0069d8e29a", "body": "Thanks for confirming the loaders bit and for the hint about the catalog retrieval.", "created": "2021-01-19T10:03:00.000000"}], "components": [], "created": "2021-01-15T02:45:00.000000", "creator": "623c13e0a1d81f0069d8e29a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4f86cda7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05wb4:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Jan/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_369791043_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.15.0*\n*Puppet Server Version: Does not apply*\n*OS Name/Version: CentOS8*\n\nHi,\n\nOpening this for discussion mainly, it might not be a bug.\n\nWe have an in-house debugging tool that downloads a catalog from a master and persists it to disk (serialised as JSON) to further inspection later on by another tool.\n\nInspired by [this|https://github.com/puppetlabs/puppet/blob/main/lib/puppet/face/catalog.rb#L134], the code is something like this:\n\n{noformat}\nrequire 'puppet'\nrequire 'puppet/face'\nPuppet.initialize_settings\nPuppet.initialize_facts\nPuppet.settings.preferred_run_mode = :agent\nPuppet::Resource::Catalog.indirection.terminus_class = :rest\nPuppet::Resource::Catalog.indirection.cache_class = nil\nPuppet::Node::Facts.indirection.terminus_class = :facter\nPuppet[:server] = \"foo\"\nPuppet[:masterport] = 1234\nPuppet[:client_datadir] = \"/somewhere\"\nfacts = Puppet::Node::Facts.indirection.find(Puppet[:node_name_value]).render(:pson)\nquery_options = {:facts_format => :pson, :facts => CGI.escape(facts)}\nenvironment = Puppet::Node::Environment.remote(Puppet[:environment])\nPuppet.override(:current_environment => environment) do\n  begin\n    catalog = Puppet::Resource::Catalog.indirection.find(Puppet[:certname], query_options)\n  rescue Exception => e\n    puts e\n    exit 1\n  end\n  exit 2 if catalog.nil?\n  Puppet::Resource::Catalog.indirection.terminus_class = :json\n  Puppet::Face[:catalog, '0.0.1'].save(catalog)\nend\nputs \"Saved catalog to #{Puppet::Resource::Catalog.indirection.terminus.path(Puppet[:certname])}\"\nexit 0\n{noformat}\n\nThis was working code on Puppet5, that only needed some trivial modifications to make it work with Puppet6 (6.15.0):\n\n{noformat}\n-facts = Puppet::Node::Facts.indirection.find(Puppet[:node_name_value]).render(:pson)\n-query_options = {:facts_format => :pson, :facts => CGI.escape(facts)}\n+facts = Puppet::Node::Facts.indirection.find(Puppet[:node_name_value])\n+query_options = {:facts_for_catalog => facts}\n{noformat}\n\nHowever, we noticed that it was failing when handling some catalogs as follows:\n\n{noformat}\nFailed to deserialize Puppet::Resource::Catalog from rich_data_json: Internal Error: Puppet Context ':loaders' missing\n{noformat}\n\nDigging into the bugtracker, we found PUP-10572. Initially, we tried backporting the patch that fixed the issue but no luck, so we patched our code to inject the loaders ourselves into the context:\n\n{noformat}\n-Puppet.override(:current_environment => environment) do\n+Puppet.override(:current_environment => environment, loaders: Puppet::Pops::Loaders.new(environment, true)) do\n{noformat}\n\nAnd the problem disappeared.\n\nIs preparing and injecting the loaders something we're supposed to do now on our side or perhaps it's a bug similar to PUP-10572?\n\nThanks.\n\n(CERN internal ref: AI-6051)", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28721", "fixedVersions": [], "id": "28721", "issueType": "Bug", "key": "PUP-10855", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c13e0a1d81f0069d8e29a", "resolution": "Incomplete", "resolutionDate": "2021-01-19T09:28:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Need to inject loaders when retrieving a catalog via Puppet::Resource::Catalog", "timeSpent": "PT0S", "updated": "2021-01-19T10:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5b9fcedc03b52466f05c4510", "attachments": [{"attacher": "623a47b54a57610068e6764e", "created": "2021-01-15T01:01:00.000000", "name": "puppet_agent_v4_summary.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11571"}, {"attacher": "623a47b54a57610068e6764e", "created": "2021-01-15T01:01:00.000000", "name": "puppet_agent_v6_summary.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11498"}], "comments": [{"author": "623a47b54a57610068e6764e", "body": "On further analysis using the command `puppet agent -t --debug --profile`, I found that `Puppet (debug): Executing: '/usr/bin/apt-mark showmanual` is an extra statement which is not seen in version 4 puppet agent run profile. Every time this statement executes, it take a second or two. Is there a way to disable this behavior in version 6.\n\n(From version 6 agent run)\n{code:java}2021-01-15 05:45:11 +0000 /Stage[main]/Apt::Update/Exec[apt_update] (debug): '/usr/bin/apt-get update' won't be executed because of failed check 'refreshonly'\n2021-01-15 05:45:11 +0000 Puppet (debug): Prefetching apt resources for package\n2021-01-15 05:45:11 +0000 Puppet (debug): Executing '/usr/bin/dpkg-query -W --showformat '${Status} ${Package} ${Version}\\n''\n2021-01-15 05:45:11 +0000 Puppet (debug): Executing: '/usr/bin/apt-mark showmanual'\n2021-01-15 05:45:12 +0000 Puppet (debug): Executing: '/usr/bin/dpkg-query -W --showformat '${Status} ${Package} ${Version}\\n' ack-grep'\n2021-01-15 05:45:12 +0000 Puppet (debug): Executing: '/usr/bin/apt-mark showmanual'\n2021-01-15 05:45:14 +0000 /Package[ack-grep] (debug): Nothing to manage: no ensure and the resource doesn't exist\n2021-01-15 05:45:14 +0000 Puppet (debug): Executing: '/usr/bin/dpkg-query -W --showformat '${Status} ${Package} ${Version}\\n' libalgorithm-diff-ruby'\n2021-01-15 05:45:14 +0000 Puppet (debug): Executing: '/usr/bin/apt-mark showmanual'\n2021-01-15 05:45:15 +0000 /Package[libalgorithm-diff-ruby] (debug): Nothing to manage: no ensure and the resource doesn't exist\n2021-01-15 05:45:15 +0000 Puppet (debug): Executing: '/usr/bin/dpkg-query -W --showformat '${Status} ${Package} ${Version}\\n' linux-tools'\n2021-01-15 05:45:15 +0000 Puppet (debug): Executing: '/usr/bin/apt-mark showmanual'\n2021-01-15 05:45:16 +0000 /Package[linux-tools] (debug): Nothing to manage: no ensure and the resource doesn't exist\n2021-01-15 05:45:16 +0000 Puppet (debug): Executing: '/usr/bin/dpkg-query -W --showformat '${Status} ${Package} ${Version}\\n' liblvm2app2.2'\n{code}\nIn version 4, same section is as following:\n{code:java}2021-01-15 05:45:32 +0000 Puppet (debug): Prefetching apt resources for package\n2021-01-15 05:45:32 +0000 Puppet (debug): Executing '/usr/bin/dpkg-query -W --showformat '${Status} ${Package} ${Version}\\n''\n2021-01-15 05:45:32 +0000 Puppet (debug): Executing: '/usr/bin/dpkg-query -W --showformat '${Status} ${Package} ${Version}\\n' ack-grep'\n2021-01-15 05:45:32 +0000 /Package[ack-grep] (debug): Nothing to manage: no ensure and the resource doesn't exist\n2021-01-15 05:45:32 +0000 Puppet (debug): Executing: '/usr/bin/dpkg-query -W --showformat '${Status} ${Package} ${Version}\\n' libalgorithm-diff-ruby'\n2021-01-15 05:45:32 +0000 /Package[libalgorithm-diff-ruby] (debug): Nothing to manage: no ensure and the resource doesn't exist\n2021-01-15 05:45:32 +0000 Puppet (debug): Executing: '/usr/bin/dpkg-query -W --showformat '${Status} ${Package} ${Version}\\n' linux-tools'\n2021-01-15 05:45:32 +0000 /Package[linux-tools] (debug): Nothing to manage: no ensure and the resource doesn't exist\n2021-01-15 05:45:32 +0000 Puppet (debug): Executing: '/usr/bin/dpkg-query -W --showformat '${Status} ${Package} ${Version}\\n' liblvm2app2.2'\n2021-01-15 05:45:32 +0000 /Package[liblvm2app2.2] (debug): Nothing to manage: no ensure and the resource doesn't exist\n2021-01-15 05:45:32 +0000 Puppet (debug): Executing: '/usr/bin/dpkg-query -W --showformat '${Status} ${Package} ${Version}\\n' pcstat'\n2021-01-15 05:45:32 +0000 /Package[pcstat] (debug): Nothing to manage: no ensure and the resource doesn't exist\n2021-01-15 05:45:32 +0000 Puppet (debug): Executing: '/usr/bin/dpkg-query -W --showformat '${Status} ${Package} ${Version}\\n' open-iscsi'\n{code}", "created": "2021-01-15T01:16:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Thanks [~accountid:623a47b54a57610068e6764e]. I moved this to the PUP project. We'll take a look.", "created": "2021-01-15T11:33:00.000000"}, {"author": "5b9fcedc03b52466f05c4510", "body": "[~accountid:623a47b54a57610068e6764e] is this happening for every run or it happened only for the first run after upgrade? \nCan you provide a manifest that would help us to reproduce the slowness and on what OS are you encountering the issues?", "created": "2021-01-28T02:24:00.000000"}, {"author": "623a47b54a57610068e6764e", "body": "This is happening for every run and for every manifest consistently.\n\nHere is the puppet run output for the same two hosts for which I\u00a0 added the run summary two weeks back when I created the ticket. Schedule puppet run is happening on these nodes every 2 hours.\n\nThese are same node types and apply exact same manifests (Configuration version fac0d39 in both output)\n\n64.24 seconds seconds (v4) vs\u00a0146.40 seconds (v6)\n\nPuppet 4 agent:\n\n\u00a0\n{code:java}# apt-cache policy puppet-agent | head -10\npuppet-agent:\n  Installed: 1.10.14-1stretch\n  Candidate: 6.20.0-1buster\n\n# puppet agent -t\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Loading facts\nInfo: Caching catalog for <node>\nInfo: Applying configuration version 'fac0d39 - Wed Jan 27 10:06:52 2021 +1100'\nNotice: Applied catalog in 64.24 seconds\n{code}\n\u00a0\n\nPuppet 6 agent:\n\n\u00a0\n{code:java}# apt-cache policy puppet-agent | head -10\npuppet-agent:\n  Installed: 6.20.0-1buster\n  Candidate: 6.20.0-1buster\n\n# puppet agent -tInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Loading facts\nInfo: Caching catalog for <node>\nInfo: Applying configuration version 'fac0d39 - Wed Jan 27 10:06:52 2021 +1100'\nNotice: Applied catalog in 146.40 seconds\n{code}\n\u00a0\n\n\u00a0", "created": "2021-01-28T09:48:00.000000"}, {"author": "623a47b54a57610068e6764e", "body": "Now I am adding he puppet run output for two database nodes (so the manifest is the very different than the nodes used previously)\n\n(configuration version fac0d39)\n\n31 sec vs 304 sec.\n\npuppet 4 agent\n\n\u00a0\n{code:java}\n# apt-cache policy puppet-agent\npuppet-agent:\n  Installed: 1.10.14-1stretch\n  Candidate: 6.20.0-1buster\n  Version table:\n     6.20.0-1buster 700\n        500 http://apt.bigcommerce.net/aptly/puppet6 buster/puppet6 amd64 Packages\n     6.19.1-1buster 700\n        500 http://apt.bigcommerce.net/aptly/puppet6 buster/puppet6 amd64 Packages\n\n# puppet agent -t\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Loading facts\nInfo: Caching catalog for <db-node>\nInfo: Applying configuration version 'fac0d39 - Wed Jan 27 10:06:52 2021 +1100'\nNotice: Applied catalog in 31.65 seconds\n{code}\npuppet 6 agent\n\n\u00a0\n{code:java}\n# apt-cache policy puppet-agent | head -5\npuppet-agent:\n  Installed: 6.19.1-1buster\n  Candidate: 6.20.0-1buster\n  Version table:\n     6.20.0-1buster 700\n\n# puppet agent -t\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Loading facts\nInfo: Caching catalog for <db-node>\nInfo: Applying configuration version 'fac0d39 - Wed Jan 27 10:06:52 2021 +1100'\nNotice: Applied catalog in 304.56 seconds{code}\n\u00a0\n\n\u00a0\n\n\u00a0", "created": "2021-01-28T09:55:00.000000"}, {"author": "623a47b54a57610068e6764e", "body": "As per out analysis, package installation phase is causing extra time and most probably due to this specific statement, which is not there in earlier version of the agent.\n{code:java}Puppet (debug): Executing: '/usr/bin/apt-mark showmanual'{code}", "created": "2021-01-28T10:00:00.000000"}, {"author": "623a47b54a57610068e6764e", "body": "Puppet is heavily used in organization and for years. We are sure this issue is not due any specific statement(s) in manifest(s) written by us.", "created": "2021-01-28T10:04:00.000000"}, {"author": "5b9fcedc03b52466f05c4510", "body": "[~accountid:623a47b54a57610068e6764e] thanks for the info. \nI was asking about the manifest in order to have some resources that would help me to reproduce exactly the same issues that you are seeing, in my environment. Definitely the slowness is there and was added in puppet6. \nI'm working on a fix to reduce the calls to `'/usr/bin/apt-mark showmanual'`: https://github.com/puppetlabs/puppet/pull/8497\n\nThere seems to be an improvement applying the following manifest with 4 packages\n\n{noformat}\n\u276f host:~# cat a.pp\npackage { 'ack-grep':\n  ensure => 'absent',\n  provider => 'apt',\n}\npackage { 'open-iscsi':\n  ensure => 'absent',\n  provider => 'apt',\n}\npackage { 'linux-tools':\n  ensure => 'absent',\n  provider => 'apt',\n}\npackage { 'liblvm2app2.2':\n  ensure => 'absent',\n  provider => 'apt',\n}\n{noformat}\n\n\n{noformat}\n# before fix\n\u276f host:~# puppet apply a.pp\nNotice: Compiled catalog for host in environment production in 0.43 seconds\nNotice: Applied catalog in 1.07 seconds\n\n# after fix\n\u276f host:~# puppet apply a.pp\nNotice: Compiled catalog for host in environment production in 0.41 seconds\nNotice: Applied catalog in 0.27 seconds\n{noformat}\n\n", "created": "2021-01-29T02:51:00.000000"}, {"author": "5b9fcedc03b52466f05c4510", "body": "merged into 6.x: https://github.com/puppetlabs/puppet/commit/7d3c04b237bcdb09a26071bf798613cd22323cd1", "created": "2021-02-01T07:30:00.000000"}, {"author": "623a47b54a57610068e6764e", "body": "[~accountid:5b9fcedc03b52466f05c4510]\u00a0 Thanks for resolving it. When this version be available ?\u00a0", "created": "2021-02-01T08:30:00.000000"}, {"author": "5b9fcedc03b52466f05c4510", "body": "[~accountid:623a47b54a57610068e6764e] the fix will be available in the 6.21.0 and 7.4.0 versions.", "created": "2021-02-08T00:59:00.000000"}, {"author": "623a47b54a57610068e6764e", "body": "[~accountid:5b9fcedc03b52466f05c4510]\u00a0:\u00a0 Any tentative/approximate date for the release of these version ? Thank you.", "created": "2021-02-08T09:34:00.000000"}, {"author": "5b9fcedc03b52466f05c4510", "body": "[~accountid:623a47b54a57610068e6764e] the releases are planned for this week. Most likely the packages will be available on 10th feb.", "created": "2021-02-08T09:48:00.000000"}], "components": [], "created": "2021-01-15T00:56:00.000000", "creator": "623a47b54a57610068e6764e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@57e4d2a4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05waw:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Improve the performance of Apt package provider when removing packages by reducing the calls to `apt-mark showmanual`"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Jan/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_259381043_*|*_1_*:*_1_*:*_374101146_*|*_3_*:*_1_*:*_778047368_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_80924697"}], "description": "Puppet agent run after upgrading to v6 is taking longer. It\u2019s consistent observation across our all environments. Puppet server was already at v6. So the agent version is the only change.\u00a0", "environment": "All environments.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27691", "fixedVersions": ["PUP 6.21.0", "PUP 7.4.0"], "id": "27691", "issueType": "Bug", "key": "PUP-10856", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a47b54a57610068e6764e", "resolution": "Fixed", "resolutionDate": "2021-02-01T07:31:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Slower puppet agent run after agent upgrade to version 6", "timeSpent": "PT0S", "updated": "2021-02-08T09:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "attachments": [], "comments": [{"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Originally reported in https://github.com/puppetlabs/puppet/pull/7802#issuecomment-759391532", "created": "2021-01-14T06:20:00.000000"}], "components": [], "created": "2021-01-14T06:17:00.000000", "creator": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4e629224"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05vko:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "after this commit apt package provider allows you to install packages from local file using source parameter:\n```\npackage { 'helloworld':\n    source => '/tmp/helloworld_1.0-1.deb'\n    ensure => installed,\n}\n```"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_259579462_*|*_1_*:*_1_*:*_441185188_*|*_10007_*:*_1_*:*_184385024_*|*_3_*:*_1_*:*_84648444_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_589844370"}], "description": "*Puppet Version:* 6.19\n*Puppet Server Version:* n/a\n*OS Name/Version:* Debian/Ubuntu\n\nPUP-6631 indirectly broke the ability to manage local packages with the apt provider. This case appears to be supported by apt, so we should aim to fix this regression.\n\n*Desired Behavior:*\n\nApplying a resource like the following should work:\n\n{code}\npackage { '/path/to/package.deb': \n    ensure => installed,\n}\n{code}\n\n*Actual Behavior:*\n\nApplying the above resource results in the package being installed, but errors on the execution of {{apt-mark}}, marking the run as failed:\n\n{code}\nCould not evaluate: Execution of '/usr/bin/apt-mark manual /path/to/package.deb' returned 100: E: Unable to locate package /path/to/package.deb\n{code}\n\nPlease take a moment and attach any relevant log output and/or manifests. This will help us immensely when troubleshooting the issue.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22419", "fixedVersions": ["PUP 6.21.0", "PUP 7.4.0"], "id": "22419", "issueType": "Bug", "key": "PUP-10854", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "resolution": "Fixed", "resolutionDate": "2021-02-01T07:31:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "apt provider does not work with local packages", "timeSpent": "PT0S", "updated": "2021-06-14T14:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "6243b3c84fe01d006ba5c5e3", "body": "This also shows up when using `puppet facts show`:\n\n{code}\n# puppet facts show --debug --trace \n[ ...]\nDebug: Facter: List of resolvable facts: [#<Facter::SearchedFact:0x00000000040a4188 @name=\"operatingsystem\", @fact_class=Facts::Rhel::Os::Name, @filter_tokens=[], @user_query=\"operatingsystem\", @type=:legacy, @file=nil>]\nDebug: Facter: Resolving facts sequentially\nError: Could not autoload puppet/provider/service/init: undefined method `downcase' for nil:NilClass\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/service/init.rb:24:in `block in <top (required)>'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/classgen.rb:132:in `class_eval'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/classgen.rb:132:in `genthing'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/classgen.rb:33:in `genclass'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type.rb:1847:in `provide'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/service/init.rb:3:in `<top (required)>'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:78:in `load'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:78:in `load_file'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:182:in `load'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type.rb:1780:in `provider'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type.rb:1832:in `provide'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/service/redhat.rb:3:in `<top (required)>'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:78:in `load'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:78:in `load_file'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:93:in `block in loadall'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:91:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:91:in `loadall'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:196:in `loadall'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/metatype/manager.rb:126:in `block in newtype'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/concurrent/lock.rb:10:in `synchronize'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/metatype/manager.rb:73:in `newtype'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/service.rb:10:in `<module:Puppet>'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/service.rb:8:in `<top (required)>'\n/opt/puppetlabs/puppet/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'\n/opt/puppetlabs/puppet/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'\n/opt/puppetlabs/puppet/cache/lib/facter/service_provider.rb:11:in `<top (required)>'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/custom_facts/util/loader.rb:129:in `load'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/custom_facts/util/loader.rb:129:in `kernel_load'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/custom_facts/util/loader.rb:112:in `load_file'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/custom_facts/util/loader.rb:47:in `block (2 levels) in load_all'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/custom_facts/util/loader.rb:45:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/custom_facts/util/loader.rb:45:in `block in load_all'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/custom_facts/util/loader.rb:41:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/custom_facts/util/loader.rb:41:in `load_all'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/custom_facts/util/collection.rb:115:in `custom_facts'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/framework/core/fact_loaders/external_fact_loader.rb:22:in `load_custom_facts'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/framework/core/fact_loaders/external_fact_loader.rb:6:in `custom_facts'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/framework/core/fact_loaders/fact_loader.rb:70:in `load_external_facts'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/framework/core/fact_loaders/fact_loader.rb:25:in `load'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/framework/core/fact_manager.rb:51:in `parse_user_query'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/framework/core/fact_manager.rb:20:in `resolve_facts'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter.rb:385:in `values'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/framework/cli/cli.rb:126:in `arg_parser'\n/opt/puppetlabs/puppet/lib/ruby/gems/2.7.0/gems/thor-1.0.1/lib/thor/command.rb:27:in `run'\n/opt/puppetlabs/puppet/lib/ruby/gems/2.7.0/gems/thor-1.0.1/lib/thor/invocation.rb:127:in `invoke_command'\n/opt/puppetlabs/puppet/lib/ruby/gems/2.7.0/gems/thor-1.0.1/lib/thor.rb:392:in `dispatch'\n/opt/puppetlabs/puppet/lib/ruby/gems/2.7.0/gems/thor-1.0.1/lib/thor/invocation.rb:116:in `invoke'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter.rb:43:in `resolve'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/facts/facter.rb:107:in `find_with_options'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/facts/facter.rb:37:in `find'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:223:in `find'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/face/facts.rb:148:in `block (3 levels) in <top (required)>'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/interface/action.rb+eval[wrapper]:261:in `show'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/face_base.rb:254:in `main'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:437:in `run_command'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:421:in `block in run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:735:in `exit_on_fail'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:421:in `run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:143:in `run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:77:in `execute'\n/opt/puppetlabs/puppet/bin/puppet:5:in `<main>'\nError: Could not autoload puppet/provider/service/redhat: Could not autoload puppet/provider/service/init: undefined method `downcase' for nil:NilClass\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/service/init.rb:24:in `block in <top (required)>'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/classgen.rb:132:in `class_eval'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/classgen.rb:132:in `genthing'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/classgen.rb:33:in `genclass'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type.rb:1847:in `provide'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/service/init.rb:3:in `<top (required)>'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:78:in `load'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:78:in `load_file'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:182:in `load'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type.rb:1780:in `provider'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type.rb:1832:in `provide'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/service/redhat.rb:3:in `<top (required)>'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:78:in `load'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:78:in `load_file'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:93:in `block in loadall'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:91:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:91:in `loadall'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:196:in `loadall'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/metatype/manager.rb:126:in `block in newtype'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/concurrent/lock.rb:10:in `synchronize'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/metatype/manager.rb:73:in `newtype'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/service.rb:10:in `<module:Puppet>'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/service.rb:8:in `<top (required)>'\n/opt/puppetlabs/puppet/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'\n/opt/puppetlabs/puppet/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'\n/opt/puppetlabs/puppet/cache/lib/facter/service_provider.rb:11:in `<top (required)>'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/custom_facts/util/loader.rb:129:in `load'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/custom_facts/util/loader.rb:129:in `kernel_load'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/custom_facts/util/loader.rb:112:in `load_file'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/custom_facts/util/loader.rb:47:in `block (2 levels) in load_all'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/custom_facts/util/loader.rb:45:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/custom_facts/util/loader.rb:45:in `block in load_all'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/custom_facts/util/loader.rb:41:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/custom_facts/util/loader.rb:41:in `load_all'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/custom_facts/util/collection.rb:115:in `custom_facts'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/framework/core/fact_loaders/external_fact_loader.rb:22:in `load_custom_facts'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/framework/core/fact_loaders/external_fact_loader.rb:6:in `custom_facts'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/framework/core/fact_loaders/fact_loader.rb:70:in `load_external_facts'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/framework/core/fact_loaders/fact_loader.rb:25:in `load'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/framework/core/fact_manager.rb:51:in `parse_user_query'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/framework/core/fact_manager.rb:20:in `resolve_facts'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter.rb:385:in `values'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/framework/cli/cli.rb:126:in `arg_parser'\n/opt/puppetlabs/puppet/lib/ruby/gems/2.7.0/gems/thor-1.0.1/lib/thor/command.rb:27:in `run'\n/opt/puppetlabs/puppet/lib/ruby/gems/2.7.0/gems/thor-1.0.1/lib/thor/invocation.rb:127:in `invoke_command'\n/opt/puppetlabs/puppet/lib/ruby/gems/2.7.0/gems/thor-1.0.1/lib/thor.rb:392:in `dispatch'\n/opt/puppetlabs/puppet/lib/ruby/gems/2.7.0/gems/thor-1.0.1/lib/thor/invocation.rb:116:in `invoke'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter.rb:43:in `resolve'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/facts/facter.rb:107:in `find_with_options'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/facts/facter.rb:37:in `find'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:223:in `find'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/face/facts.rb:148:in `block (3 levels) in <top (required)>'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/interface/action.rb+eval[wrapper]:261:in `show'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/face_base.rb:254:in `main'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:437:in `run_command'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:421:in `block in run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:735:in `exit_on_fail'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:421:in `run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:143:in `run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:77:in `execute'\n/opt/puppetlabs/puppet/bin/puppet:5:in `<main>'\nError: Facter: error while resolving custom facts in /opt/puppetlabs/puppet/cache/lib/facter/service_provider.rb Could not autoload puppet/provider/service/redhat: Could not autoload puppet/provider/service/init: undefined method `downcase' for nil:NilClass\n{code}\n\nThe service provider should use the new facts.", "created": "2021-01-28T02:19:00.000000"}, {"author": "557058:d1bc408a-94c2-4178-bb29-6828d99b03d9", "body": "Is this change going in the coming agent release?", "created": "2021-02-05T10:38:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:d1bc408a-94c2-4178-bb29-6828d99b03d9]\u00a0This didn't make 7.4.0", "created": "2021-02-05T10:54:00.000000"}, {"author": "557058:d1bc408a-94c2-4178-bb29-6828d99b03d9", "body": "Thank you [~accountid:63d40628f6e1b543161789a7]. We will target the PE change for next release", "created": "2021-02-08T14:45:00.000000"}, {"author": "5abd613dd4cf3c56be24b70d", "body": "This is blocked until this is merged: [https://github.com/puppetlabs/pdk/pull/941]\u00a0and a new version of PDK is released.", "created": "2021-02-15T01:16:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/8660b32739ada447e32722f1e92e7086ce28737c and https://github.com/puppetlabs/puppet/commit/3af713aaf853d506d20759c3e9bb7af36e8cb663. Passed CI in 2056487938", "created": "2021-03-02T11:26:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "We're going to need to revert this change until we sort out the dotted name issue in facter (FACT-2958). I'm going to reopen this ticket, so we remember to do that.", "created": "2021-03-09T14:37:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Reverted in https://github.com/puppetlabs/puppet/commit/16d765db7e64d504bfe3d1570352f5226beb4924", "created": "2021-03-10T03:33:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Since puppet's builtin providers rely on legacy facts, e.g. the \"init\" provider relies on \"osfamily\", it's not really possible to block legacy facts in facter. Therefore, in Puppet 7.x, we're adding a puppet setting to control whether legacy facts are sent to puppetserver (PUP-11662). But puppet's providers will still be able to resolve specific legacy facts. Then in Puppet 8, we will switch puppet providers so they don't reference legacy facts and make it possible to exclude legacy facts by default (PUP-11430). As a result, I'm going to close this as a duplicate/superseded by PUP-11430.", "created": "2022-10-31T10:46:00.000000"}], "components": [], "created": "2021-01-13T11:39:00.000000", "creator": "557058:d1bc408a-94c2-4178-bb29-6828d99b03d9", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6a4a1c98"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-4664"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0cg0z:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "This change replaces all uses of legacy facts in Puppet with structured facts, which have been available since Facter 3. Also, the minimum Facter dependency for Puppet 7 was increased to Facter 4. "}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Jan/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_455483112_*|*_1_*:*_1_*:*_508977678_*|*_10007_*:*_1_*:*_165267775_*|*_3_*:*_3_*:*_10922283251_*|*_10009_*:*_1_*:*_49550642_*|*_5_*:*_1_*:*_566456669_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_2_*:*_1501421288_*|*_10005_*:*_2_*:*_42502177064"}], "description": "In puppet 7, when blocking legacy facts, puppet agent run will fail in PE trying to fetch the 'operatingsystem' fact [here|https://github.com/puppetlabs/puppet/blob/main/lib/puppet/provider/service/init.rb#L24] with following error\n{code}\n# puppet agent -t --debug\n...\nDebug: Facter: Loading internal facts\nDebug: Facter: Loading all internal facts\nDebug: Facter: Loading external facts\nDebug: Facter: Loading custom facts\nDebug: Facter: Loading external facts\nDebug: Facter: User query is: [\"operatingsystem\"]\nDebug: Facter: Query is operatingsystem\nDebug: Facter: Checking query tokens operatingsystem\nDebug: Facter: List of resolvable facts: []\nDebug: Facter: Resolving facts sequentially\nError: Could not autoload puppet/provider/service/init: undefined method `downcase' for nil:NilClass\nError: Could not autoload puppet/provider/service/bsd: Could not autoload puppet/provider/service/init: undefined method `downcase' for nil:NilClass\nError: Could not autoload puppet/type/service: Could not autoload puppet/provider/service/bsd: Could not autoload puppet/provider/service/init: undefined method `downcase' for nil:NilClass\nError: Could not retrieve catalog from remote server: Failed to deserialize Puppet::Resource::Catalog from rich_data_json: Could not autoload puppet/type/service: Could not autoload puppet/provider/service/bsd: Could not autoload puppet/provider/service/init: undefined method `downcase' for nil:NilClass\nWrapped exception:\nCould not autoload puppet/type/service: Could not autoload puppet/provider/service/bsd: Could not autoload puppet/provider/service/init: undefined method `downcase' for nil:NilClass\nWarning: Not using cache on failed catalog\nError: Could not retrieve catalog; skipping run\n...\n{code}", "epicLinkSummary": "Puppet 8", "estimate": "PT0S", "externalId": "26576", "fixedVersions": [], "id": "26576", "issueType": "Bug", "key": "PUP-10853", "labels": [], "originalEstimate": "PT0S", "parent": "57676", "parentSummary": "Puppet 8", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:d1bc408a-94c2-4178-bb29-6828d99b03d9", "resolution": "Duplicate", "resolutionDate": "2022-10-31T10:46:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "When blocking legacy facts in puppet7, puppet agent run fails to fetch 'operatingsystem' fact", "timeSpent": "PT0S", "updated": "2022-10-31T10:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/593f3c8d57036ce14c4e6155c5040651fc106430\n\nPassed CI in puppet#95ee122621", "created": "2021-01-15T15:53:00.000000"}], "components": [], "created": "2021-01-12T16:11:00.000000", "creator": "5b64ddd7d1e8dc2d916c6289", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1ce7b5f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05uls:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet no longer prints an error if fileserver.conf contains \"allow *\" rules. It will continue to print an error for all other rules, since puppet's legacy authorization is no longer supported and is completely superseded by puppetserver's authorization."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Jan/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_189480244_*|*_1_*:*_1_*:*_8371850_*|*_10007_*:*_1_*:*_60269915_*|*_6_*:*_1_*:*_0"}], "description": "The error {{Entry 'allow *' is unsupported and will be ignored}} shows up when upgrading to PE 2021 with Puppet 7.\u00a0 Since the file is managed to remove this entry once the puppet run that upgrades the primary completes ([https://github.com/puppetlabs/puppet-enterprise-modules/commit/e7659a96562dced9fdd09b850c5a7947bed7043c),] it would be great to be able to either suppress this message, or remove it if it is unnecessary.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25582", "fixedVersions": ["PUP 7.3.0"], "id": "25582", "issueType": "Task", "key": "PUP-10851", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5b64ddd7d1e8dc2d916c6289", "resolution": "Fixed", "resolutionDate": "2021-01-15T15:53:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Error \"Entry 'allow *' is unsupported and will be ignored\" shown during PE upgrade", "timeSpent": "PT0S", "updated": "2021-01-15T15:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6007ea942a6b66006902c024", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/309d69a16265f9d0672fd7c654bbfab6931998db and a follow up commit to restore the {{--show-legacy}} argument was added in https://github.com/puppetlabs/puppet/commit/a600c40f32cfbcf77d58ae19f62ff5710a7fe940\n\nPassed CI in 95ee12262", "created": "2021-01-15T15:58:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Hi [~accountid:6007ea942a6b66006902c024] this doesn't seem to be working as expected. Using puppet 7.3.0, the {{--no-legacy}} option is rejected:\n\n{noformat}\n$ git rev-parse HEAD\n3d4df020ea74ca5695e03229fa1279adf0dda3fa\n$ bx puppet facts show --no-legacy | jq .\nError: Could not parse application options: invalid option: --no-legacy\n{noformat}\n\nIt looks like https://github.com/puppetlabs/puppet/pull/8475 was merged first in https://github.com/puppetlabs/puppet/commit/49918bd5cc17a93bba14d2b9a94b44848fdb7b4d which added {{\\-\\-no-legacy}}, but it accidentally removed {{\\-\\-show-legacy}}.\n\nThe change to {{\\-\\-show-legacy}} broke other applications that call {{puppet facts show}}. So https://github.com/puppetlabs/puppet/pull/8478 restored {{\\-\\-show-legacy}} and that was merged in https://github.com/puppetlabs/puppet/commit/a600c40f32cfbcf77d58ae19f62ff5710a7fe940. \n\nUsing that version {{\\-\\-show-legacy}} and {{\\-\\-no-legacy}} are both accepted, but the latter doesn't omit legacy facts:\n\n{noformat}\n$ bx puppet facts show | jq .virtual\n\"physical\"\n$ bx puppet facts show --no-legacy | jq .virtual\n\"physical\"\n{noformat}\n\nThen https://github.com/puppetlabs/puppet/pull/8482 was merged, which removed the ability to specify {{\\-\\-no-legacy}}. So aren't we back where we started and this ticket isn't fixed? ", "created": "2021-01-19T16:08:00.000000"}, {"author": "6007ea942a6b66006902c024", "body": "Hi [~accountid:63d40628f6e1b543161789a7],\n\n\u00a0\n\nWe decided that is better to restore the behaviour as it was initially made. By default puppet facts show doesn't display legacy facts and the application has an opt-in mechanism for puppet facts through --show-legacy flag.", "created": "2021-01-20T00:35:00.000000"}, {"author": "623a4a598d8b9c0068b7e31a", "body": "The release notes should be fixed then.\n\n\"By default, puppet facts show displays all facts, including legacy facts. This release adds a --no-legacy option to disable legacy facts when querying all facts. PUP-10850\" -- https://puppet.com/docs/puppet/7.3/release_notes_puppet.html#release_notes_puppet", "created": "2021-01-20T13:07:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Ah I think part of my confusion is that {{virtual}} seems to always be emitted when showing legacy facts or not. Is that expected?\n\n{noformat}\n$ bx facter | grep '^virtual'\nvirtual => physical\n{noformat}\n\nIf I use a different legacy fact, then it seems to work as expected:\n\n{noformat}\n$ bx puppet facts show | jq .swapfree\nnull\n$ bx puppet facts show --show-legacy | jq .swapfree\n\"1.09 GiB\"\n{noformat}", "created": "2021-01-21T16:14:00.000000"}], "components": [], "created": "2021-01-11T08:34:00.000000", "creator": "6007ea942a6b66006902c024", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": ["ghost"]}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3bda0e60"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05hax:i"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "By default, 'puppet facts show' application displays all facts, including legacy facts.\nDescription of the fix: Fix the --show-legacy option and don't display legacy facts by default (only when the --show-legacy option is provided)."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Jan/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_22220_*|*_3_*:*_2_*:*_20943741_*|*_10009_*:*_2_*:*_289212789_*|*_5_*:*_2_*:*_62137277"}], "description": "*Puppet Version: 7.0.1*\n *Puppet Server Version: -*\u00a0\n *OS Name/Version: All*\n\nBy default\n{noformat}\npuppet facts show{noformat}\ndisplays legacy facts, there is an option (--show-legacy) that has no effect. There isn't any way to indicate puppet to not retrieve legacy facts.\n\n*Desired Behavior:*\n\n\u00a0By default {{puppet facts show}} does not display legacy facts, but they may be displayed using {{puppet facts show --show-legacy}}\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28720", "fixedVersions": ["PUP 7.3.0"], "id": "28720", "issueType": "Bug", "key": "PUP-10850", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6007ea942a6b66006902c024", "resolution": "Fixed", "resolutionDate": "2021-01-15T15:59:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Puppet facts show doesn't have an option to opt out of legacy facts", "timeSpent": "PT0S", "updated": "2021-01-21T16:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56]\u00a0great, added!", "created": "2021-05-21T03:52:00.000000"}], "components": [], "created": "2021-01-06T01:45:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@14540195"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3529"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o058w7:zi"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/May/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1770_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_12093633069"}], "description": "Update Public-facing Puppet docs to include this platform\n", "epicLinkSummary": "Add RedHat 8 Power FOSS support", "estimate": "PT0S", "externalId": "27690", "fixedVersions": [], "id": "27690", "issueType": "Task", "key": "PUP-10848", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": "58558", "parentSummary": "Add RedHat 8 Power FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Fixed", "resolutionDate": "2021-05-26T02:06:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Public-facing Puppet docs to include RedHat 8 Power", "timeSpent": "PT0S", "updated": "2021-05-26T02:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6007ea942a6b66006902c024", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "It makes sense to me to have facter4 {{facter --puppet <name>}} emit the value for a single fact in the same way as facter3/puppet6, so that users can easily upgrade.\n\nI'm less certain about cases where multiple fact values are generated, because the output format is non-standard. For example, given multiple fact names:\n\n{noformat}\n$ facter -p osfamily virtual\nosfamily => RedHat\nvirtual => vmware\n{noformat}\n\nOr structured facts:\n\n{noformat}\n$ facter -p os\n{\n  architecture => \"x86_64\",\n  family => \"RedHat\",\n  hardware => \"x86_64\",\n  name => \"RedHat\",\n  release => {\n    full => \"8.0\",\n    major => \"8\",\n    minor => \"0\"\n  },\n  selinux => {\n    enabled => false\n  }\n}\n{noformat}\n\nI think my preference (for the multi-fact cases) would be to error with non-zero exit status with a message to use {{puppet facts show [<fact1> ...]}}.", "created": "2021-01-05T16:48:00.000000"}, {"author": "557058:e0340dee-9d48-48c3-8c6a-02597af847c9", "body": "I'd be happy with something more shell-friendly.\n\nFor instance:\n * Single Fact => Just the Value\n * Complex Fact => JSON\n * Multi Fact => Something easy to parse (single value separator would be good so it can be run through {{cut}})\n\nIt's a bit confusing, but the 90% use case is a single fact for scripting. Facter knows what it's returning so this shouldn't be too bad to implement.", "created": "2021-01-05T16:59:00.000000"}, {"author": "5f5510c910d187006f1274d8", "body": "Tangential to this, the timing of these changes is going to complicate and slow migration to Puppet 7/Facter 4.\n\nMany folks use {{facter -p fact}} in various scripts and other tools. With puppet 6/facter 3, {{puppet facts show fact}} isn't workable, only {{facter -p fact}}. Puppet 7 adds a (mostly", "created": "2021-01-07T08:27:00.000000"}], "components": ["UX"], "created": "2021-01-05T14:07:00.000000", "creator": "5f5510c910d187006f1274d8", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": ["ghost"]}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5283c015"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05hb1:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Description of the problem: The output format is different between Facter and puppet facts when a query for a single fact is provided:\n~~ puppet facts facterversion\n{ \"facterversion\": \"4.0.47\" }\nvs\n~~ facter facterversion\n4.0.47\nDescription of the fix:\nAdded --value-only command argument:\nWhen there is a single query, only display the value of the fact without it's name:\n~~ puppet facts facterversion --value-only\n\"4.0.47\"\nAlso this generates a warning message if the argument is used with multiple queries or with no query at all:\npuppet facts show facterversion os --value-only\nWarning: Incorrect use of --value-only argument! The argument can only be used when querying for a single fact\n\nAdded flat render format:\nWhen there is a query for a simple fact:\npuppet facts show facterversion --render-as flat\nfacterversion=4.0.47\nand with --value-only\npuppet facts show facterversion --render-as flat --value-only\n4.0.47\n\nWhen there is a query for a more complex fact (ex. os) the output will be:\n\n~~ puppet facts os --render-as flat\nos.architecture=x86_64\nos.family=Darwin\nos.hardware=x86_64\nos.macosx.build=18G95\nos.macosx.product=Mac OS X\nos.macosx.version.full=10.14.6\nos.macosx.version.major=10.14\nos.macosx.version.minor=6\nos.name=Darwin\nos.release.full=18.7.0\nos.release.major=18\nos.release.minor=7\nand with --value-only\n\n~~ puppet facts os --render-as flat --value-only\narchitecture=x86_64\nfamily=Darwin\nhardware=x86_64\nmacosx.build=18G95\nmacosx.product=Mac OS X\nmacosx.version.full=10.14.6\nmacosx.version.major=10.14\nmacosx.version.minor=6\nname=Darwin\nrelease.full=18.7.0\nrelease.major=18\nrelease.minor=7\nFor multiple user queries the output is :\n\n~~ puppet facts show os.name facterversion --render-as flat\nfacterversion=4.0.47\nos.name=Darwin\nWhen the result is an array, the index of each element is also displayed:\n\n~~ puppet facts show processors.models --render-as flat\nprocessors.models.0=Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz\nprocessors.models.1=Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz\nprocessors.models.2=Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz\nprocessors.models.3=Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz\nprocessors.models.4=Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz\nprocessors.models.5=Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz\nprocessors.models.6=Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz\nprocessors.models.7=Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz\n~~ puppet facts show networking.interfaces.interface_name.bindings6 --render-as flat --value-only\n0.address=fe80::...\n0.netmask=ffff:ffff:ffff:ffff::\n0.network=fe80::\n0.scope6=link"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Jan/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_3452212_*|*_1_*:*_1_*:*_225522279_*|*_10009_*:*_1_*:*_844944310_*|*_5_*:*_1_*:*_0"}], "description": "*Puppet Version:* {{7.1}}\n*OS Name/Version:* macOS 11.1\n\nThe output of \"{{puppet facts show _somefact_}}\" is not the same as \"{{facter _somefact_}}\", as it returns JSON, which requires subsequent parsing to get the the fact value.\n\nWe use \"{{facter --puppet _somefact_}}\" quite a bit in non-puppet code, such as shell and python scripts and other internal management utilities. This is a strongly complicating issue in a migration from facter 3/puppet 6 to facter 4/puppet 7: \"{{facter --puppet}}\" no longer works in Facter 4, and I believe \"{{puppet facts show _somefact_}}\" only works in Puppet 7.\n\nThis will mean all the various places we use \"{{facter --puppet _somefact_}}\" will have to have a case on the puppet version and then call \"{{facter --puppet _somefact_}}\" or \"{{puppet facts show _somefact_}}\" as appropriate. And we'll have to do extra processing on the output of \"{{puppet facts show}}\", as it sends JSON.\n\n*Desired Behavior:*\n{quote}\n$ puppet facts show facterversion\n4.0.47\n$ facter facterversion\n4.0.47\n{quote}\n\n*Actual Behavior:*\n{quote}\n$ puppet facts show facterversion\n\\{\n  \"facterversion\": \"4.0.47\"\n}\n$ facter facterversion\n4.0.47\n{quote}\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21326", "fixedVersions": ["PUP 7.3.0"], "id": "21326", "issueType": "Bug", "key": "PUP-10847", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5f5510c910d187006f1274d8", "resolution": "Fixed", "resolutionDate": "2021-01-18T00:26:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "\"puppet facts show fact\" output differs from \"facter fact\"", "timeSpent": "PT0S", "updated": "2021-01-20T03:22:00.000000", "votes": "2", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Hi [~accountid:557058:ff3d0239-56d5-40f1-8e43-ad479129f753] sorry but I'm having trouble following what the problem is that you're trying to solve?", "created": "2021-01-08T14:36:00.000000"}, {"author": "557058:ff3d0239-56d5-40f1-8e43-ad479129f753", "body": "Avoid creating separate files from the directory of each submodule. It is a matter of order. Puppet works via configuration in code and it is not normal or intuitive that in a code you should declare a class outside the directory of the component or package. In all existing programming languages there is a package or component index but puppet does not have one and it is also not possible to create a constructor within the same directory due to file name conflicts. It should by default take the name of the main class of the subdirectory when the file name is an index type name such as \"init.pp\".", "created": "2021-01-08T14:53:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "If you have a module {{foo}}, with a name space {{zoo}} having classes {{lion}} and {{tiger}} you can organize them like this:\n{code}\n.\n\u2514\u2500\u2500 foo\n    \u2514\u2500\u2500 manifests\n        \u251c\u2500\u2500 zoo\n        \u2502   \u251c\u2500\u2500 lion.pp\n        \u2502   \u2514\u2500\u2500 tiger.pp\n        \u251c\u2500\u2500 init.pp\n        \u2514\u2500\u2500 zoo.pp\n{code}\nAnd your {{foo::zoo::lion}} and {{foo::zoo::tiger}} classes should both use {{include foo::zoo}}. The only thing you are not getting is the \"magic\" processing of the {{init.pp}} which is done only at the module level. \n\nWhat is it you cannot do with this?", "created": "2021-01-10T08:03:00.000000"}, {"author": "557058:ff3d0239-56d5-40f1-8e43-ad479129f753", "body": "With the constructor idea:\n{code:java}\nfoo\n\u251c\u2500\u2500 bar\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 init.pp\n\u251c\u2500\u2500 init.pp\n\u2514\u2500\u2500 zoo\n    \u251c\u2500\u2500 cat\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 access.pp\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 food.pp\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 init.pp\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 security.pp\n    \u251c\u2500\u2500 catdog\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 access.pp\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 food.pp\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 init.pp\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 security.pp\n    \u251c\u2500\u2500 dog\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 access.pp\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 food.pp\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 init.pp\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 security.pp\n    \u251c\u2500\u2500 fish\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 access.pp\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 food.pp\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 init.pp\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 security.pp\n    \u251c\u2500\u2500 init.pp\n    \u251c\u2500\u2500 lion\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 access.pp\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 food.pp\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 init.pp\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 security.pp\n    \u251c\u2500\u2500 monkey\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 access.pp\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 food.pp\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 init.pp\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 security.pp\n    \u251c\u2500\u2500 phanter\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 access.pp\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 food.pp\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 init.pp\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 security.pp\n    \u2514\u2500\u2500 tiger\n        \u251c\u2500\u2500 access.pp\n        \u251c\u2500\u2500 food.pp\n        \u251c\u2500\u2500 init.pp\n        \u2514\u2500\u2500 security.pp\n\n{code}\nWith the native puppet structure:\n{code:java}\nfoo\n\u251c\u2500\u2500 bar.pp\n\u251c\u2500\u2500 init.pp\n\u251c\u2500\u2500 zoo\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 cat\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 access.pp\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 food.pp\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 security.pp\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 catdog\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 access.pp\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 food.pp\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 security.pp\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 catdog.pp\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 cat.pp\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 dog\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 access.pp\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 food.pp\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 security.pp\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 dog.pp\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 fish\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 access.pp\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 food.pp\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 security.pp\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 fish.pp\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 lion\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 access.pp\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 food.pp\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 security.pp\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 lion.pp\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 monkey\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 access.pp\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 food.pp\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 security.pp\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 phanter\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 access.pp\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 food.pp\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 security.pp\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 phanter.pp\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 tiger\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 access.pp\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 food.pp\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 security.pp\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 tiger.pp\n\u2514\u2500\u2500 zoo.pp\n{code}\nWhen you have many submodules you notice the difference, the native structure looks very messy, you must necessarily search for the same submodule in multiple directories instead of using just one. The idea is that if you need to create a submodule you create a directory and there you should write all the class logic, if you need to delete it you simply delete the directory, but with the current structure you must have loose files outside the directory of each submodule.\n\n\u00a0", "created": "2021-01-14T14:48:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Ah ok, so you're saying the problem now is you have to create a file {{cat.pp}} and directory {{cat}} at the same level:\n\n{noformat}\nfoo\n\u251c\u2500\u2500 zoo\n\u2502   \u251c\u2500\u2500 cat\n\u2502   \u2502   \u251c\u2500\u2500 access.pp\n\u2502   \u2502   \u251c\u2500\u2500 food.pp\n\u2502   \u2502   \u2514\u2500\u2500 security.pp\n\u2502   \u251c\u2500\u2500 cat.pp\n{noformat}\n\nAnd it would be cleaner if the {{cat.pp}} file was replaced with {{init.pp}} inside of the {{cat}} directory. That way the module is self-contained within the directory and could easily be deleted. And it avoids the messy output where {{cat}} and {{catdog}} files are interleaved do to the default way {{tree}} lists directories followed by files:\n\n{noformat}\nzoo\n\u251c\u2500\u2500 cat\n\u251c\u2500\u2500 catdog\n\u251c\u2500\u2500 catdog.pp\n\u2514\u2500\u2500 cat.pp\n{noformat}\n\nThat all makes sense, but I think it's unlikely we'd implement that given other priorities.", "created": "2021-09-13T23:17:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "{color:#000000}Thank you for filing this issue. We agree it is likely an improvement, but due to other issues demanding precedence, we don\u2019t anticipate being able to address this any time soon. As such we are closing this as \u201cWon\u2019t Fix.\u201d We may revisit it at a later time, and if so will re-open this ticket.{color}", "created": "2021-10-01T07:16:00.000000"}], "components": ["Language"], "created": "2021-01-02T13:47:00.000000", "creator": "557058:ff3d0239-56d5-40f1-8e43-ad479129f753", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3b511204"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05o5c:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Jan/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_521331725_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_22952349755_*|*_10006_*:*_1_*:*_11373"}], "description": "By example, i have a custom module, by example \"thecompany\" and have multiple submodules like as helpers for apache:\n\n\u00a0\n{code:java}\n.\n\u2514\u2500\u2500 develrox\n    \u2514\u2500\u2500 manifests\n     \u00a0\u00a0 \u251c\u2500\u2500 httpd\n     \u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 vhost.pp\n        \u251c\u2500\u2500 httpd.pp\n     \u00a0\u00a0 \u2514\u2500\u2500 init.pp\n{code}\n\u00a0\n\nNow, call from node like as:\n\n\u00a0\n{code:java}\n# Install basic requirements\n{ thecompany : }\n\n# Install apache server with custom settings\n{ thecompany::httpd : }\n\n# Made a new vhost with custom modsecurity rules\n{ thecompany::httpd::vhost :\n    foo  => bar\n}\n{code}\n\u00a0\n\nThe httpd module have a custom base settings and vhost have a custom settings for all vhosts, files for mod security, etc.\n\nThe problem is: have a httpd.pp file out of https subfolder, when have multiple submodules is hard manage, have multiple files and multiple folders with same name for other functions.\n\nThe idea: implement a constructor file for each subdirectory module, by example:\n{code:java}\n.\n\u2514\u2500\u2500 thecompany\n    \u2514\u2500\u2500 manifests\n     \u00a0\u00a0 \u251c\u2500\u2500 httpd\n     \u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 init.pp\n     \u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 vhost.pp\n     \u00a0\u00a0 \u2514\u2500\u2500 init.pp\n{code}\nIn thecompany/manifests/httpd/init.pp create the constructor class like as\n{code:java}\nclass thecompany::httpd { ... }{code}\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25581", "fixedVersions": [], "id": "25581", "issueType": "New Feature", "key": "PUP-10846", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ff3d0239-56d5-40f1-8e43-ad479129f753", "resolution": "Won't Fix", "resolutionDate": "2021-10-01T07:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Add a subdirectory constructor for modules", "timeSpent": "PT0S", "updated": "2021-10-01T07:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "We're shipping ruby 2.7.1 in puppet-agent 7, and interestingly the behavior is different in ruby 2.7.1 vs 2.7.2:\n\n{noformat}\n$ bx ruby --version && rspec spec/integration/parser/node_spec.rb\nruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin18]\nRun options: exclude {:broken=>true, :benchmark=>true}\n/Users/josh/work/puppet/lib/puppet/pops/model/ast_transformer.rb:34: warning: Using the last argument as keyword parameters is deprecated", "created": "2021-01-04T12:59:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/c79800295e3ea2dbf8f48bc8d361b2198d455af8", "created": "2021-01-06T13:00:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in fdeab5be29364dd7210327ef901eb7d39f7cde35", "created": "2021-01-11T18:54:00.000000"}], "components": [], "created": "2020-12-30T07:53:00.000000", "creator": "623c16e6a2f6400069eb7e2d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@22f53fde"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05nyo:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Eliminates ruby 2.7.x warnings when running \"puppet apply\" with node statements"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Jan/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_453296915_*|*_1_*:*_1_*:*_473525597_*|*_10007_*:*_1_*:*_149672489_*|*_5_*:*_1_*:*_0"}], "description": "*Puppet Version:* 7.1.0\n*Puppet Server Version:* -\n*OS Name/Version:* Windows 10 x64 20H2\n\nCreate a {{main.pp}} with the following contents (anywhere on your disk):\n\n{code:puppet}\nnode default {\n}\n{code}\n\nRun:\n\n{code}\npuppet apply main.pp\n{code}\n\n*Desired Behavior:*\n\nNo warnings should be shown.\n\n*Actual Behavior:*\n\nThe following warnings are displayed:\n\n{code}\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/pops/model/ast_transformer.rb:34: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/leaf.rb:29: warning: The called method `initialize' is defined here\n{code}\n\nIf you guys need any additional information, I'd happy to provide them.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25565", "fixedVersions": ["PUP 6.20.0", "PUP 7.3.0"], "id": "25565", "issueType": "Bug", "key": "PUP-10845", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c16e6a2f6400069eb7e2d", "resolution": "Fixed", "resolutionDate": "2021-01-11T18:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "puppet apply creates warnings (since 7.x)", "timeSpent": "PT0S", "updated": "2021-01-13T07:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "attachments": [{"attacher": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "created": "2021-03-03T05:45:00.000000", "name": "puppet.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11793"}], "comments": [{"author": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "body": "After some digging around on versions 5.5 21, 6.13.0, 6.14.0 and the newly released 6.20.0, only 6.14.0 did some things different.\n\nOn 6.14.0, when a server failed midrun, the current running part would fail (like Retrieving pluginfacts, or\u00a0Retrieving facts) and the code would continue to the next part(Retrieving locales) where it would check again for an available server, choosing the next functional server from server_list. I think this is not the intended functionality, as it could cause some sort of mix between catalogs from different servers.\n\n\u00a0\n{code:java}\n[root@blue-bumper ~]# puppet --version\n6.14.0\n[root@blue-bumper ~]# puppet agent -t --debug\n...\nDebug: Creating new connection for https://past-medication.delivery.puppetlabs.net:8140\nDebug: Starting connection for https://past-medication.delivery.puppetlabs.net:8140\nError: Could not retrieve catalog from remote server: Request to https://past-medication.delivery.puppetlabs.net:8140/puppet/v3/catalog/blue-bumper.delivery.puppetlabs.net?environment=production failed after 0.001 seconds: Failed to open TCP connection to past-medication.delivery.puppetlabs.net:8140 (Connection refused - connect(2) for \"past-medication.delivery.puppetlabs.net\" port 8140)\nWrapped exception:\nFailed to open TCP connection to past-medication.delivery.puppetlabs.net:8140 (Connection refused - connect(2) for \"past-medication.delivery.puppetlabs.net\" port 8140)\nWarning: Not using cache on failed catalog\nError: Could not retrieve catalog", "created": "2021-01-26T06:07:00.000000"}, {"author": "5e3375e183d74c0e821851f3", "body": "[~accountid:63d40628f6e1b543161789a7] and [~accountid:70121:b92a8953-f29c-406d-a628-2e9b7468e50d] Thank you for looking into this deeper and providing some great analysis. I think you are correct with the desired behavior and we should close this ticket.", "created": "2021-01-26T09:13:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:5e3375e183d74c0e821851f3] sounds good. Also to summarize this issue, the current 6.x behavior matches how 5.x worked. It just so happened that 6.14.0 would process {{server_list}} for every REST request, regardless of whether the previous request succeeded or not.\n", "created": "2021-01-26T09:29:00.000000"}, {"author": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "body": "That's not my experience, I have 6.19.1 in PE2019.8.4 and each time I have to restart primary server for patching or other maintenance, dozens of agents fail, which defeats the purpose of HA.\nWhen we had PE 2018.1.x, agents have worked without failures", "created": "2021-02-18T09:56:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "[~accountid:557058:be86c7d6-2807-42d3-9715-80da0cf607cd] reports this is still happening in his install.  He's going to report back when he upgrades to PE 2019.8.5 if this is still happening.  \n\nhttps://puppetcommunity.slack.com/archives/C19V5U41Z/p1614367346057400?thread_ts=1614298236.054400&cid=C19V5U41Z", "created": "2021-02-26T12:26:00.000000"}, {"author": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "body": "I have upgraded non-prod environment and non-prod nodes and problem persists in PE2019.8.5 with puppet 6.21.1. The root cause, which was in the ticket description maybe not accurate, but they method [~accountid:5e3375e183d74c0e821851f3]\u00a0used is still valid.\n\nI extracted events from splunk after I shutdown pe-puppetserver on the primary\n\n[^puppet.txt]\n\n\u00a0\n\nWhat even worse, agents continue to fail until I bring primary online. replica seems ignored completely\n\n\u00a0", "created": "2021-03-03T05:36:00.000000"}, {"author": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "body": "Something occurred to me. Is it possible the problem is on 'presentation' side and not on functionality?\n\nI looked through puppetserver.log on the replica and I do see nodes connecting to it during primary shutdown:\n{noformat}\n2021-03-03T07:27:53.295-05:00 INFO\u00a0 [qtp1835431929-14632] [puppetserver] Puppet Not using expired facts for pubtstx-web104.example.com from cache", "created": "2021-03-03T06:34:00.000000"}, {"author": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "body": "I think now I understand what the issue was:\n\nWhen puppet processes server_list and tries to find a functional server, it go through each server, and if it cannot connect it throws an error, but it still moves on to the next server in server_list.\n\nNow it only throws a warning for each server it cannot connect to, and if no server from server_list is functional, then it throws an error.\n{code:java}\n[root@twin-federalism puppet]# puppet config print server_list\nfull-maturation.delivery.puppetlabs.net,crash-leapfrog.delivery.puppetlabs.net\n[root@twin-federalism puppet]# puppet agent -t\nWarning: Unable to connect to server from server_list setting: Request to https://full-maturation.delivery.puppetlabs.net:8140/status/v1/simple/server failed after 0.002 seconds: Failed to open TCP connection to full-maturation.delivery.puppetlabs.net:8140 (Connection refused - connect(2) for \"full-maturation.delivery.puppetlabs.net\" port 8140) Trying with next server from server_list.\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Loading facts\nInfo: Caching catalog for twin-federalism.delivery.puppetlabs.net\nInfo: Applying configuration version '1618915174'\nNotice: Applied catalog in 0.04 seconds{code}\n\u00a0", "created": "2021-04-20T04:42:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in\u00a0https://github.com/puppetlabs/puppet/commit/cd615a0abbe321549fcc85a3a723f5969c269ff2", "created": "2021-04-23T11:01:00.000000"}, {"author": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "body": "I have upgraded non-prod infrastructure to 2019.8.7 and agents to 6.23.0. RedHat Linux agents produce the following log entry, but run succeeds :\n\u00a0\n{noformat}\nJun 26 13:05:38 sdltstx-jira902 puppet-agent[23647]: Unable to connect to server from server_list setting: Request to https://infdevx-puppet202.example.com:8140/status/v1/simple/master failed after 0.007 seconds: Failed to open TCP connection to infdevx-example202.bnaint.com:8140 (Connection refused - connect(2) for \"infdevx-example202.bnaint.com\" port 8140) Trying with next server from server_list.\n{noformat}\n\nWindows nodes, unfortunately, still fail\n\n\n{noformat}\nCould not retrieve catalog from remote server: Request to https://infdevx-puppet202.example.com:8140/puppet/v3/catalog/infdevw-mdt001.example.com?environment=windows_development failed after 1.027 seconds: Failed to open TCP connection to infdevx-puppet202.example.com:8140 (No connection could be made because the target machine actively refused it. - connect(2) for \"infdevx-puppet202.example.com\" port 8140)\n\nWrapped exception:\n\nFailed to open TCP connection to infdevx-puppet202.example.com:8140 (No connection could be made because the target machine actively refused it. - connect(2) for \"infdevx-puppet202.example.com\" port 8140)\n{noformat}\n\u00a0\n", "created": "2021-06-26T11:22:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:557058:be86c7d6-2807-42d3-9715-80da0cf607cd], we created a new ticket to track Windows specific error (https://puppet.atlassian.net/browse/PUP-11134)", "created": "2021-06-29T09:26:00.000000"}], "components": [], "created": "2020-12-22T09:06:00.000000", "creator": "5e3375e183d74c0e821851f3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3d489e71"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Customer Feedback"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05m9c:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "When puppet processes server_list and tries to find a functional server, it go through each server, and if it cannot connect it throws an error, but it still moves on to the next server in server_list.\n\nNow it only throws a warning for each server it cannot connect to, and if no server from server_list is functional, then it throws an error."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "40535"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Jan/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_396749259_*|*_1_*:*_1_*:*_1208641906_*|*_10007_*:*_1_*:*_281870524_*|*_3_*:*_2_*:*_1371174337_*|*_4_*:*_2_*:*_5389092652_*|*_5_*:*_2_*:*_7767134394_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_514432602"}], "description": "*Puppet Version:* 6.15.0+\n*Puppet Server Version:* 6.x\n*OS Name/Version:* Any\n\nAfter the changes in 6.15.0 the server_list setting has different behavior. Previously when server_list was configured and the first puppetserver in the list failed, the agent would continue to run by connecting to the next puppetserver on the list. In 6.15.0, if the primary puppetserver fails while an agent is running, it results in a failed agent run.\n\n*Desired Behavior:*\nWhen the first puppetserver in the server_list goes offline, the agents should automatically try to connect to the second puppetserver in the server_list even if it is mid agent run.\n\n*Actual Behavior:*\nThe agent run fails if the first puppetserver in the server_list goes offline while the agent is in the middle of a run. \n\nSome failures are below.\n\n{noformat}\nCould not evaluate: Could not retrieve file metadata for puppet:///pe_packages/2019.8.1/windows-x86_64/puppet-agent-x64.msi: Request to https://primary.example.com:8140/puppet/v3/file_metadata/pe_packages/2019.8.1/windows-x86_64/puppet-agent-x64.msi?links=manage&checksum_type=sha256lite&source_permissions=ignore&environment=windows_testing failed after 21.011 seconds: Failed to open TCP connection to primary.example.com:8140 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - connect(2) for \"primary.example.com\" port 8140)\n{noformat}\n\n{noformat}\npuppet-agent[7053]: Could not retrieve catalog from remote server: Request to https://primary.example.com:8140/puppet/v3/catalog/agent.example.com?environment=development failed after 0.004 seconds: Failed to open TCP connection to primary.example.com:8140 (Connection refused - connect(2) for \"primary.example.com\" port 8140)\n{noformat}\n\n*Reproduction*\n1. Configure the server_list for two Puppetservers\n2. Configure 10 agents with the server_list and a run interval of a minute\n3. Shutdown the Puppetserver service on the first server in the server_list\n\nLikely one of the agents will have the failure. It seems to be more reproducible with file resources inside the catalog.\n\nWe believe this is related to the changes in PUP-10363", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28718", "fixedVersions": ["PUP 6.23.0", "PUP 7.7.0"], "id": "28718", "issueType": "Bug", "key": "PUP-10844", "labels": ["doc-reviewed", "jira_escalated", "platform_7.2"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5e3375e183d74c0e821851f3", "resolution": "Fixed", "resolutionDate": "2021-07-06T08:38:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Agent failures with server_list when one puppetserver fails", "timeSpent": "PT0S", "updated": "2021-07-06T08:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Some background on the \"production\" directory. When directory environments were introduced in puppet 3.x, \"production\" was a hardcoded default, and had to exist on the filesystem somewhere, so PUP-2519 and https://github.com/puppetlabs/puppet/commit/8e70dd65a5d5d57b97ca1ae0ff588a232e06bb21#diff-feceffda334b8cc3287b33394350b4ec29a27ae6efad4bbd188e9c892f7107acR1089-R1102 created it.\n\nHowever, puppet could run into problems when running {{puppet config}} and other CLI applications that don't need an environment directory. In PUP-6739, we introduced the idea of an {{environment_mode}}, so that applications could opt-out, e.g. {{puppet help}}, {{puppet agent}}, {{puppet plugin}}, etc. See also PUP-10796.\n\nI think ideally we would never create the \"production\" directory. but I don't know what assumptions may be built up around that.", "created": "2021-01-11T19:22:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in puppet#95ee122621", "created": "2021-01-15T15:51:00.000000"}], "components": [], "created": "2020-12-21T05:05:00.000000", "creator": "5bb243ee607be0205f96d28d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@9a46e79"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05log:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The `production` environment folder used to be automatically created, at every Puppet run, in the first search path (given in the 'environmentpath' setting) if it did not already exist there. This fix makes sure to search through all the given paths before creating any new `production` environment folder."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "42471"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Jan/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_36374355_*|*_1_*:*_1_*:*_1309032019_*|*_10007_*:*_1_*:*_188987039_*|*_3_*:*_1_*:*_576570799_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_87750387"}], "description": "*Tested on the below but likely occurs in every version since\u00a0PUP-2519 was added*\n\n*Puppet Version:*\u00a05.5.22**\n *Puppet Server Version: 2018.1.18*\n *OS Name/Version: centos7*\n\nAdd environmentpath setting to puppet.conf with multiple paths set.\n\nE.g:\n\nenvironmentpath = /home/puppet/projects:/etc/puppetlabs/code/environments\n\nPuppet will create an empty folder production under\u00a0/home/puppet/projects resulting in\u00a0/etc/puppetlabs/code/environments/production getting ignored and no classes getting picked up for production\n\n*Desired Behavior:*\n\nPuppet should check all environment paths for a production folder before creating one.\n\n*Actual Behavior:*\n\n\u00a0Puppet creates a production folder the first environment path and ignores the 2nd", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21325", "fixedVersions": ["PUP 6.20.0", "PUP 7.3.0"], "id": "21325", "issueType": "Bug", "key": "PUP-10842", "labels": ["doc_reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5bb243ee607be0205f96d28d", "resolution": "Fixed", "resolutionDate": "2021-01-15T15:51:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Issue with puppet creating production folder when multiple environment paths are set", "timeSpent": "PT0S", "updated": "2021-01-26T23:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This was already done in PUP-10509", "created": "2020-12-17T12:18:00.000000"}], "components": [], "created": "2020-12-17T12:15:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@19a03754"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05kx4:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_207390_*|*_6_*:*_1_*:*_0"}], "description": "puppet#main includes several monkey patches for ruby < 2.5, eg. OpenSSL, Enumerable, etc. Now that puppet#main requires ruby 2.5 or greater many of those monkey patches can be removed.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26573", "fixedVersions": [], "id": "26573", "issueType": "Bug", "key": "PUP-10841", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Duplicate", "resolutionDate": "2020-12-17T12:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Remove ruby < 2.5 monkey patches", "timeSpent": "PT0S", "updated": "2020-12-17T12:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/fc1ece9b36205239a89f13c2c5f7feffc1cb3e6f", "created": "2021-01-04T12:16:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in\u00a0fc1ece9b36205239a89f13c2c5f7feffc1cb3e6f", "created": "2021-01-05T15:25:00.000000"}], "components": [], "created": "2020-12-17T12:14:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1638342a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05kwo:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Removes unnecessary workaround when cleaning file paths as ruby 1.9 is no longer supported."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_97745267_*|*_1_*:*_1_*:*_321709_*|*_10007_*:*_1_*:*_1472045946_*|*_3_*:*_1_*:*_82960360_*|*_5_*:*_1_*:*_0"}], "description": "Ruby 1.9 Pathname#cleanpath did not work correctly on windows. https://bugs.ruby-lang.org/issues/9618 This was fixed in ruby 2.0. Puppet 6.x requires ruby 2.3 or greater, so we should remove our workaround.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24460", "fixedVersions": ["PUP 6.20.0", "PUP 7.3.0"], "id": "24460", "issueType": "Bug", "key": "PUP-10840", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-01-05T15:25:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Remove Pathname#cleanpath workaround", "timeSpent": "PT0S", "updated": "2021-01-13T07:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-12-16T12:54:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6b881470"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10830"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05jmg:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1000_*|*_3_*:*_1_*:*_684788023_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3132899237"}], "description": "(Initial planned release date: 2021-01-19)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2021-01-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "27689", "fixedVersions": [], "id": "27689", "issueType": "Task", "key": "PUP-10839", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26680", "parentSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-01-29T17:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 7.2.0)", "timeSpent": "PT0S", "updated": "2021-01-29T17:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-12-16T12:54:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3b48bc61"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10830"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05jm8:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1029_*|*_3_*:*_1_*:*_39346_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3132858370"}], "description": "(Initial planned release date: 2021-01-19)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n", "duedate": "2021-01-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "26682", "fixedVersions": [], "id": "26682", "issueType": "Task", "key": "PUP-10838", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26680", "parentSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-01-21T19:09:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 7.2.0)", "timeSpent": "PT0S", "updated": "2021-01-21T19:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61d4868af63ac800706ebb62", "attachments": [], "comments": [], "components": [], "created": "2020-12-16T12:54:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@43a7ba21"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10830"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05jm0:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1070_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_3638752270"}], "description": "(Initial planned release date: 2021-01-19)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 7.2.0 is now available\".\n", "duedate": "2021-01-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "25564", "fixedVersions": [], "id": "25564", "issueType": "Task", "key": "PUP-10837", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26680", "parentSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-01-27T15:40:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Send release announcement (Puppet Platform 7.2.0)", "timeSpent": "PT0S", "updated": "2021-01-27T15:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [], "components": [], "created": "2020-12-16T12:54:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@68a718d1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10830"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05jlk:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1086_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3070295064"}], "description": "(Initial planned release date: 2021-01-19)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2021-01-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "23401", "fixedVersions": [], "id": "23401", "issueType": "Task", "key": "PUP-10836", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26680", "parentSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-01-21T01:45:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 7.2.0)", "timeSpent": "PT0S", "updated": "2021-01-21T01:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-12-16T12:54:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@16f205da"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10830"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05jlc:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1015_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3115661602"}], "description": "(Initial planned release date: 2021-01-19)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2021-01-18T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "22418", "fixedVersions": [], "id": "22418", "issueType": "Task", "key": "PUP-10835", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26680", "parentSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-01-21T14:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 7.2.0)", "timeSpent": "PT0S", "updated": "2021-01-21T14:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [], "components": [], "created": "2020-12-16T12:54:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@a97b4b8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10830"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05jkw:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1004_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3162039676"}], "description": "(Initial planned release date: 2021-01-19)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2021-01-18T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "20277", "fixedVersions": [], "id": "20277", "issueType": "Task", "key": "PUP-10834", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26680", "parentSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-01-22T03:14:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Prepare release announcement (Puppet Platform 7.2.0)", "timeSpent": "PT0S", "updated": "2021-01-22T03:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:5b9fcedc03b52466f05c4510] [~accountid:5abd613dd4cf3c56be24b70d] Please see a draft of the Puppet 7.2.0 and Facter\u00a04.0.48 here:\u00a0\n\n[https://docs.google.com/document/d/1jttwqo-uQwIt3yFQYsa7hs_SwFp-SZls_tSATgD9AvM/edit?usp=sharing]\n\nLet me know if you want me to make any changes. Thanks!", "created": "2021-01-18T04:42:00.000000"}], "components": [], "created": "2020-12-16T12:54:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5c41ccd6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10830"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05jko:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Jan/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1168_*|*_3_*:*_1_*:*_86894476_*|*_10009_*:*_1_*:*_674223093_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2400956183"}], "description": "(Initial planned release date: 2021-01-19)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2021-01-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "29771", "fixedVersions": [], "id": "29771", "issueType": "Task", "key": "PUP-10833", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26680", "parentSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-01-22T03:15:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 7.2.0)", "timeSpent": "PT0S", "updated": "2021-01-22T03:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-12-16T12:54:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@22c90c1c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10830"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05jkg:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1195_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3115682187"}], "description": "(Initial planned release date: 2021-01-19)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2021-01-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "28717", "fixedVersions": [], "id": "28717", "issueType": "Task", "key": "PUP-10832", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26680", "parentSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-01-21T14:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 7.2.0)", "timeSpent": "PT0S", "updated": "2021-01-21T14:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-12-16T12:54:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7278e312"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10830"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05jk8:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1294_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3115690122"}], "description": "(Initial planned release date: 2021-01-19)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 7.2.0 and puppet-agent 7.2.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2021-01-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "27688", "fixedVersions": [], "id": "27688", "issueType": "Task", "key": "PUP-10831", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26680", "parentSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-01-21T14:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 7.2.0)", "timeSpent": "PT0S", "updated": "2021-01-21T14:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-12-16T12:54:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7422e499"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-4"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 7.2.0 Release - 2021-01-20"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_blue"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05jk0:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3817773212_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 7.2.0 Release - 2021-01-20", "duedate": "2021-01-20T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26680", "fixedVersions": [], "id": "26680", "issueType": "Epic", "key": "PUP-10830", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-01-29T17:23:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Platform 7.2.0 Release - 2021-01-20", "timeSpent": "PT0S", "updated": "2021-08-23T10:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:557058:4786f794-5167-4041-b3c0-deb1e8ba3438]\u00a0 Below is a copy of all the release notes, re. [~accountid:5abd613dd4cf3c56be24b70d]'s request for them to be in the email:\u00a0\n\n[https://docs.google.com/document/d/1jttwqo-uQwIt3yFQYsa7hs_SwFp-SZls_tSATgD9AvM/edit#]\n\nCopying docs from our editor to a Google doc doesn't work very well, so the format isn't great.\u00a0\n\n\u00a0\n\n\u00a0", "created": "2021-01-20T04:22:00.000000"}], "components": [], "created": "2020-12-16T12:52:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@60b2add0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05jjs:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Jan/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2400965962_*|*_3_*:*_1_*:*_2906_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1178_*|*_10005_*:*_2_*:*_761174680"}], "description": "(Initial planned release date: 2021-01-19)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2021-01-18T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25563", "fixedVersions": [], "id": "25563", "issueType": "Task", "key": "PUP-10829", "labels": ["release"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-01-22T03:15:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare release announcement (Puppet Platform 7.2.0)", "timeSpent": "PT0S", "updated": "2021-01-22T03:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-12-16T12:52:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@59120a3a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-2"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 7.2.0 Release - 2021-01-19\n"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_yellow"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05jiw:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5542371755_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 7.2.0 Release - 2021-01-19\n", "duedate": "2021-01-19T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21324", "fixedVersions": [], "id": "21324", "issueType": "Epic", "key": "PUP-10825", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-02-18T16:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet Platform 7.2.0 Release - 2021-01-19\n", "timeSpent": "PT0S", "updated": "2021-08-23T10:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "body": "This is being corrected in [https://github.com/puppetlabs/puppet-strings/pull/266]\n\n[~accountid:63d40628f6e1b543161789a7]\u00a0interestingly, tests reveal that the {{apply}} behaves differently from other keywords in Puppet itself. My assumption was that with {{tasks=true}} that the parser was failing because a keyword was being used as a parameter name. That implies that any keyword should fail similarly, but I tested with {{if}}, {{class}}, {{function}}, {{case}} and others. None of them caused a syntax error.", "created": "2020-12-17T11:11:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The logic that controls it is in https://github.com/puppetlabs/puppet/blob/ef4f356d005c8cd278124db7afe5986720c52b60/lib/puppet/pops/parser/lexer2.rb#L672. When {{Puppet[:tasks] = true}}, the lexer will recognize {{apply}} as a token, but then {{apply => true}} does not conform to puppet's grammar for the {{apply}} keyword (https://github.com/puppetlabs/puppet/blob/ef4f356d005c8cd278124db7afe5986720c52b60/lib/puppet/pops/parser/egrammar.ra#L529-L537), so you get a syntax error.", "created": "2020-12-17T11:56:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I'm going to close this as a dup, as the fix for this is in the strings module.", "created": "2020-12-17T11:57:00.000000"}], "components": [], "created": "2020-12-16T06:11:00.000000", "creator": "623c0eb6562ab90069f8b103", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5a0240c7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05j1s:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Dec/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_107123236_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.19.1*\n *Puppet Server Version: 6.19.1*\n *OS Name/Version: Debian 10*\n\nSince Puppet 6 (no problem with Puppet 5), when generating documentation with \"puppet strings generate\" with code like this :\n\n\u00a0\n{code:java}\nicinga2::object::service { 'ssh':\n target => '/etc/icinga2/conf.d/file.conf',\n apply => true,\n display_name => 'SSH',\n check_command => 'ssh',\n }{code}\n\u00a0\n\nI have this error: Failed to parse file.pp: Syntax error at 'apply'\n\nIf I change apply to anything else, it works.\n\n*Desired Behavior:*\n\nDocumentation should be genereated with code like this that contain \"apply\".\n\n*Actual Behavior:*\n{noformat}\n[error]: Failed to parse modules/my_module/manifests/file.pp: Syntax error at 'apply'{noformat}\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26679", "fixedVersions": [], "id": "26679", "issueType": "Bug", "key": "PUP-10824", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0eb6562ab90069f8b103", "resolution": "Duplicate", "resolutionDate": "2020-12-17T11:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "puppet strings generate: Syntax error at 'apply'", "timeSpent": "PT0S", "updated": "2020-12-17T11:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This was a regression in bundler 2.2.0. It's been fixed, and the pin was removed from puppet in https://github.com/puppetlabs/puppet/pull/8466", "created": "2020-12-18T11:23:00.000000"}], "components": [], "created": "2020-12-10T07:24:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@244f367a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05gb4:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Dec/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_437578239_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_267936831"}], "description": "Bundler 2.2.0 was release on the 10th of December 2020.\n\nAfter this the Puppet spec tests started failing on github actions for Ubuntu type VMs:\n{code:java}\n1) Puppet::Util::Execution#execute allows stdout and stderr to share a file\n196     Failure/Error: expect(Puppet::Util::Execution.execute(command, :combine => true).split).to match_array([*'1'..'10'])\n197       expected collection contained:  [\"1\", \"10\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"]\n198       actual collection contained:    [\"(Bundler::GemNotFound)\", \"(required)>'\", \"(required)>'\", \"/opt/hostedtoolcache/Ruby/2.6.6/x64/lib/r...om\", \"from\", \"from\", \"from\", \"in\", \"in\", \"in\", \"in\", \"materialize':\", \"not\", \"of\", \"sources\", \"the\"]\n199       the missing elements were:      [\"1\", \"10\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"]\n200       the extra elements were:        [\"(Bundler::GemNotFound)\", \"(required)>'\", \"(required)>'\", \"/opt/hostedtoolcache/Ruby/2.6.6/x64/lib/r...om\", \"from\", \"from\", \"from\", \"in\", \"in\", \"in\", \"in\", \"materialize':\", \"not\", \"of\", \"sources\", \"the\"]\n201     # ./spec/integration/util/execution_spec.rb:57:in `block (3 levels) in <top (required)>'\n202     # ./spec/spec_helper.rb:182:in `block (2 levels) in <top (required)>'\n203     # util/rspec_runner:44:in `run'\n204     # util/rspec_runner:59:in `<main>'\n205  2) Puppet::Util::Execution#execute returns output and set $CHILD_STATUS\n206     Failure/Error: expect(output).to eq(\"foo\\n\")\n207       expected: \"foo\\n\"\n208            got: \"\"\n209       (compared using ==)\n210       Diff:\n211       @@ -1,2 +1 @@\n212       -foo\n213     # ./spec/integration/util/execution_spec.rb:65:in `block (3 levels) in <top (required)>'\n214     # ./spec/spec_helper.rb:182:in `block (2 levels) in <top (required)>'\n215     # util/rspec_runner:44:in `run'\n216     # util/rspec_runner:59:in `<main>' {code}\nTo temporarily fix this, we've locked bundler to 2.1.4:\u00a0https://github.com/puppetlabs/puppet/pull/8455/commits/cc790e7cd2a93b1153b827ed1f50e905f907c17c", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22416", "fixedVersions": [], "id": "22416", "issueType": "Task", "key": "PUP-10822", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Done", "resolutionDate": "2020-12-18T11:23:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet spec are failing with bundler 2.2.0", "timeSpent": "PT0S", "updated": "2020-12-18T11:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [], "components": [], "created": "2020-12-10T02:24:00.000000", "creator": "623c12ff94742a00683e41fd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@83bbfac"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05g9c:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "this was never released"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_91293397_*|*_1_*:*_1_*:*_1036022_*|*_10007_*:*_1_*:*_88108072_*|*_6_*:*_1_*:*_0"}], "description": "Changes done in [PUP-10774|https://github.com/puppetlabs/puppet/pull/8444] caused a *Puppet::DevError* to be raised (in the *get_posix_value* method when calling the *get_posix_field* method) and silently catched without returning any value. Unit test failures on [puppetlabs-sshkeys_core|https://github.com/puppetlabs/puppetlabs-sshkeys_core/runs/1521934892?check_suite_focus=true] were seen due to receiving *nil* id for posix fields (from a previous *get_posix_field* method call) and expected resources could not be resolved:\n\n{code:java}\nFailures:\n\n  1) Puppet::Type::Ssh_authorized_key::ProviderParsed keeps empty lines and comments when modifying a file\nidentify where to make the necessary changes, you can configure\n     Failure/Error: expect(content.join(\"\\n\")).to eq(expected_content.sort.join(\"\\n\"))\n\n       expected: \"\\n   \\n# just a comment\\n#and another\\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDLClyvi3CsJw5Id6khZs2/+...q0AT/g01+4P2hQ/soFkuwlUG/HVnnaYb6N0Qp5SHWvD5vBE2nFFQVpP5GrSctPtHSjzJq/i+6LYhmQ== root@someotherhost\"\n            got: \"\\n   \\n# just a comment\\n#and another\\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDLClyvi3CsJw5Id6khZs2/+...pdLqzNtrGQuxPbV80PTbGv9ZtAtTictxaDz8muXO7he9pXmchUpxUKtMFjHkL0FAZ9tRPmv3RA30sEr2fZ8+LKvnE50w0 dummy\"\n`config.raise_errors_for_deprecations!`, and it will turn the\ndeprecation warnings into errors, giving you the full backtrace.\n\n       (compared using ==)\n\n       Diff:\n       @@ -3,4 +3,5 @@\n        # just a comment\n        #and another\n        ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDLClyvi3CsJw5Id6khZs2/+s11qOH4Gdp6iDioDsrIp0m8kSiPr71VGyQYAfPzzvHemHS7Xg0NkG1Kc8u9tRqBQfTvz7ubq0AT/g01+4P2hQ/soFkuwlUG/HVnnaYb6N0Qp5SHWvD5vBE2nFFQVpP5GrSctPtHSjzJq/i+6LYhmQ== root@someotherhost\n       +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLygAO6txXkh9FNV8xSsBkATeqLbHzS7sFjGI3gt0Dx6q3LjyKwbhQ1RLf28kd5G6VWiXmClU/RtiPdUz8nrGuun++2mrxzrXrvpR9dq1lygLQ2wn2cI35dN5bjRMtXy3decs6HUhFo9MoNwX250rUWfdCyNPhGIp6OOfmjdy+UeLGNxq9wDx6i4bT5tVVSqVRtsEfw9+ICXchzl85QudjneVVpP+thriPZXfXA5eaGwAo/dmoKOIhUwF96gpdLqzNtrGQuxPbV80PTbGv9ZtAtTictxaDz8muXO7he9pXmchUpxUKtMFjHkL0FAZ9tRPmv3RA30sEr2fZ8+LKvnE50w0 dummy\n     # ./spec/integration/provider/ssh_authorized_key_spec.rb:73:in `check_fake_key'\n     # ./spec/integration/provider/ssh_authorized_key_spec.rb:98:in `block (2 levels) in <top (required)>'\n\n  2) Puppet::Type::Ssh_authorized_key::ProviderParsed when managing two resource and both keys are absent adds both keys\n     Failure/Error: expect(content.join(\"\\n\")).to eq(expected_content.sort.join(\"\\n\"))\n\n       expected: \"ssh-dss AAAAB3NzaC1kc3MAAACBAOPck2O8MIDSqxPSnvENt6tzRrKJ5oOhB6Nc6oEcWm+VEH1gvuxdiRqwoMgRwyEf1yUd+UAc...gpdLqzNtrGQuxPbV80PTbGv9ZtAtTictxaDz8muXO7he9pXmchUpxUKtMFjHkL0FAZ9tRPmv3RA30sEr2fZ8+LKvnE50w0 paul\"\n            got: \"ssh-dss AAAAB3NzaC1kc3MAAACBAOPck2O8MIDSqxPSnvENt6tzRrKJ5oOhB6Nc6oEcWm+VEH1gvuxdiRqwoMgRwyEf1yUd+UAc...gpdLqzNtrGQuxPbV80PTbGv9ZtAtTictxaDz8muXO7he9pXmchUpxUKtMFjHkL0FAZ9tRPmv3RA30sEr2fZ8+LKvnE50w0 paul\"\n\n       (compared using ==)\n\n       Diff:\n       @@ -1,6 +1,5 @@\n        ssh-dss AAAAB3NzaC1kc3MAAACBAOPck2O8MIDSqxPSnvENt6tzRrKJ5oOhB6Nc6oEcWm+VEH1gvuxdiRqwoMgRwyEf1yUd+UAcLw3a6Jn+EtFyEBN/5WF+4Tt4xTxZ0Pfik2Wc5uqHbQ2dkmOoXiAOYPiD3JUQ1Xwm/J0CgetjitoLfzAGdCNhMqguqAuHcVJ78ZZbAAAAFQCIBKFYZ+I18I+dtgteirXh+VVEEwAAAIEAs1yvQ/wnLLrRCM660pF4kBiw3D6dJfMdCXWQpn0hZmkBQSIzZv4Wuk3giei5luxscDxNc+y3CTXtnyG4Kt1Yi2sOdvhRI3rX8tD+ejn8GHazM05l5VIo9uu4AQPIE32iV63IqgApSBbJ6vDJW91oDH0J492WdLCar4BS/KE3cRwAAACBAN0uSDyJqYLRsfYcFn4HyVf6TJxQm1IcwEt6GcJVzgjri9VtW7FqY5iBqa9B9Zdh5XXAYJ0XLsWQCcrmMHM2XGHGpA4gL9VlCJ/0QvOcXxD2uK7IXwAVUA7g4V4bw8EVnFv2Flufozhsp+4soo1xiYc5jiFVHwVlk21sMhAtKAeF root@anywhere\n        ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDLClyvi3CsJw5Id6khZs2/+s11qOH4Gdp6iDioDsrIp0m8kSiPr71VGyQYAfPzzvHemHS7Xg0NkG1Kc8u9tRqBQfTvz7ubq0AT/g01+4P2hQ/soFkuwlUG/HVnnaYb6N0Qp5SHWvD5vBE2nFFQVpP5GrSctPtHSjzJq/i+6LYhmQ== root@someotherhost\n       -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDLClyvi3CsJw5Id6khZs2/+s11qOH4Gdp6iDioDsrIp0m8kSiPr71VGyQYAfPzzvHemHS7Xg0NkG1Kc8u9tRqBQfTvz7ubq0AT/g01+4P2hQ/soFkuwlUG/HVnnaYb6N0Qp5SHWvD5vBE2nFFQVpP5GrSctPtHSjzJq/i+6LYhmQ== user@hostname\n        ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLygAO6txXkh9FNV8xSsBkATeqLbHzS7sFjGI3gt0Dx6q3LjyKwbhQ1RLf28kd5G6VWiXmClU/RtiPdUz8nrGuun++2mrxzrXrvpR9dq1lygLQ2wn2cI35dN5bjRMtXy3decs6HUhFo9MoNwX250rUWfdCyNPhGIp6OOfmjdy+UeLGNxq9wDx6i4bT5tVVSqVRtsEfw9+ICXchzl85QudjneVVpP+thriPZXfXA5eaGwAo/dmoKOIhUwF96gpdLqzNtrGQuxPbV80PTbGv9ZtAtTictxaDz8muXO7he9pXmchUpxUKtMFjHkL0FAZ9tRPmv3RA30sEr2fZ8+LKvnE50w0 dummy\n        ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLygAO6txXkh9FNV8xSsBkATeqLbHzS7sFjGI3gt0Dx6q3LjyKwbhQ1RLf28kd5G6VWiXmClU/RtiPdUz8nrGuun++2mrxzrXrvpR9dq1lygLQ2wn2cI35dN5bjRMtXy3decs6HUhFo9MoNwX250rUWfdCyNPhGIp6OOfmjdy+UeLGNxq9wDx6i4bT5tVVSqVRtsEfw9+ICXchzl85QudjneVVpP+thriPZXfXA5eaGwAo/dmoKOIhUwF96gpdLqzNtrGQuxPbV80PTbGv9ZtAtTictxaDz8muXO7he9pXmchUpxUKtMFjHkL0FAZ9tRPmv3RA30sEr2fZ8+LKvnE50w0 paul\n     # ./spec/integration/provider/ssh_authorized_key_spec.rb:73:in `check_fake_key'\n     # ./spec/integration/provider/ssh_authorized_key_spec.rb:216:in `block (4 levels) in <top (required)>'\n\n1 deprecation warning total\n\nFinished in 2.01 seconds (files took 2.54 seconds to load)\n11 examples, 2 failures\n\nFailed examples:\n\nrspec ./spec/integration/provider/ssh_authorized_key_spec.rb:95 # Puppet::Type::Ssh_authorized_key::ProviderParsed keeps empty lines and comments when modifying a file\nrspec ./spec/integration/provider/ssh_authorized_key_spec.rb:213 # Puppet::Type::Ssh_authorized_key::ProviderParsed when managing two resource and both keys are absent adds both keys\n{code}\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24458", "fixedVersions": ["PUP 6.20.0", "PUP 7.1.0"], "id": "24458", "issueType": "Task", "key": "PUP-10821", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c12ff94742a00683e41fd", "resolution": "Fixed", "resolutionDate": "2020-12-12T04:31:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Ensure id_field of a given posix field is resolved", "timeSpent": "PT0S", "updated": "2021-01-13T07:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "attachments": [], "comments": [{"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/32f0d253309e44cf3a2cf189b9f7cf02d6229435", "created": "2021-07-27T08:36:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in\u00a06ce33c3955", "created": "2021-08-02T09:46:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in\u00a06ce33c3955", "created": "2021-08-02T09:58:00.000000"}, {"author": "557058:f7c6e90e-2267-4ac3-a676-95f1a812438f", "body": "this fix seems to have been reverted in 6.26\u00b9 (as part of the fix for PUP-11321?) so this issue is still unsolved.\n\n\u00b9 [https://github.com/puppetlabs/puppet/commit/762f788a1febabd0b5c0e715f41d1d194ec27817]", "created": "2022-02-01T14:27:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:f7c6e90e-2267-4ac3-a676-95f1a812438f] the code associated with this issue was reverted, but the overall issue was fixed a different way. See [https://github.com/puppetlabs/puppet/pull/8828 |https://github.com/puppetlabs/puppet/pull/8828] If you're still seeing an issue with this, please file a new ticket and link to PUP-11321.", "created": "2022-02-01T15:11:00.000000"}], "components": [], "created": "2020-12-09T18:03:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@23925cb2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Priority"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11195"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05g40:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fixes a bug that prevented Puppet from reporting on corrective changes when using rich data types such as Deferred, Binary, Sensitive, etc."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_523393671_*|*_1_*:*_1_*:*_16810458349_*|*_10007_*:*_2_*:*_12580223_*|*_3_*:*_1_*:*_1128187390_*|*_4_*:*_1_*:*_2741122_*|*_5_*:*_2_*:*_15830727881_*|*_10005_*:*_1_*:*_1883224664"}], "description": "If the result of a deferred function is the desired value for a resource's property, then the agent will save that in the transaction store, causing an error the next time the agent runs. As a result, our ability to report on corrective/intentional change is lost.\n\nGiven {{site.pp}} containing:\n\n{code:puppet}\nnotify { \"deferred\":\n  message => Deferred.new(\"binary_file\", [\"/tmp/binary\"])\n}\n{code}\n\nwhere {{/tmp/binary}} contains {{hi\\n}}, the agent evaluates the deferred function correctly:\n\n{noformat}\n[root@keen-lecture ~]# rm -f /opt/puppetlabs/puppet/cache/state/transactionstore.yaml\n[root@keen-lecture ~]# rm -f /opt/puppetlabs/puppet/cache/client_data/catalog/$(facter fqdn).json\n[root@keen-lecture ~]# puppet agent -t\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Loading facts\nInfo: Caching catalog for keen-lecture.delivery.puppetlabs.net\nInfo: Applying configuration version '1607561363'\nNotice: aGkK\nNotice: /Stage[main]/Main/Notify[deferred]/message: defined 'message' as Binary(\"aGkK\")\nNotice: Applied catalog in 0.01 seconds\n{noformat}\n\nBut the transactionstore contains the raw {{Puppet::Pops::Types::PBinaryType::Binary}} object, not the pcore representation:\n\n{noformat}\n[root@keen-lecture ~]# cat /opt/puppetlabs/puppet/cache/state/transactionstore.yaml\n---\nresources:\n  Notify[deferred]:\n    parameters:\n      message:\n        system_value:\n        - !ruby/object:Puppet::Pops::Types::PBinaryType::Binary\n          binary_buffer: 'hi\n\n'\n{noformat}\n\nThe next agent run will generate an error:\n\n{noformat}\n[root@keen-lecture ~]# puppet agent -t\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Loading facts\nInfo: Caching catalog for keen-lecture.delivery.puppetlabs.net\nError: Transaction store file /opt/puppetlabs/puppet/cache/state/transactionstore.yaml is corrupt ((/opt/puppetlabs/puppet/cache/state/transactionstore.yaml): Tried to load unspecified class: Puppet::Pops::Types::PBinaryType::Binary); replacing\nWrapped exception:\nTried to load unspecified class: Puppet::Pops::Types::PBinaryType::Binary\nInfo: Applying configuration version '1607561397'\nNotice: aGkK\nNotice: /Stage[main]/Main/Notify[deferred]/message: defined 'message' as Binary(\"aGkK\")\nNotice: Applied catalog in 0.01 seconds\n{noformat}\n\nThis issue doesn't happen if the deferred result is type that YAML natively supports (string, integer, etc).\n\nPuppet should probably be using {{Puppet::Pops::Serialization::ToDataConverter}} to persist the transactionstore instead of yaml.", "epicLinkSummary": "Prepare YAML to JSON transition", "estimate": "PT0S", "externalId": "28716", "fixedVersions": ["PUP 6.25.0", "PUP 7.10.0"], "id": "28716", "issueType": "Bug", "key": "PUP-10820", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": "29797", "parentSummary": "Prepare YAML to JSON transition", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2022-02-01T15:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Binary, Sensitive, etc deferred results can corrupt the transaction store", "timeSpent": "PT0S", "updated": "2022-02-02T07:48:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "We should provide a clear error that we could not load a 3x function so that users have a better idea of what to do next.\u00a0\n\nFor any built-in functions that are still 3x we should convert them to 4x functions.\u00a0 This will avoid the issue for any built-in functions but we'll still have the error case above for 3x functions from stdlib or other modules.\u00a0 Generally speaking we should look to convert functions people want to 4x instead of trying to work on loading 3x functions.\u00a0\u00a0", "created": "2021-01-05T09:05:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I went down the rabbit hole to understand what the issue was. And I think there's a pretty trivial fix for this.\n\nWhen resolving deferred values, puppet creates a DeferredResolver which creates a script compiler and scope: https://github.com/puppetlabs/puppet/blob/fdeab5be29364dd7210327ef901eb7d39f7cde35/lib/puppet/pops/evaluator/deferred_resolver.rb#L22. When running {{puppet apply}}, the {{catalog.environment_instance}} and {{Puppet.lookup(:current_environment)}} are the same object. The compiler ends up creating an anonymous module based on the {{catalog.environment_instance}} and defining instance methods on that module.\n\nhttps://github.com/puppetlabs/puppet/blob/fdeab5be29364dd7210327ef901eb7d39f7cde35/lib/puppet/parser/functions.rb#L205-L222\n\nThe compiler's scope object then extends the environment module, so that the environment module's methods are instance methods on the scope, e.g. \n{{Scope#function_sprintf}}. \n\nhttps://github.com/puppetlabs/puppet/blob/fdeab5be29364dd7210327ef901eb7d39f7cde35/lib/puppet/parser/scope.rb#L1124\n\nThe problem is that {{Puppet::Parser::Functions.environment_module(environment)}} only memoizes the module if the environment object is exactly the same. It doesn't memoize if a different environment object with the same name:\n\n{noformat}\nirb(main):014:0> env = Puppet::Node::Environment.remote('env1')\n=> <Puppet::Node::Environment::Remote:70107713527180 @name=\"env1\" @manifest=\"no_manifest\" @modulepath=\"\" >\nirb(main):015:0> Puppet::Parser::Functions.environment_module(env)\n=> #<Module:0x00007f86428373e8>\nirb(main):016:0> Puppet::Parser::Functions.environment_module(env)\n=> #<Module:0x00007f86428373e8>\nirb(main):017:0> Puppet::Parser::Functions.environment_module(Puppet::Node::Environment.remote('env1'))\n=> #<Module:0x00007f86828f99d0>\n{noformat}\n\nSo the reason this issue fails for the agent is because we download a catalog and create a remote environment instance https://github.com/puppetlabs/puppet/blob/fdeab5be29364dd7210327ef901eb7d39f7cde35/lib/puppet/resource/catalog.rb#L419\n\nAlthough that environment has the same name as the current environment, it's a different environment object. I pushed up some changes that seem to work: https://github.com/puppetlabs/puppet/compare/main...joshcooper:agent_deferred_3x_functions_10819 Tests haven't been updated yet.\n", "created": "2021-01-11T17:58:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in\u00a0https://github.com/puppetlabs/puppet/commit/82b27f01268fc5da4bce29cf52bc1f4eb17c95bf", "created": "2021-01-13T10:08:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Follow up merged to 6.x in https://github.com/puppetlabs/puppet/commit/376d0aa36235f9401e82655280308d46adca2b48", "created": "2021-01-14T16:54:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in puppet#95ee122621", "created": "2021-01-15T15:51:00.000000"}], "components": [], "created": "2020-12-09T17:35:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@acb8437"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05g3c:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Allows deferred 3.x functions like \"file\" and \"sprintf\" to be called during a \"puppet agent\" run. Previously, it only worked for \"puppet apply\" but not \"puppet agent\"."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Jan/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_193378337_*|*_1_*:*_1_*:*_2366563644_*|*_10007_*:*_1_*:*_88831856_*|*_3_*:*_1_*:*_467728739_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_74067566"}], "description": "{{sprintf}} is a builtin 3x function. The following works when running {{puppet apply}}:\n\n{noformat}\n[root@keen-lecture ~]# cat /etc/puppetlabs/code/environments/production/manifests/site.pp\nnotify { \"deferred\": message => Deferred(\"sprintf\", [\"hello\"]) }\n[root@keen-lecture ~]# puppet apply /etc/puppetlabs/code/environments/production/manifests/site.pp\nNotice: Compiled catalog for keen-lecture.delivery.puppetlabs.net in environment production in 0.02 seconds\nNotice: hello\nNotice: /Stage[main]/Main/Notify[deferred]/message: defined 'message' as 'hello'\nNotice: Applied catalog in 0.01 seconds\n{noformat}\n\nThe same code doesn't work when running {{puppet agent}} and gives an unhelpful error:\n\n{noformat}\n[root@keen-lecture ~]# puppet agent -t --trace\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Loading facts\nError: Failed to apply catalog: Function sprintf not defined despite being loaded!\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/scope.rb:1044:in `method_missing'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/functions.rb:751:in `block in call'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/functions.rb:748:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/functions.rb:748:in `call'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:283:in `block in external_call_function'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:282:in `external_call_function'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/scope.rb:1101:in `call_function'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/deferred_resolver.rb:119:in `resolve_future'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/deferred_resolver.rb:89:in `resolve'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/deferred_resolver.rb:71:in `block (2 levels) in resolve_futures'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/deferred_resolver.rb:70:in `each_pair'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/deferred_resolver.rb:70:in `block in resolve_futures'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/deferred_resolver.rb:68:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/deferred_resolver.rb:68:in `resolve_futures'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/deferred_resolver.rb:32:in `resolve_and_replace'\n{noformat}\n\nIt seems like we should either present a consistent error that 3x functions can't be deferred, or allow the agent to load 3x functions in the same way the apply does.\n\nThe same problem also happens when using a 3x function from a module, eg bool2str from stdlib:\n\n{noformat}\nnotify { \"deferred\": message => Deferred(\"bool2str\", [true]) }\n{noformat}\n\n{noformat}\n[root@keen-lecture ~]# puppet agent -t --trace\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Loading facts\nError: Failed to apply catalog: Function bool2str not defined despite being loaded!\n{noformat}\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25562", "fixedVersions": ["PUP 6.20.0", "PUP 7.3.0"], "id": "25562", "issueType": "Bug", "key": "PUP-10819", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-01-15T15:51:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "3x functions cannot be called from deferred functions in puppet agent", "timeSpent": "PT0S", "updated": "2021-03-01T16:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "There's a problem with this change, as we are no longer performing type/provider validation of the catalog before caching it.", "created": "2021-01-11T18:42:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/c19368514167926332ba6cc5445fea43016b6ce3 and https://github.com/puppetlabs/puppet/commit/376d0aa36235f9401e82655280308d46adca2b48\n\nPassed CI in 95ee1226", "created": "2021-01-15T15:54:00.000000"}], "components": [], "created": "2020-12-09T12:29:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Running {{puppet agent\u00a0-t --use_cached_catalog}} should reevaluate deferred functions in the cached catalog.\n\nOn the server create a site.pp. Due to PUP-10820, we have to defer casting the TimeStamp to a String:\n\n{noformat}\n# cat /etc/puppetlabs/code/environments/production/manifests/site.pp\nnotify { \"deferred\":\n  message => Deferred(\"new\", [String, Deferred(\"new\", [TimeStamp])])\n}\n{noformat}\n\nOn the agent, run:\n\n{noformat}\n# puppet agent -t\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Caching catalog for localhost\nInfo: Applying configuration version '1607632459'\nNotice: 2020-12-10T20:34:20.056492000 UTC\nNotice: /Stage[main]/Main/Notify[deferred]/message: defined 'message' as '2020-12-10T20:34:20.056492000 UTC'\nNotice: Applied catalog in 0.01 seconds\n{noformat}\n\nRun the agent again with cached catalog, and the deferred message timestamps should be different\n\n{noformat}\n# puppet agent -t --use_cached_catalog\nInfo: Using cached catalog from environment 'production'\nInfo: Caching catalog for localhost\nInfo: Applying configuration version '1607632459'\nNotice: 2020-12-10T20:34:26.732950000 UTC\nNotice: /Stage[main]/Main/Notify[deferred]/message: defined 'message' as '2020-12-10T20:34:26.732950000 UTC'\nNotice: Applied catalog in 0.01 seconds\n{noformat}"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5d8562c9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05fy8:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet 6.12.0 introduced a regression that caused the result of a deferred function to be stored in the cached catalog. As a result, an agent running with a cached catalog, would not re-evaluate the deferred function. Now it does."}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "42173"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_732779128_*|*_1_*:*_1_*:*_89804284_*|*_10007_*:*_2_*:*_2301649805_*|*_3_*:*_1_*:*_84920802_*|*_5_*:*_1_*:*_0"}], "description": "The cached catalog contains the result of evaluating the deferred function, instead of the function. So if the agent applies a cached catalog, it will always apply the result of the deferred function when the cached catalog was saved instead of when the agent runs.\n\nTo reproduce, create:\n{code:puppet}cat /etc/puppetlabs/code/environments/production/manifests/site.pp\n$epp_var = {\n  'deferred_function' => Deferred('to_yaml', [{'test' => 'foo'}])\n}\nfile { '/tmp/deferred_function.txt':\n  content => Deferred('inline_epp', ['<%= $deferred_function -%>', $epp_var]),\n}\n{code}\nIn 6.11.0, we correctly cache the deferred function:\n{noformat}$ cat ~/.puppetlabs/opt/puppet/cache/client_data/catalog/$(facter fqdn).json| jq .\n...\n  {\n      \"type\": \"File\",\n      \"title\": \"/tmp/deferred_function.txt\",\n      \"tags\": [\n        \"file\",\n        \"class\"\n      ],\n      \"file\": \"/etc/puppetlabs/code/environments/production/manifests/site.pp\",\n      \"line\": 4,\n      \"exported\": false,\n      \"parameters\": {\n        \"content\": {\n          \"__ptype\": \"Deferred\",\n          \"name\": \"inline_epp\",\n          \"arguments\": [\n            \"<%= $deferred_function -%>\",\n            {\n              \"deferred_function\": {\n                \"__ptype\": \"Deferred\",\n                \"name\": \"to_yaml\",\n                \"arguments\": [\n                  {\n                    \"test\": \"foo\"\n                  }\n                ]\n              }\n            }\n          ]\n        }\n      }\n{noformat}\nand the file contains the result of evaluating the deferred function:\n{noformat}$ cat /tmp/deferred_function.txt\n ---\ntest: foo\n{noformat}\nIn 6.12.0 the cached catalog is incorrect:\n{noformat}    {\n      \"type\": \"File\",\n      \"title\": \"/tmp/deferred_function.txt\",\n      \"tags\": [\n        \"file\",\n        \"class\"\n      ],\n      \"file\": \"/etc/puppetlabs/code/environments/production/manifests/site.pp\",\n      \"line\": 4,\n      \"exported\": false,\n      \"parameters\": {\n        \"content\": \"---\\ntest: foo\\n\"\n      }\n    }\n{noformat}\nThe bug was introduced in a17761d60b2e5d42cc01a36e1d6ba3d790c9dcf8, as there was a semantic conflict due to the environment convergence changes in 5.5.x and the deferred functionality in 6.x.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21323", "fixedVersions": ["PUP 6.20.0", "PUP 7.3.0"], "id": "21323", "issueType": "Bug", "key": "PUP-10818", "labels": ["doc_reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-01-15T15:55:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Cached catalog contains the result of deferred evaluation instead of the deferred function", "timeSpent": "PT0S", "updated": "2021-03-01T16:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623c16e9bef8a60068c79cf4", "body": "The fix is trivial - add zfs to the filesystem list. What can I do to get this applied upstream?", "created": "2021-02-12T15:54:00.000000"}], "components": ["Modules"], "created": "2020-12-08T14:37:00.000000", "creator": "623c16e9bef8a60068c79cf4", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@24c7cb36"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "RHEL 7 (x86_64)"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05fao:"}], "description": "*Puppet Version: 6.2.0*\n *Puppet Server Version: 6.2.0*\n *OS Name/Version: RHEL 7*\n\nselinux_label_support? in lib/puppet/util/selinux.rb is missing zfs, so attempts to set the SELinux context fail\n\n*Desired Behavior: set the requested SELinux context*\n\n*Actual Behavior: logs an unsupported message*\n\n\u00a0\n\nDebug: /Stage[main]/Profile::Kerberos::Kdc_debug/Descolib::Vault::Tls_cert[/fs/krb5kdc/data/kdc]/File[/fs/krb5kdc/data/kdc.crt]/seltype: SELinux not available for this filesystem. Ignoring parameter.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25561", "fixedVersions": [], "id": "25561", "issueType": "Improvement", "key": "PUP-10816", "labels": ["help_wanted"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c16e9bef8a60068c79cf4", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "selinux support missing for zfs", "timeSpent": "PT0S", "updated": "2021-02-12T15:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "attachments": [], "comments": [], "components": [], "created": "2020-12-08T08:46:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6bae23dc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05e4o:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Experimental feature.\nA new action called `puppet facts diff` was implemented to check if there are any differences between facter 3 and facter 4 outputs, and output the differences. Facts that change over time like memory and uptime are ignored."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_21099448_*|*_1_*:*_1_*:*_584096201_*|*_10007_*:*_1_*:*_332078307_*|*_3_*:*_1_*:*_429815545_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1909375592"}], "description": "The upgrade process should check the facts retrieved by Facter 3 and the Facts provided by Facter 4. If there are differences a warning should be displayed.\n\nImplement a puppet facts check action to the facts face to check if there are any differences between facter 3 and facter 4. This action should filter out the core facts that change over time (eg. Memory, Uptime, etc)\n\n-We also need a bolt task implemented that is able to run the puppet facts diff command- (this will be covered in a MODULES different ticket)\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23400", "fixedVersions": ["PUP 6.20.0"], "id": "23400", "issueType": "Improvement", "key": "PUP-10815", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Fixed", "resolutionDate": "2021-01-15T06:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Implement a puppet facts action that show fact differences between facter 3 and facter 4", "timeSpent": "PT0S", "updated": "2021-01-15T07:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "We've had issues in the past with different behavior across platforms for non-existent services, see PUP-7191, PUP-7040, PUP-41.", "created": "2020-12-08T08:24:00.000000"}, {"author": "5abd613dd4cf3c56be24b70d", "body": "Thank you for filing this issue. We agree it is likely an improvement, but due to other issues demanding precedence, we don\u2019t anticipate being able to address this any time soon. If you are interested in submitting a patch to the repository for this project at\u00a0[https://github.com/puppetlabs], please open a pull request.", "created": "2020-12-08T09:04:00.000000"}], "components": ["Catalog Application"], "created": "2020-12-08T05:10:00.000000", "creator": "623c0dfe50bb2b0070b6b0b3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3d12f275"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master Config", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Split"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "CentOS 7"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05dug:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Dec/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_14023132_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_15846608279"}], "description": "*Puppet Version: 6.15.0*\n *Puppet Server Version: 6.15.0*\n *OS Name/Version: CentOS 8*\n\npuppet apply the following snippet\n\n{noformat}\nservice{'non-existing.service':\n\u00a0 \u00a0ensure => mask,\n}\n{noformat}\n\nresults in.\u00a0\n\n{noformat}\nError: Could not disable non-existing.service: \nError: /Stage[main]/Main/Service[non-existing.service]/enable: change from 'false' to 'mask' failed: Could not disable foobar.service:\n{noformat}\n\u00a0\n*Desired Behavior:*\nA service can be masked irrespective of if the unit exists.\n\n{noformat}\nsystemctl mask non-existing.service\nUnit non-existing.service does not exist, proceeding anyway.\nCreated symlink /etc/systemd/system/non-existing.service \u2192 /dev/null.\n{noformat}\n\nand this  is desirable since you want to mask things to stop a vendor setting\nwinning later.\n\npuppet should proceed with the above mask for a non-existant service.\n\u00a0\n*Actual Behavior:*\n\nThe non-existant unit is not masked.\n\n\n", "environment": "{code:java}\n\u00a0\n\n// code placeholder{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22413", "fixedVersions": [], "id": "22413", "issueType": "Bug", "key": "PUP-10814", "labels": ["help_wanted"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0dfe50bb2b0070b6b0b3", "resolution": "Duplicate", "resolutionDate": "2021-06-09T19:54:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Impossible to systemctl mask non-existing service  ", "timeSpent": "PT0S", "updated": "2021-06-09T19:54:00.000000", "votes": "2", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "5c40e8688aa0b11661429843", "created": "2020-12-07T16:09:00.000000", "name": "FindTemplateBug.zip", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12036"}, {"attacher": "5c40e8688aa0b11661429843", "created": "2020-12-15T14:48:00.000000", "name": "FindTemplateBug2.zip", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11497"}], "comments": [{"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "hi [~accountid:5c40e8688aa0b11661429843].\u00a0 Can you upload a module example of this code?\u00a0 And can you confirm that the module actually works when run via puppet?\u00a0\u00a0\n\nWe're having a hard time telling what the reproduction case is as the example code above includes two variables which aren't defined.\u00a0 If you can provide a module with just the minimum code to reproduce an issue that'd be great.\u00a0 We want to make sure it runs via puppet and then we can look at how rspec is failing.\u00a0\u00a0", "created": "2020-12-15T09:22:00.000000"}, {"author": "5c40e8688aa0b11661429843", "body": "Hi\u00a0[~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100]. I simplified the code reproducing the error and showing that {{find_template()}}\u00a0does indeed work as expected during a Puppet apply. Just run Test.cmd in the attached\u00a0[^FindTemplateBug2.zip]. It contains the full content of the folder after running Test.cmd.\n\n\u00a0", "created": "2020-12-15T14:49:00.000000"}], "components": [], "created": "2020-12-07T16:17:00.000000", "creator": "5c40e8688aa0b11661429843", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4b7752f8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05dlc:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Dec/20"}], "description": "*Puppet Version:\u00a06.17.0*\n *Puppet Server Version: N/A*\n *OS Name/Version: Windows 10, Linux*\n\nRunning unit test on puppet code that uses find_template gives error during compilation of the unit test.\n Describe steps to reproduce:\n * \n{noformat}pdk new module ...{noformat}\n\n * \n{noformat}pdk new class ...{noformat}\n\n * Add to new class a file resource with content using find_template().\n * \n{noformat}pdk test unit{noformat}\n\n*Desired Behavior:*\n\nThe unit test should pass.\n\n*Actual Behavior:*\n\nWhen running the unit tests using for example `pdk test unit`, a file resource like this\n{code:java}  file { \"${rootFolder}/content_find_template.file\":\n    ensure  => file,\n    content => find_template($template).file,\n  }\n{code}\ngives an error like this:\n{code:java}\u00a0\u00a01)\u00a0my_test::test_class\u00a0on\u00a0centos-7-x86_64\u00a0is\u00a0expected\u00a0to\u00a0compile\u00a0into\u00a0a\u00a0catalogue\u00a0without\u00a0dependency\u00a0cycles\u00a0\u00a0\u00a0\u00a0\u00a0Failure/Error:\u00a0it\u00a0{\u00a0is_expected.to\u00a0compile\u00a0}\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0error\u00a0during\u00a0compilation:\u00a0Evaluation\u00a0Error:\u00a0Error\u00a0while\u00a0evaluating\u00a0a\u00a0Method\u00a0call,\u00a0Could\u00a0not\u00a0find\u00a0any\u00a0files\u00a0from\u00a0<path>/my_test/spec/fixtures/modules/my_test/templates/template.erb\u00a0(file:\u00a0<path>/my_test/spec/fixtures/modules/my_test/manifests/test_class.pp,\u00a0line:\u00a023,\u00a0column:\u00a040)\u00a0on\u00a0node\u00a0<nodeName>./spec/classes/test_class_spec.rb:10:in\u00a0`block\u00a0(4\u00a0levels)\u00a0in\u00a0<top\u00a0(required)>'\n{code}\nSee attached zip file that reproduces the error from scratch using the latest PDK.\n\nA similar error seen on Linux in our CI using a GitLab runner. The error is something like:\n{code:java}\nerror\u00a0during\u00a0compilation:\u00a0Evaluation\u00a0Error:\u00a0Error\u00a0while\u00a0evaluating\u00a0a\u00a0Method\u00a0call,\u00a0Could\u00a0not\u00a0find\u00a0any\u00a0files\u00a0from\u00a0/mnt/tmpfs/site-modules/<module>/spec/fixtures/modules/<module>/templates/<filename>.erb\n{code}\n\u00a0", "environment": "Windows and Linux.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25560", "fixedVersions": [], "id": "25560", "issueType": "Bug", "key": "PUP-10813", "labels": ["community"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5c40e8688aa0b11661429843", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Unit test error with file resource content using find_template()", "timeSpent": "PT0S", "updated": "2021-03-02T02:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Could you also delete the code that filters out that message when cleaning a node?", "created": "2020-12-07T18:59:00.000000"}, {"author": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "body": "No problem [~accountid:63d40628f6e1b543161789a7]", "created": "2020-12-08T11:05:00.000000"}], "components": [], "created": "2020-12-04T11:22:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@51f3ad8b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o059ju:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Dec/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_167428478_*|*_1_*:*_1_*:*_3472189_*|*_10007_*:*_2_*:*_76983516_*|*_3_*:*_1_*:*_68740259_*|*_5_*:*_2_*:*_4091462_*|*_10006_*:*_1_*:*_279172554"}], "description": "We added a warning to the CA dir setting that logs when it is configured to be inside the SSL dir. This warning is way too noisy, and we are going to remove it, in favor of just warning on server startup and from the CA CLI tool (this is already in place).\n\nWarning to remove: [https://github.com/puppetlabs/puppet/blob/main/lib/puppet/defaults.rb#L35-L47]\n\nAdd similar warning that is logged in the server logs on startup. [INSERT LINK TO CODE HERE]\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29768", "fixedVersions": ["PUP 7.1.0"], "id": "29768", "issueType": "Task", "key": "PUP-10812", "labels": ["platform_7.1"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2020-12-11T10:00:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Remove CA dir deprecation warning from settings defaults", "timeSpent": "PT0S", "updated": "2020-12-11T10:00:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-12-03T16:47:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@277d44d7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10801"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05cc0:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1040_*|*_3_*:*_1_*:*_1728427436_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1040306451"}], "description": "(Initial planned release date: 2020-12-15)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2020-12-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "estimate": "PT0S", "externalId": "25559", "fixedVersions": [], "id": "25559", "issueType": "Task", "key": "PUP-10810", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24453", "parentSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-01-04T17:52:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 7.1.0)", "timeSpent": "PT0S", "updated": "2021-01-04T17:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-12-03T16:47:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@e3abb2e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10801"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05cbs:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1065_*|*_3_*:*_1_*:*_2426120382_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1040317304"}], "description": "(Initial planned release date: 2020-12-15)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n", "duedate": "2020-12-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "estimate": "PT0S", "externalId": "24456", "fixedVersions": [], "id": "24456", "issueType": "Task", "key": "PUP-10809", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24453", "parentSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-01-12T19:41:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 7.1.0)", "timeSpent": "PT0S", "updated": "2021-01-12T19:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "attachments": [], "comments": [], "components": [], "created": "2020-12-03T16:46:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2bfb34c1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10801"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05cbk:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1049_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1039676612"}], "description": "(Initial planned release date: 2020-12-15)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 7.1.0 is now available\".\n", "duedate": "2020-12-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "estimate": "PT0S", "externalId": "23396", "fixedVersions": [], "id": "23396", "issueType": "Task", "key": "PUP-10808", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24453", "parentSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-12-15T17:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Send release announcement (Puppet Platform 7.1.0)", "timeSpent": "PT0S", "updated": "2020-12-15T17:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Docs published: [https://puppet.com/docs/puppet/7.0/puppet_index.html.|https://puppet.com/docs/puppet/7.0/puppet_index.html]\n\nThe version switcher will update soon.\u00a0", "created": "2020-12-15T11:43:00.000000"}], "components": [], "created": "2020-12-03T16:46:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@666d8f27"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10801"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05cb4:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Dec/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1040_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1018621597"}], "description": "(Initial planned release date: 2020-12-15)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2020-12-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "estimate": "PT0S", "externalId": "21321", "fixedVersions": [], "id": "21321", "issueType": "Task", "key": "PUP-10807", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24453", "parentSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-12-15T11:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 7.1.0)", "timeSpent": "PT0S", "updated": "2020-12-15T11:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-12-03T16:46:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7cc7e3a0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10801"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05caw:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1125_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1016395119"}], "description": "(Initial planned release date: 2020-12-15)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2020-12-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "estimate": "PT0S", "externalId": "20273", "fixedVersions": [], "id": "20273", "issueType": "Task", "key": "PUP-10806", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24453", "parentSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-12-15T11:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 7.1.0)", "timeSpent": "PT0S", "updated": "2020-12-15T11:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Puppet 7.1.0 release notes: [https://puppet-docs-preview.netlify.app/docs/puppet/latest-preview/release_notes_puppet.html#release_notes_puppet_x-0-0]\n\nServer 7.0.1 release notes: [https://puppet-docs-preview.netlify.app/docs/puppet/latest-preview/server/release_notes.html#puppet-server-701]\n\nFacter\u00a04.0.47 release notes: [https://puppet-docs-preview.netlify.app/docs/puppet/latest-preview/release_notes_facter.html#release_notes_facter_x-12-0]\n\nusername:\u00a0{{puppet}}, password:\u00a0{{fork.left.extra}}", "created": "2020-12-11T03:19:00.000000"}], "components": [], "created": "2020-12-03T16:46:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@279a04a5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10801"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05ca8:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Dec/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1033_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_642775779"}], "description": "(Initial planned release date: 2020-12-15)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2020-12-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "estimate": "PT0S", "externalId": "27686", "fixedVersions": [], "id": "27686", "issueType": "Task", "key": "PUP-10804", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24453", "parentSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-12-11T03:19:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 7.1.0)", "timeSpent": "PT0S", "updated": "2020-12-14T10:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-12-03T16:46:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@55356ffe"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10801"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05ca0:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1112_*|*_3_*:*_1_*:*_510758242_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_505652879"}], "description": "(Initial planned release date: 2020-12-15)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2020-12-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "estimate": "PT0S", "externalId": "26675", "fixedVersions": [], "id": "26675", "issueType": "Task", "key": "PUP-10803", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24453", "parentSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-12-15T11:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 7.1.0)", "timeSpent": "PT0S", "updated": "2020-12-15T11:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-12-03T16:46:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5fabd79b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10801"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05c9s:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1096_*|*_3_*:*_1_*:*_217747_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_505663657"}], "description": "(Initial planned release date: 2020-12-15)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 7.1.0 and puppet-agent 7.1.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2020-12-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "estimate": "PT0S", "externalId": "25558", "fixedVersions": [], "id": "25558", "issueType": "Task", "key": "PUP-10802", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24453", "parentSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-12-09T13:17:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 7.1.0)", "timeSpent": "PT0S", "updated": "2020-12-09T13:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-12-03T16:46:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1cb2ed4e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-13"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 7.1.0 Release - 2020-12-15\n"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_green"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05c9k:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3466491027_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "duedate": "2020-12-15T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24453", "fixedVersions": [], "id": "24453", "issueType": "Epic", "key": "PUP-10801", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-01-12T19:41:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "timeSpent": "PT0S", "updated": "2021-08-23T10:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-12-03T04:08:00.000000", "creator": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@54478f3c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11230"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04mzo:"}], "description": "*Puppet Version: 6.14*\n *OS Name/Version: CentOS 8.2*\n\nIt is not possible to install an rpm package via an provides name of the package.\n\nSample:\n{code:java}\npackage { 'dnf-plugin-post-transaction-actions': ensure => installed} {code}\nit will fails with:\n{code:java}\nError: Execution of '/usr/bin/dnf -d 0 -e 1 -y list dnf-plugin-post-transaction-actions' returned 1: Error: No matching Packages to list{code}\nbecause dnf list only work with real package names, not with package provides.\n\nBut an blind dnf call will work:\n{code:java}\nLANG=C dnf install dnf-plugin-post-transaction-actions\nLast metadata expiration check: 0:00:11 ago on Thu Dec  3 12:02:50 2020.\nDependencies resolved.\n===================================================================================================================================================================================================================\n Package                                                                     Architecture                           Version                                           Repository                              Size\n===================================================================================================================================================================================================================\nInstalling:\n python3-dnf-plugin-post-transaction-actions                                 noarch                                 4.0.12-4.el8_2                                    BaseOS                                  51 kTransaction Summary\n===================================================================================================================================================================================================================\nInstall  1 Package\n\n{code}\nIt will provides:\n{code:java}\ndnf download dnf-plugin-post-transaction-actions\npython3-dnf-plugin-post-transaction-actions-4.0.12-4.el8_2.noarch.rpm\n\nrpm -qp --provides python3-dnf-plugin-post-transaction-actions-4.0.12-4.el8_2.noarch.rpm\nconfig(python3-dnf-plugin-post-transaction-actions) = 4.0.12-4.el8_2\ndnf-plugin-post-transaction-actions = 4.0.12-4.el8_2\npython3-dnf-plugin-post-transaction-actions = 4.0.12-4.el8_2\n{code}\nSo it can be installed via dnf install dnf-plugin-post-transaction-actions. But puppet can't handle package provides of an rpm package. So doing the same with puppet will fail.\n\n\u00a0", "epicLinkSummary": "Add support for rpm package provides", "estimate": "PT0S", "externalId": "29767", "fixedVersions": [], "id": "29767", "issueType": "Bug", "key": "PUP-10798", "labels": [], "originalEstimate": "PT0S", "parent": "20213", "parentSummary": "Add support for rpm package provides", "priority": "Critical", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Unable to install rpm packages via provides of the package", "timeSpent": "PT0S", "updated": "2021-08-24T03:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 2111630aba", "created": "2020-12-08T10:37:00.000000"}], "components": [], "created": "2020-12-02T10:37:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@79698bda"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05b2o:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The puppet gem now depends on scanf which is necessary when running on ruby 2.7. This makes it possible to run module tests against the puppet gem on ruby 2.7."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_103302662_*|*_1_*:*_1_*:*_1867482_*|*_10007_*:*_1_*:*_398504337_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_14915093"}], "description": "Ruby 2.7 removed the scanf implementation (in Kernel, IO and String) from core ruby to a separate gem. Puppet's [{{scanf}} function|https://puppet.com/docs/puppet/latest/function.html#scanf]\u00a0depends on that ruby method, but only expresses the {{scanf}} runtime dependency in its [{{Gemfile}}|https://github.com/puppetlabs/puppet/blob/96029b003cfbb5303426cbc110f350a0d4b6af06/Gemfile#L21], but not in the gem that is pushed to rubygems. See https://rubygems.org/gems/puppet/versions/7.0.0.\n\nAs a result, if a module calls the puppet {{scanf}} function using puppet 7 (gem) and ruby 2.7, such as when running rspec tests, then you'll see (for example in https://github.com/puppetlabs/puppetlabs-puppetdb/pull/317)\n\n{noformat}\n       LoadError:\n         cannot load such file -- scanf\n{noformat}\n\nThis doesn't affect module functionality when testing or running against puppet-agent 7 packages, because the {{scanf}} gem is included.\n\nAFAIK rubygems doesn't have a way to express conditional runtime dependencies (i.e. only add this dependency when running on ruby 2.7 and up). So the best thing may be to always add the runtime dependency for the puppet 7.x collection? If you're running the puppet 7 gem with ruby 2.5.0, then things will still work (the scanf gem is ignored).\n\n{noformat}\n$ rbenv shell 2.5.8\n$ gem install scanf --no-document\nFetching: scanf-1.0.0.gem (100%)\nSuccessfully installed scanf-1.0.0\n1 gem installed\n$ irb\nirb(main):001:0> require 'scanf'\n=> true\nirb(main):002:0> $LOADED_FEATURES.grep /scanf/\n=> [\"/usr/local/Cellar/rbenv/1.1.2/versions/2.5.8/lib/ruby/2.5.0/scanf.rb\"]\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20271", "fixedVersions": ["PUP 7.1.0"], "id": "20271", "issueType": "Bug", "key": "PUP-10797", "labels": ["doc_reviewed", "platform_7.1"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-12-08T10:40:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "puppet 7 gem is missing runtime dependency on scanf", "timeSpent": "PT0S", "updated": "2020-12-09T09:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is a great beginner puppet ticket. The [{{filebucket}} application|https://github.com/puppetlabs/puppet/blob/8bf64bb72eb48cca24d7e6e4c99e6b21e497fa86/lib/puppet/application/filebucket.rb#L3] needs to do the same thing as the [{{plugin}} application|https://github.com/puppetlabs/puppet/blob/8bf64bb72eb48cca24d7e6e4c99e6b21e497fa86/lib/puppet/application/plugin.rb#L3]\n", "created": "2020-12-01T17:23:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/b5fb1dff0ca31f1d5d720a5c1e7eb11cefcaac28", "created": "2021-06-16T08:15:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in e6ba8f9345", "created": "2021-06-21T12:26:00.000000"}], "components": [], "created": "2020-12-01T13:28:00.000000", "creator": "6243902af407980070555436", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@14cfb66c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "RHEL 7 (x86_64)"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05a1s:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The filebucket application no longer requires an environment to exist locally."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Dec/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_447060322_*|*_1_*:*_1_*:*_13950768_*|*_10007_*:*_1_*:*_80595439_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_16903905089"}], "description": "*Puppet Version:*\u00a05.5.21\n *Puppet Server Version:*\u00a05.3.8\n *OS Name/Version:*\u00a0RHEL 7\n\nWhen using a non default environment (something other than\u00a0{{production}})\u00a0on a puppet agent from the puppet master, for example {{testenv}}, running {{puppet filebucket -l list --bucket /opt/puppetlabs/puppet/cache/clientbucket/ fails with\u00a0Puppet::Environments::EnvironmentNotFound}}\n\n*Desired Behavior:*\u00a0{{puppet filebucket}} uses Puppet environment from {{/etc/puppetlabs/puppet/puppet.conf and runs successfully.}}\n\n*Actual Behavior:*\n\n\u00a0\n{noformat}\n $ sudo puppet filebucket -l list --bucket /opt/puppetlabs/puppet/cache/clientbucket/ \n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/environments.rb:38:in `get!': Could not find a directory environment named 'testenv' anywhere in the path: /etc/puppetlabs/code/environments. Does the directory exist? (Puppet::Environments::EnvironmentNotFound)\n        from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application_support.rb:34:in `push_application_context'\n        from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:363:in `run'\n        from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:139:in `run'\n        from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:77:in `execute'\n        from /opt/puppetlabs/puppet/bin/puppet:5:in `<main>'\n$ puppet --version\n5.5.21\n$ ls -lhatr /etc/puppetlabs/code/environments/ total 0 drwxr-xr-x. 4 root root 41 Jul 3 07:34 .. drwxr-xr-x. 3 root root 24 Jul 3 07:34 . drwxr-xr-x. 5 root root 92 Aug 21 01:30 production\n$ cat /etc/puppetlabs/puppet/puppet.conf\n[main]\nenvironment = testenv\nserver = puppetmaster.example.com\nruntimeout = 1h\nsplay = true\nsplaylimit = 3m\nstrict_variables = true\ngraph = true\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29766", "fixedVersions": ["PUP 6.24.0", "PUP 7.9.0"], "id": "29766", "issueType": "Bug", "key": "PUP-10796", "labels": ["beginner", "doc-reviewed", "help_wanted"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6243902af407980070555436", "resolution": "Fixed", "resolutionDate": "2021-06-21T12:26:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "puppet filebucket fails when using non-default environment from master", "timeSpent": "PT0S", "updated": "2021-07-13T05:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "5e86795b467ac20c1d915b3a", "created": "2020-12-03T19:07:00.000000", "name": "error.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12121"}, {"attacher": "5e86795b467ac20c1d915b3a", "created": "2020-12-03T19:06:00.000000", "name": "image-2020-12-04-10-06-11-639.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12035"}], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is likely a duplicate of one or more bugs that were fixed in the 6.x series (see PUP-6380, PUP-8300, PUP-9109, PUP-10603). Puppet should now follow redirects with query parameters correctly. Can you try with the most recent 6.19.1 agent and run the agent as {{puppet agent -t --http_debug}} and include the output as a comment.", "created": "2020-11-30T10:38:00.000000"}, {"author": "5e86795b467ac20c1d915b3a", "body": "hi Josh\u00a0\n\nThanks for your reply, I tried to install puppet7-agent on the client,Then I run puppet agent -t --http_debug\n\nBut the error still occurs, the following is a screenshot, the attachment is the error content (My puppet server is still 5.3.14)\n\n\u00a0\n\n[^error.txt]\n\n!image-2020-12-04-10-06-11-639.png!", "created": "2020-12-03T19:08:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Does {{curl -vv 'https://test.blob.core.chinacloudapi.cn/test/key_password.txt?sv=2020-02-10&si=1&sr=c&sig=t9ZbB0tL3q8AtFATbw1HdF/zXhp0%3'}} work? Can you include the output?", "created": "2020-12-04T11:25:00.000000"}, {"author": "5e86795b467ac20c1d915b3a", "body": "\u00a0hi Josh ,I found that the error last time was due to my url error. When I upgraded to 7, the file was downloaded correctly, but the speed was very slow\n\nAnd I want to confirm with you that I can upgrade all puppet agent to 6.19.1 without upgrading the puppet server?(my puppet server is 5.3.14)\n\n\u00a0", "created": "2020-12-06T19:49:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "We always recommend upgrading puppetserver/puppetdb prior to agents, see https://puppet.com/docs/puppet/latest/upgrade_minor.html\n\nAbout slowness, you might want to use wireshark and compare network traces of puppet vs curl. It's possible ruby's {{Net::HTTP}} does something inefficiently when handling chunked encoding, like read from the socket one byte at a time.", "created": "2020-12-07T13:12:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "\u00a0[~accountid:5e86795b467ac20c1d915b3a]\u00a0any update on this?", "created": "2021-08-18T11:05:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "We haven't received a reply so I'm going to close this. Please reopen with the output of {{puppet agent --t --http_debug}} if the problem\u00a0is reproducible.", "created": "2021-09-13T17:33:00.000000"}], "components": [], "created": "2020-11-24T00:38:00.000000", "creator": "5e86795b467ac20c1d915b3a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@22507488"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "CentOS 7"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o057y8:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Nov/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_554419127_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_24818099058"}], "description": "*Puppet Version: 5.5.17*\n *Puppet Server Version:\u00a05.3.14*\n *OS Name/Version:\u00a0\u00a0CentOS Linux release 7.6.1810 (Core)*\n\nDescribe your issue in as much detail as possible\u2026\n Describe steps to reproduce\u2026\n\n*Desired Behavior:*\n\n*I use Azure blob as the download source,and used SAS token. So the downloaded link is similar to [https://test.blob.core.chinacloudapi.cn/test/key_password.txt?sv=2020-02-10&si=1&sr=c&sig=t9ZbB0tL3q8AtFATbw1HdF/zXhp0%3]\n\n*Actual Behavior:*\n\nI defined a resource :\n\n{code:puppet}\nfile { '1.txt':\n\u00a0path => /opt/1.txt,\n source =>\u00a0 'https://test.blob.core.chinacloudapi.cn/test/key_password.txt?sv=2020-02-10&si=1&sr=c&sig=t9ZbB0tL3q8AtFATbw1HdF/zXhp0%3',\n ensure => present,\n}\n{code}\n\nThen I ran puppet on the client, and I got an error.\n\n{noformat}\nError: /Stage[main]/Base::Init/File[1.txt]: Could not evaluate: Could not retrieve information from environment production source(s)\n{noformat}\n\nThis url cannot be downloaded directly using wget on centos7.must use wget 'url'\n\nCan anyone give me some help, thanks", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28698", "fixedVersions": [], "id": "28698", "issueType": "Bug", "key": "PUP-10792", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5e86795b467ac20c1d915b3a", "resolution": "Cannot Reproduce", "resolutionDate": "2021-09-13T17:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "How to set token for https url when using puppet file resource", "timeSpent": "PT0S", "updated": "2021-09-13T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5abd613dd4cf3c56be24b70d", "body": "Thank you for filing this issue. We agree it is likely an improvement, but due to other issues demanding precedence, we don\u2019t anticipate being able to address this any time soon. If you are interested in submitting a patch to the repository for this project at https://github.com/puppetlabs, please open a pull request.", "created": "2020-12-01T10:09:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Based on [~accountid:5abd613dd4cf3c56be24b70d] comment above, I'm going to close this. Please reopen if you'd like to submit a pull request, and if you need help getting started, ping us in slack.", "created": "2021-06-21T12:35:00.000000"}], "components": ["Types and Providers"], "created": "2020-11-21T03:22:00.000000", "creator": "623c0aaba9575800695ac908", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@219fe2db"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o057hk:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Dec/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_888442636_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_17457920065"}], "description": "*Puppet Version:\u00a0 6.x*\n *Puppet Server Version:* \n *OS Name/Version: OpenBSD 6.8*\n\npackages with stems and multiple versions available cannot be installed automatically. since the openbsd package provider cannot use version and flavor.\n\n*Actual Behavior:*\n\nTaken the following manifest:\n\n{code:puppet}\npackage{'postfix':\n ensure => '3.5.7',\n }\n{code}\n\nif run with puppet apply gives the output:\n\n{noformat}\nDebug: Executing: '/usr/sbin/pkg_info postfix'\nDebug: Executing: '/usr/sbin/pkg_add -r postfix--'\n\"quirks-3.439 signed on 2020-11-19T21:06:27Z\\n\" +\n\"Ambiguous: postfix-- could be postfix-3.6.20200627 postfix-3.5.7\\n\"\n{noformat}\n\nRemark:\n\npostfix on OpenBSD 6.8 is available in multiple flavors in two versions. I did not find a way to install a postfix\u00a0 version automatically without using an exec statement !!!!\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27684", "fixedVersions": [], "id": "27684", "issueType": "Bug", "key": "PUP-10791", "labels": ["help_wanted"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0aaba9575800695ac908", "resolution": "Won't Fix", "resolutionDate": "2021-06-21T12:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "openbsd package provider fails for packages available in multiple versions and multiple flavors", "timeSpent": "PT0S", "updated": "2021-06-21T12:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "6243b3c84fe01d006ba5c5e3", "body": "Same thing happens on exec, when user is a uid:\n\n\u00a0\n{code:java}\n /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/exec.rb:599: warning: deprecated Object#=~ is called on Integer", "created": "2020-11-20T17:04:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The warning comes from ruby 2.7 due to these lines in the user type:\n\n{code:ruby}\n          if group =~ /^\\d+$/\n            Integer(group)\n          else\n            group\n          end\n{code}\n\nIf {{group}} is already an Integer then the regex match is non-sensical. It would be better to check for the Integer case explicitly, like is done below those lines:\n\n{code:ruby}\nif group.is_a?(Integer)\n  group\nelse\n  Integer(group)\nend\n{code}\n\nIf {{group}} can't be converted into an array, then the catalog should fail.\n\n\n\n\u00a0", "created": "2020-11-23T10:53:00.000000"}], "components": ["Types and Providers"], "created": "2020-11-20T16:58:00.000000", "creator": "6243b3c84fe01d006ba5c5e3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7cbef838"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0570z:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fixes warning introduced in Ruby 2.7  for checking invalid objects (such as Integer in our case) against a regular expression"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Nov/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_172196766_*|*_1_*:*_1_*:*_316925664_*|*_3_*:*_1_*:*_10840279_*|*_10009_*:*_1_*:*_82711396_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1273298263"}], "description": "\u00a0\n{code:java}\n # cat foo.pp \nuser { 'user1':\n  ensure             => 'present',\n  gid                => 10008,\n  groups             => ['bla'],\n  home               => '/home/user1',\n  provider           => 'useradd',\n  shell              => '/bin/bash',\n  uid                => '10008',\n}\n\n# puppet apply --noop foo.pp\nNotice: Compiled catalog for foo in environment production in 0.02 seconds\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/user.rb:468: warning: deprecated Object#=~ is called on Integer; it always returns nil\nNotice: /Stage[main]/Main/User[user1]/ensure: current_value 'absent', should be 'present' (noop)\nNotice: Class[Main]: Would have triggered 'refresh' from 1 event Notice: Stage[main]: Would have triggered 'refresh' from 1 event Notice: Applied catalog in 0.41 seconds\n{code}\n\nvs.\n\n\n{code:java}\n # cat foo.pp \nuser { 'user1':\n  ensure             => 'present',\n  gid                => '10008',\n  groups             => ['bla'],\n  home               => '/home/user1',\n  provider           => 'useradd',\n  shell              => '/bin/bash',\n  uid                => '10008',\n}\n\n\n # puppet apply --noop foo.pp \nNotice: Compiled catalog for foo in environment production in 0.02 seconds\nNotice: /Stage[main]/Main/User[user1]/ensure: current_value 'absent', should be 'present' (noop)\nNotice: Class[Main]: Would have triggered 'refresh' from 1 event\nNotice: Stage[main]: Would have triggered 'refresh' from 1 event\nNotice: Applied catalog in 0.42 seconds\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29720", "fixedVersions": ["PUP 7.1.0"], "id": "29720", "issueType": "Bug", "key": "PUP-10790", "labels": ["doc_reviewed", "platform_7.1"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6243b3c84fe01d006ba5c5e3", "resolution": "Fixed", "resolutionDate": "2020-12-12T04:31:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "user provider with uid/gid as Integer raises warning", "timeSpent": "PT0S", "updated": "2020-12-14T08:04:00.000000", "votes": "2", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-11-20T00:27:00.000000", "creator": "623c12ff94742a00683e41fd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6171849a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0570w:"}], "description": "Current implementation also shows the primary group in the group field:\n{code:java}\n> puppet resource user 'root'\nuser { 'root':\n  ensure   => 'present',\n  comment  => 'root',\n  gid      => 0,\n  groups   => ['root'],\n  home     => '/root',\n  provider => 'useradd',\n  shell    => '/bin/bash',\n  uid      => 0,\n}\n\n> getent group root\nroot:x:0:root\n{code}\n\nAbove differs from the case where:\n{code:java}\n> puppet resource user 'luchi'\nuser { 'luchi':\n  ensure   => 'present',\n  gid      => 1000,\n  home     => '/home/luchi',\n  provider => 'useradd',\n  shell    => '/bin/sh',\n  uid      => 100,\n}\n\n> getent group luchi\nluchi:x:1000:\n{code}\n\nThis needs to be investigated and confirmed if it is valid information as it is or if changes are needed. Both *Puppet::Etc.group* and *FFI* methods of resolving '*groups_of*' a user need to be addressed (https://github.com/puppetlabs/puppet/blob/master/lib/puppet/util/posix.rb).\n\nBehaviour seen and tested only with *useradd* provider. Others also need to be checked for alignment (like *directoryservice* for macOSX and *pw* for FreeBSD as they are not using above util file).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27682", "fixedVersions": [], "id": "27682", "issueType": "Task", "key": "PUP-10787", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c12ff94742a00683e41fd", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Listing primary group with Puppet in 'user' resource", "timeSpent": "PT0S", "updated": "2021-06-22T01:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2020-11-19T10:06:00.000000", "creator": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@208f8af3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Automated Test"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o056jk:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "A known issue with Puppet 7.0.0 was that the {{puppet node clean}} action would fail if the user was had their {{cadir}} in the legacy location or inside the {{ssldir}}. This was a regression and it no longer does so."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_258341420_*|*_1_*:*_1_*:*_173763_*|*_10007_*:*_1_*:*_84461277_*|*_3_*:*_1_*:*_5594515_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_178607"}], "description": "In the [Puppet Node|https://github.com/puppetlabs/puppet/blob/d4982257ab2ab5f4f1e696c212b328fa99a9253d/lib/puppet/face/node/clean.rb#L49-L57] face's 'clean' action, we load the Puppet Server CA CLI as a library, passing in a 'LoggerIO' object as an adapter between the CA's logging facilities and Puppet's.\n\nPreviously, we only needed `inform` and `err` methods to call the relevant APIs in the CA - and it appears our LoggerIO adapter only implements those two methods.\n\nWith the new cadir default change (see SERVER-2896) we may `warn` as well which will now cause {{puppet node clean}} calls to fail with an undefined method on LoggerIO.\n\nTo fix this we should update the LoggerIO adapter to provide all the methods available in the Puppet Server CA's Logger.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29718", "fixedVersions": ["PUP 7.1.0"], "id": "29718", "issueType": "Bug", "key": "PUP-10786", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2020-11-23T10:59:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Puppet Node Clean action's LoggerIO needs to implement `warn`", "timeSpent": "PT0S", "updated": "2020-12-09T09:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Hiera & Lookup"], "created": "2020-11-17T13:20:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@53a2c0b7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "SERVER-2911"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0emad:i"}], "description": "The {{eyaml_lookup_key}} function configures global options before calling into the {{hiera-eyaml}} backend: https://github.com/puppetlabs/puppet/blob/ac1e01e521f5fde3cd129c610169f3d01f78933e/lib/puppet/functions/eyaml_lookup_key.rb#L87.\n\nThe backend overwrites the global {{@@options}} hash each time {{set}} is called. So even if the options are the same for every call, for example:\n\n{options}\n{\"pkcs7_private_key\"=>\"/etc/puppetlabs/puppet/eyaml/private_key.pkcs7.pem\", \"pkcs7_public_key\"=>\"/etc/puppetlabs/puppet/eyaml/public_key.pkcs7.pem\", \"path\"=>\"/etc/puppetlabs/code/environments/production/data/common.eyaml\"}\n{options}\n\nmultiple threads could mutate the global options hash while decrypting values. Since the {{path}} to the file containing the secrets is going to vary across environments, it seems like we need to prevent concurrent access to the hiera-eyaml backend.", "epicLinkSummary": "Multithreaded Fixes", "estimate": "PT0S", "externalId": "29717", "fixedVersions": [], "id": "29717", "issueType": "Bug", "key": "PUP-10785", "labels": [], "originalEstimate": "PT0S", "parent": "17234", "parentSummary": "Multithreaded Fixes", "priority": "Low (migrated)", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "eyaml_lookup_key isn't thread safe", "timeSpent": "PT0S", "updated": "2022-04-26T22:23:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:8079e9b1-274b-4698-8163-71a2e94c8d2f] the interpolation also needs to be deferred for that to work. One way to handle that is call {{inline_epp}} as a deferred function, using variables that are also deferred:\n\n{code:puppet}\n$variables = {\n  'db_host' => Deferred(load_file,[$db_host_file]),\n  'db_name' => Deferred(load_file,[$db_name_file])\n}\naugeas { 'sql':\n  ...\n  changes => Deferred('inline_epp', [\"set session-factory/property[#attribute/name='hibernate.connection.url']/#text 'jdbc:postgresql://<%= \\$db_host %>/<%= \\$db_name %>'\", $variables])\n}\n{code}\n\nThe quoting starts to become complicated (note I had to escape {{$db_host}}), so it's better to put that in an EPP template.", "created": "2020-11-17T17:01:00.000000"}, {"author": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "body": "Hi Josh,\n\nyes will work, but that augeas muss be called many times, because {color:#000000}changes of augeas needs an array.\n{color}\n{code:java}\n  $con_data = {\n    'host'     => Deferred(load_file,[$db_host_file]),\n    'name'     => Deferred(load_file,[$db_name_file]),\n    'user'     => Deferred(load_file,[$db_user_file]),\n    'password' => Sensitive(Deferred(load_file,[$db_password_file]))\n  }\n  $settings = [\n    \"set session-factory/property[#attribute/name='hibernate.connection.driver_class']/#text 'org.postgresql.Driver'\",\n    \"set session-factory/property[#attribute/name='hibernate.dialect']/#attribute/name 'hibernate.dialect'\",\n    \"set session-factory/property[#attribute/name='hibernate.dialect']/#text 'org.hibernate.dialect.PostgreSQLDialect'\",\n    \"set session-factory/property[#attribute/name='hibernate.jdbc.use_streams_for_binary']/#attribute/name 'hibernate.jdbc.use_streams_for_binary'\",\n    \"set session-factory/property[#attribute/name='hibernate.jdbc.use_streams_for_binary']/#text 'false'\",\n    \"set session-factory/property[#attribute/name='xwiki.virtual_mode']/#attribute/name 'xwiki.virtual_mode'\",\n    \"set session-factory/property[#attribute/name='xwiki.virtual_mode']/#text 'schema'\",\n    \"rm session-factory/mapping[#attribute/resource='xwiki.hbm.xml']\",\n    \"set session-factory/mapping[#attribute/resource='xwiki.postgresql.hbm.xml']/#attribute/resource 'xwiki.postgresql.hbm.xml'\",\n  ]\n$augeags_default = {\n    lens    => 'Xml.lns',\n    incl    => \"/usr/share/tomcat9/webapps/xwiki/WEB-INF/hibernate.cfg.xml\",\n    context => \"/files/usr/share/tomcat9/webapps/xwiki/WEB-INF/hibernate.cfg.xml/hibernate-configuration\",\n    require => ...,\n    notify  => ..,\n  }\n  $external_settings = [\n    \"set session-factory/property[#attribute/name='hibernate.connection.url']/#text 'jdbc:postgresql://<%= \\$host %>/<%= \\$name %>'\",\n    \"set session-factory/property[#attribute/name='hibernate.connection.username']/#text '<%= \\$user %>'\",\n    \"set session-factory/property[#attribute/name='hibernate.connection.password']/#text '<%= unwrap(\\$password) %>'\"\n  ]\n  augeas { 'sql':\n    changes => $settings,\n    *       => $augeags_default\n  }\n  $external_settings.each |String $s| {\n    augeas { $s:\n      changes   => Deferred('inline_epp',[$s, $con_data]),\n      show_diff => false,\n      *         => $augeags_default\n    }\n  }\n\n{code}\n\u00a0", "created": "2020-11-18T02:44:00.000000"}], "components": ["Functions"], "created": "2020-11-17T04:08:00.000000", "creator": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@626ac7b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "CentOS 7"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05574:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Nov/20"}], "description": "*Puppet Version: puppet-agent-6.19.1-1.el7.x86_64*\n *Puppet Server Version: puppetserver-6.14.1-1.el7.noarch*\n *OS Name/Version: CentOS 7.9*\n\nThe augeas module don't handle Deferred values correct.\n\n*Desired Behavior: That the value of the deferred function in inserted.*\n\n*Actual Behavior: Not the value, but the text ''Deferred({\" is inserted.*\n\n*sample:*\n{code:java}\n$db_host = Deferred(load_file,[$db_host_file])\n$db_name = Deferred(load_file,[$db_name_file])\n$settings = [\n  \"set session-factory/property[#attribute/name='hibernate.connection.url']/#text 'jdbc:postgresql://${db_host}/${db_name}'\"\n]\naugeas { 'sql':\n lens => 'Xml.lns',\n incl => \"/usr/share/tomcat9/webapps/xwiki/WEB-INF/hibernate.cfg.xml\",\n context => \"/files/usr/share/tomcat9/webapps/xwiki/WEB-INF/hibernate.cfg.xml/hibernate-configuration\",\n changes => $settings,\n require => ...,\n notify => ...\n }{code}\nThe used function in Deferred itself will work, because using it for ini_setting it will work there.\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29716", "fixedVersions": [], "id": "29716", "issueType": "Bug", "key": "PUP-10784", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Critical", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8079e9b1-274b-4698-8163-71a2e94c8d2f", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Augeas don't handle Deferred values", "timeSpent": "PT0S", "updated": "2020-11-18T02:44:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "Well, that is the point at which the syntax error occurs. There isn't really much that can be done about that. \nThe second function is just wrong - it cannot be parsed - the first expression appears to set a variable to an empty array, but it actually continues with the brace enclosed part since an expression followed by a block may be one of the resource type expressions. \n\nIn most cases when wanting to return a literal hash, the preceding line must be terminated with semicolon {{", "created": "2020-11-12T10:05:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Based on [~accountid:70121:81a73de1-7f52-49cd-b0b0-46c1b147202a] comment, I'm going to close this as won't/can't do.", "created": "2020-11-12T11:49:00.000000"}, {"author": "70121:dc80eeb2-d511-41be-9926-3cda182443e4", "body": "Just ran into this today, is it documented anywhere, I couldn't find it on the hashes doc, https://puppet.com/docs/puppet/7/lang_data_hash.html\n\nfails without semicolon:\n{code:puppet}\n$c = 'bubbles'\n{'butter' => $c}.each |$a, $b| { notice($a,$b) }\n{code}\n\nsucceeds with semicolon:\n{code:puppet}\n$c = 'bubbles'\n", "created": "2022-04-07T13:47:00.000000"}], "components": [], "created": "2020-11-12T07:12:00.000000", "creator": "70121:e4a241a9-ee12-453c-a3be-572e9f746531", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2e62b42c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o051o0:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Nov/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_16618243_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.18.0*\n *Puppet Server Version: 6.13.0*\n *OS Name/Version: Ubuntu 18.04*\n{code:puppet}function test::valid() >> Data {\n  {\n    \"test\" => \"\"\n  }\n}\n\nfunction test::invalid() >> Data {\n  $test_one = [\n  ]\n\n  {\n    \"test\" => $test_one\n  }\n}\nfunction test::valid2() >> Data {\n  $test_one = [\n  ]\n\n  $test = {\n    \"test\" => $test_one\n  }\n  $test\n}\n{code}\n*Desired Behavior:*\n\nSecond function example expected to parse correctly or give better error message\n\n*Actual Behavior:*\n\nSecond function in code snippet fails when parsing.\n\nShows error:\n{code:java}Error: Could not parse for environment ...: Syntax error at '=>' (file: ...{code}\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23394", "fixedVersions": [], "id": "23394", "issueType": "Improvement", "key": "PUP-10782", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:e4a241a9-ee12-453c-a3be-572e9f746531", "resolution": "Won't Fix", "resolutionDate": "2020-11-12T11:49:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Could not parse for environment ...: Syntax error at '=>' ...", "timeSpent": "PT0S", "updated": "2022-04-07T13:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The downloading twice issue is PUP-3916 and is due to the way puppet determines if a resource is insync and if not, enforces compliance. The file diff is calculated in the first step, because we want to show what would happen when running in noop mode, as step 2 never happens.\n\nPuppet has always worked this way, but is only a hard failure due to PUP-10368, as puppet strictly enforces that the file it is about to commit matches the desired checksum, either specified in the manifest or retrieved from the source via file_metadata. Previously puppet was \"lenient\".\n\nSince puppet makes two requests for metadata and content, there is always a race condition where the content can change in between.\n\nI'd argue that setting the checksum type to {{mtime}} is probably the correct thing here, since you can't definitively say what the md5/sha256 checksum should be.", "created": "2020-11-12T12:30:00.000000"}, {"author": "557058:1134d60c-31df-407a-b573-e0cfaef8865e", "body": "Closing this in favor of PUP-3916, will add the support case there for traction", "created": "2020-11-17T05:02:00.000000"}, {"author": "557058:1134d60c-31df-407a-b573-e0cfaef8865e", "body": "Closing this in favor of PUP-3916", "created": "2020-11-17T05:03:00.000000"}], "components": [], "created": "2020-11-12T03:56:00.000000", "creator": "557058:1134d60c-31df-407a-b573-e0cfaef8865e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@e159225"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o051m0:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Nov/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_436015162_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:* 6.17.0\n*Puppet Server Version:* 6.12.1\n*OS Name/Version:* Rhel7\n\nIf file resource content changes during a puppet run, although content of the file is retrieved several times, its continues to use the first retrievals checksum\n\nSteps from customer testing:\n\n* Starting with empty file (checksum d41d8)\n\n{code:java}\n2020-11-05 12:57:34 +0100 Puppet (debug): HTTP GET https://testmaster:8140/puppet/v3/file_metadata/skv_files/bigfile?links=manage&checksum_type=md5&source_permissions=ignore&environment=che_mini returned 200 OK\n2020-11-05 12:57:34 +0100 Puppet (debug): Caching connection for https://testmaster:8140\n2020-11-05 12:57:34 +0100 Puppet (debug): Using cached connection for https://testmaster:8140\n2020-11-05 12:57:34 +0100 Puppet (debug): HTTP GET https://testmaster:8140/puppet/v3/file_content/skv_files/bigfile?environment=che_mini returned 200 OK\n{code}\n\n* note that the file content was fetched here.\n\n* at exactly this point in time I did the mv\n\n{code:java}\n4bf04783777bafe2284f66dcac603a41 bigfile\n6d5f49c6fd6ea5291693d649785776de bigfile2\n# mv bigfile bigfile1; mv bigfile2 bigfile; md5sum bigfile*\n6d5f49c6fd6ea5291693d649785776de bigfile\n4bf04783777bafe2284f66dcac603a41 bigfile1\n{code}\n\n* And then the log continues with\n\n{code:java}\n2020-11-05 12:58:11 +0100 Puppet (debug): Caching connection for https://testmaster:8140\n2020-11-05 12:58:11 +0100 Puppet (debug): Executing: 'diff -u /var/crash/puppet_big_testfile /tmp/puppet-file20201105-12000-12l62g2'\n2020-11-05 12:58:11 +0100 /Stage[main]/Che_test/File[/var/crash/puppet_big_testfile]/content (notice):\nBinary files /var/crash/puppet_big_testfile and /tmp/puppet-file20201105-12000-12l62g2 differ\n2020-11-05 12:58:12 +0100 Puppet (debug): Using cached connection for https://testmaster:8140\n2020-11-05 12:58:12 +0100 Puppet (debug): HTTP GET https://testmaster:8140/puppet/v3/file_content/skv_files/bigfile?environment=che_mini returned 200 OK\n{code}\n\n\n* The content is fetched again here. \n\n{code:java}\n2020-11-05 12:58:49 +0100 Puppet (debug): Caching connection for https://testmaster:8140\n2020-11-05 12:58:49 +0100 Puppet (err): File written to disk did not match desired checksum; discarding changes ({md5}6d5f49c6fd6ea5291693d649785776de vs {md5}4bf04783777bafe2284f66dcac603a41)\n{code}\n\n* And yes, the checksum 4bf04 doesn't match the checksum the file fetched 12:57:34 had.\n\n{code:java}\n2020-11-05 12:58:49 +0100 Puppet (debug): Using cached connection for https://testmaster:8140\n2020-11-05 12:58:49 +0100 Puppet (debug): HTTP GET https://testmaster:8140/puppet/v3/file_content/skv_files/bigfile?environment=che_mini returned 200 OK\n2020-11-05 12:59:26 +0100 Puppet (debug): Caching connection for https://testmaster:8140\n2020-11-05 12:59:26 +0100 Puppet (debug): Executing: 'diff -u /var/crash/puppet_big_testfile /tmp/puppet-file20201105-12000-25edl0'\n2020-11-05 12:59:26 +0100 /Stage[main]/Che_test/File[/var/crash/puppet_big_testfile]/content (notice):\nBinary files /var/crash/puppet_big_testfile and /tmp/puppet-file20201105-12000-25edl0 differ\n2020-11-05 12:59:26 +0100 /Stage[main]/Che_test/File[/var/crash/puppet_big_testfile]/content (err): change from '{md5}d41d8cd98f00b204e9800998ecf8427e' to '{md5}4bf04783777bafe2284f66dcac603a41' failed: File written to disk did not match desired checksum; discarding changes ({md5}6d5f49c6fd6ea5291693d649785776de vs {md5}4bf04783777bafe2284f66dcac603a41) (corrective)\n{code}\n\n* The log state that it wanted to change content from d41d8 (empty file) to 4bf04 but the new content is actualy 6d5f4\n\n*Desired Behavior:*  if puppet agent fetches the content first 12:57:34,\nand then again 12:58:12, it should not expect the checksum to be the one from\nthe first content fetch but from the second.\n\n*Actual Behavior:* Agent uses the checksum from first file content fetch\n\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24447", "fixedVersions": [], "id": "24447", "issueType": "Bug", "key": "PUP-10781", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:1134d60c-31df-407a-b573-e0cfaef8865e", "resolution": "Duplicate", "resolutionDate": "2020-11-17T05:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "If file resource content changes during puppet run, it uses original file checksum although content is retrieved several times", "timeSpent": "PT0S", "updated": "2020-11-17T05:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This would be nice, but we don't have plans on changing this anytime soon.", "created": "2022-03-04T10:21:00.000000"}], "components": [], "created": "2020-11-11T14:38:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1bcda8ca"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-7563"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0514o:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_516847054_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_40766936507"}], "description": "Puppetserver calls\u00a0{{Puppet::Environment::Cached#get!}}\u00a0for each\u00a0{{puppet/v3}}\u00a0REST request (eg node, catalog, file_metadata(s), report), and each call causes the cache to check the eviction status of N other environments. So if puppetserver is handling large numbers of environments, then we'll get quadratic behavior.\n\nI think it'd be better if the environment cache kept a list of environments sorted on expiration time (in ascending order) and if puppetserver called directly into the cache to mark expired environments, rather than waiting for puppet to callback later, one environment at a time. Whenever an environment is touched, we just need to remove it from the sorted list and add it back with the new expiration time.\n\nCache eviction then becomes \"evict all marked environments\" and \"evict environments from the sorted list, and stop when we reach the first non-expired environment or end of list\". We can also optimize for the case where the marked set is empty and the first entry in the expiration list is in the future.\n\n/cc [~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100], [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69], [~accountid:557058:104b5720-714d-4539-b455-df472251ec89]", "epicLinkSummary": "Server-side Environment Handling Improvements", "estimate": "PT0S", "externalId": "23393", "fixedVersions": [], "id": "23393", "issueType": "New Feature", "key": "PUP-10780", "labels": [], "originalEstimate": "PT0S", "parent": "20870", "parentSummary": "Server-side Environment Handling Improvements", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Won't Do", "resolutionDate": "2022-03-04T10:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Optimize environment cache eviction", "timeSpent": "PT0S", "updated": "2022-03-04T10:21:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in https://github.com/puppetlabs/puppet/commit/d251f491fa8bb56a0ce0ac6d75383349ffc2a2cd", "created": "2020-11-12T11:45:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in\u00a0ac1e01e521", "created": "2020-11-17T08:37:00.000000"}], "components": [], "created": "2020-11-11T13:45:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2180efe2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o05140:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Calling the `tags` method within an ERB template would result in a confusing error message. The error message now makes it clear that that method is not supported."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_420713641_*|*_1_*:*_1_*:*_953753_*|*_10007_*:*_1_*:*_78223847_*|*_5_*:*_1_*:*_0"}], "description": "The following prints a confusing error message in 4.10.5 and up:\n\n{noformat}\n$ bundle exec puppet apply -e \"notice(inline_template('<%= tags %>'))\"\nError: Evaluation Error: Error while evaluating a Function Call, Failed to parse inline template: undefined method `tags' for Scope(Class[main]):Puppet::Parser::Scope (line: 1, column: 8) on node localhost\n{noformat}\n\nWithin the body of the ERB template, {{self}} is {{TemplateWrapper}} and {{TemplateWrapper#tags}} is a valid method that delegates to the {{Scope}}, but that doesn't forward it to the parser resource, due to https://github.com/puppetlabs/puppet/commit/02576c98fa5a8b7decb7b53c9407bf8523947220#diff-b929053e73f66fa12eac30a6222276489f6ea778ec407f99183a03e763b38623\n\nWe should either remove the {{tags}} method from {{TemplateWrapper}} or raise a more meaningful error (to call {{all_tags}} instead) /cc [~accountid:557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b], [~accountid:557058:68216498-c6bf-4e8f-92c1-ac84887b7c02]", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20269", "fixedVersions": ["PUP 6.20.0", "PUP 7.1.0"], "id": "20269", "issueType": "Bug", "key": "PUP-10779", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-11-17T08:37:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Calling scope#tags results in undefined method", "timeSpent": "PT0S", "updated": "2020-12-09T09:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5e3375e183d74c0e821851f3", "body": "https://github.com/puppetlabs/puppet/pull/8438 has been opened for this.", "created": "2020-11-12T09:25:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Thanks, Jarret!\n\nMerged to master in https://github.com/puppetlabs/puppet/commit/28162174797dbf33aaa1d1d8b13f1157cbca1bc0", "created": "2020-11-16T06:46:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "[~accountid:5e3375e183d74c0e821851f3] can you please add release notes to the ticket?", "created": "2020-11-19T03:05:00.000000"}], "components": [], "created": "2020-11-11T09:38:00.000000", "creator": "5e3375e183d74c0e821851f3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@330d439b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Customer Feedback"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o050vs:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The AIX user resource now allows for `password` lines with arbitrary whitespace in the `passwd` file."}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "41908"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Nov/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1981277284_*|*_1_*:*_1_*:*_85609258_*|*_10007_*:*_1_*:*_335978092_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:* 6.17\n*Puppet Server Version:* 6.12.1\n*OS Name/Version:* AIX 7.2\n\nWhen using a user resource on AIX and setting the password, the password is updated every agent run. This happens when a user stanza contains a tab in the password line. \n\nThis is because the regex in https://github.com/puppetlabs/puppet/blob/main/lib/puppet/provider/user/aix.rb#L181 does not account for tabs or multiple spaces. \n\n*Reproduction:*\n\n1. In an AIX 7.2 node add a user resource.\n\n{code}\nuser{'testing':\n  ensure => present,\n  password => 'test',\n}\n{code}\n\n2. Edit the /etc/security/passwd file to add a tab to the password line.\n\n{code}\ntesting:\n        password        = test\n        lastupdate = 1605112051\n{code}\n\n3. Apply the user resource multiple times and confirm that the password it changed b every run.\n\n{code}\n[0] [AIX] root@aix72-9:~ # puppet apply user.pp \nNotice: Compiled catalog for aix72-9.delivery.puppetlabs.net in environment production in 0.02 seconds\nNotice: /Stage[main]/Main/User[testing]/password: changed [redacted] to [redacted]\nNotice: Applied catalog in 0.22 seconds\n[0] [AIX] root@aix72-9:~ # puppet apply user.pp \nNotice: Compiled catalog for aix72-9.delivery.puppetlabs.net in environment production in 0.02 seconds\nNotice: /Stage[main]/Main/User[testing]/password: changed [redacted] to [redacted]\nNotice: Applied catalog in 0.22 seconds\n[0] [AIX] root@aix72-9:~ # puppet apply user.pp \nNotice: Compiled catalog for aix72-9.delivery.puppetlabs.net in environment production in 0.02 seconds\nNotice: /Stage[main]/Main/User[testing]/password: changed [redacted] to [redacted]\nNotice: Applied catalog in 0.22 seconds\n{code}\n\n*Desired Behavior:*\nThe password should be set once unless the password changed.\n\n*Actual Behavior:*\n\nThe detection of the current password has an incorrect regex and  updates the password every agent run.\n\n*Proposed Fix*\nChange the regex in https://github.com/puppetlabs/puppet/blob/main/lib/puppet/provider/user/aix.rb#L181 to be {{/password\\s+=\\s+(\\S+)/}}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21380", "fixedVersions": ["PUP 6.20.0", "PUP 7.1.0"], "id": "21380", "issueType": "Bug", "key": "PUP-10778", "labels": ["doc_reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5e3375e183d74c0e821851f3", "resolution": "Fixed", "resolutionDate": "2020-12-09T05:06:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "User resource is not idempotent on AIX", "timeSpent": "PT0S", "updated": "2021-01-13T07:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Thanks [~accountid:5abd613dd4cf3c56be24b70d]! I'll add Ubuntu 20.04 AARCH to the 7.1.0 system requirements page: https://puppet.com/docs/puppet/7.0/system_requirements.html", "created": "2020-12-14T10:17:00.000000"}, {"author": "5abd613dd4cf3c56be24b70d", "body": "[~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1]\u00a0we're adding Ubuntu 20.04 AARCH in the Puppet Agent 6.20.0. Can you please help us by adding it to our public docs.\n\nThank you!", "created": "2021-01-15T11:39:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:5abd613dd4cf3c56be24b70d]\u00a0sure!", "created": "2021-01-18T03:50:00.000000"}], "components": [], "created": "2020-11-09T07:30:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@15d4413c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3476"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o051mn:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Dec/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1838_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_3034010068"}], "description": "Update Public-facing Puppet docs to include this platform\n", "epicLinkSummary": "Add Ubuntu 20.04 aarch FOSS support", "estimate": "PT0S", "externalId": "22325", "fixedVersions": [], "id": "22325", "issueType": "Task", "key": "PUP-10776", "labels": [], "originalEstimate": "PT0S", "parent": "56290", "parentSummary": "Add Ubuntu 20.04 aarch FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Fixed", "resolutionDate": "2020-12-14T10:17:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Update Public-facing Puppet docs to include Ubuntu 20.04 aarch", "timeSpent": "PT0S", "updated": "2021-02-07T11:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "heyho, please let me know if I should test more things or if you need a specific output", "created": "2020-11-05T10:18:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "A short update here. After digging alot through the thousands of nodes, I discovered at least a few CentOS 6 derivates with the exact same behaviour as above:\n\n{code}\nroot ~ # facter -p os\n{\n  architecture => \"x86_64\",\n  family => \"RedHat\",\n  hardware => \"x86_64\",\n  name => \"VirtuozzoLinux\",\n  release => {\n    full => \"6.8\",\n    major => \"6\",\n    minor => \"8\"\n  },\n  selinux => {\n    enabled => false\n  }\n}\nroot ~ # \n{code}\n\nso I guess there is something in the catalog that's not compatible with PSON, but with msgpack?", "created": "2020-11-06T00:32:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "wopwop, some progress \\o/\n\nI created a testenv and checked it for all binary files:\n{code}\n...\nroot@puppetserver ~ # shopt -s globstar\nroot@puppetserver ~ # file /etc/puppetlabs/code/environments/msgpack2/modules/*/files/**/* | grep ELF\n/etc/puppetlabs/code/environments/msgpack2/modules/mcollective_agent_dockerinfo/files/mcollective/agent/dockerinfo: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), not stripped\n/etc/puppetlabs/code/environments/msgpack2/modules/mcollective_agent_user/files/mcollective/agent/user: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, not stripped\n...\nroot@puppetserver ~ # \n{code}\n\nThere were some more binary blobs. All not listed blobs are distributed like this:\n\n{code}\nfile {'bla':\n  ensure => file,\n  source => '///..'\n}\n{code}\n\nthe two blobs that fail use `file()`:\n{code}\nfile{'bla':\n  ensure => 'file',\n  content => file(..),\n}\n{code}\n\nIn case you want to verify this:\n* https://forge.puppet.com/helio/mcollective_agent_dockerinfo - version 0.1.2\n* https://forge.puppet.com/exaldraen/mcollective_agent_user - version 0.4.0\n\nI still have some nodes where this works fine with PSON, but a few get `Failed to deserialize Puppet::Resource::Catalog from pson: expected value in object at '\"ELF\\u0002\\u0001\\u0'!` on every run. All run the same Puppet version. Let me know if you need more information.", "created": "2020-11-06T06:51:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "A guess here is that binary files that cause it to fail contain sequences that result in invalid UTF-8 encoding. There is a function {{binary_file()}} that works like the {{file()}} function but it returns a {{Binary}} data type instead of a {{String}}. That function should be used instead of {{file()}} for binary content. This is supported since puppet 6 where the \"rich data\" catalog format is the default format (it can serialize all of the data types in the Puppet type system in two different encodings", "created": "2020-11-06T07:06:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The case where msgpack is installed on the agent and preferred_serialization_format=msgpack, but you get:\n\n{noformat}\nInfo: Unable to serialize catalog to json, retrying with pson\n{noformat}\n\nmeans the agent successfully retrieved and deserialized the catalog as richdata+msgpack, but the agent couldn't save the cached catalog as json. This is configured by default in https://github.com/puppetlabs/puppet/blob/1af4a1ad62ec73a1c58cc5f3d073d23a7f889e65/lib/puppet/application/agent.rb#L15.\n\nTry running as {{puppet agent -t --preferred_serialization_format msgpack --catalog_cache_terminus msgpack}}.\n\nAlso note msgpack support is experimental. Is there a particular reason why you need/want to use it?", "created": "2020-11-09T14:43:00.000000"}], "components": [], "created": "2020-11-05T10:17:00.000000", "creator": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1779191e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04x5c:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Nov/20"}], "description": "Hey [~accountid:63d40628f6e1b543161789a7],\n\nI did further debugging for https://puppet.atlassian.net/browse/PUP-10772. while doing so I discovered that I've 5 Ubuntu 16.04 machines, all of them currently show the\n`Failed to deserialize Puppet::Resource::Catalog` error message that I show later\n\n my client:\n\n{code}\nroot~ # facter -p os\npup{\n  architecture => \"amd64\",\n  distro => {\n    codename => \"xenial\",\n    description => \"Ubuntu 16.04.7 LTS\",\n    id => \"Ubuntu\",\n    release => {\n      full => \"16.04\",\n      major => \"16.04\"\n    }\n  },\n  family => \"Debian\",\n  hardware => \"x86_64\",\n  name => \"Ubuntu\",\n  release => {\n    full => \"16.04\",\n    major => \"16.04\"\n  },\n  selinux => {\n    enabled => false\n  }\n}\nroot~ # puppet --version\n6.19.1\nroot ~ # \n{code}\n\n\npreferred_serialization_format is not set:\n{code}\nroot ~ # cat /etc/puppetlabs/puppet/puppet.conf\n\n[main]\n    certname = *\n    codedir = /etc/puppetlabs/code\n    hostprivkey = $privatekeydir/$certname.pem { mode = 640 }\n    logdir = /var/log/puppetlabs/puppet\n    pluginfactsource = puppet:///pluginfacts\n    pluginsource = puppet:///plugins\n    privatekeydir = $ssldir/private_keys { group = service }\n    rundir = /var/run/puppetlabs\n    server = *\n    show_diff = true\n    ssldir = /etc/puppetlabs/puppet/ssl\n    vardir = /opt/puppetlabs/puppet/cache\n\n[agent]\n    classfile = $statedir/classes.txt\n    default_schedules = false\n    environment = production\n    localconfig = $vardir/localconfig\n    masterport = 8140\n    noop = false\n    report = true\n    runinterval = 7200\n    splay = true\n    splaylimit = 7200\n    usecacheonfailure = true\nroot ~ # \n{code}\n\nbut msgpack is installed:\n\n{code}\nroot ~ # /opt/puppetlabs/puppet/bin/gem list msgpack\n\n*** LOCAL GEMS ***\n\nmsgpack (1.3.3, 1.3.1)\nroot ~ # \n{code}\n\nduring a puppetrun to a 6.14.1 puppetserver with msgpack installed I see the following messages:\n\n{code}\nstarting SSL for *:8140...\nSSL established\n<- \"POST /puppet/v3/catalog/*?environment=production HTTP/1.1\\r\\nX-Puppet-Version: 6.19.1\\r\\nUser-Agent: Puppet/6.19.1 Ruby/2.5.8-p224 (x86_64-linux)\\r\\nAccept: application/vnd.puppet.rich+json, application/json, application/vnd.puppet.rich+msgpack, application/x-msgpack, text/pson\\r\\nContent-Type: application/x-www-form-urlencoded\\r\\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\\r\\nHost: *:8140\\r\\nContent-Length: 40356\\r\\n\\r\\n\"\n...\nInfo: Unable to serialize catalog to json, retrying with pson\n...\n{code}\n\nthe agent run works fine. Now the same agent connects to a puppetserver without msgpack installed:\n\n{code}\n...\nstarting SSL for *:8140...\nSSL established\n<- \"POST /puppet/v3/catalog/*?environment=production HTTP/1.1\\r\\nX-Puppet-Version: 6.19.1\\r\\nUser-Agent: Puppet/6.19.1 Ruby/2.5.8-p224 (x86_64-linux)\\r\\nAccept: application/vnd.puppet.rich+json, application/json, application/vnd.puppet.rich+msgpack, application/x-msgpack, text/pson\\r\\nContent-Type: application/x-www-form-urlencoded\\r\\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\\r\\nHost: *:8140\\r\\nContent-Length: 40357\\r\\n\\r\\n\"\n...\n-> \"Content-Type: text/pson;charset=iso-8859-1\\r\\n\"\n-> \"Transfer-Encoding: chunked\\r\\n\"\n-> \"Connection: keep-alive\\r\\n\"\n-> \"X-Puppet-Version: 6.19.1\\r\\n\"\n-> \"Vary: Accept-Encoding, User-Agent\\r\\n\"\n-> \"Content-Encoding: gzip\\r\\n\"\n...\nError: Could not retrieve catalog from remote server: Failed to deserialize Puppet::Resource::Catalog from pson: expected value in object at '\"ELF\\u0002\\u0001\\u0'!\nWrapped exception:\nexpected value in object at '\"ELF\\u0002\\u0001\\u0'!\nWarning: Not using cache on failed catalog\nError: Could not retrieve catalog; skipping run\n{code}\n\nnow it fails? Sadly I don't know since when this is the case. I suspect someone added a new file resource with a binary that's read in with file(). But this is really just a guess. Our codebase is pretty huge and digging through all of the modules takes some time. I cannot reproduce this on other agents with a different operating system. Sadly the code on those Ubuntu 16.04 boxes does only work on this specific OS. I don't know if this Ubuntu specific or indeed some puppet code.\n\n\nThird run. msgpack installed again on the puppetserver. also enabled preferred_serialization_format = msgpack on the agent:\n\n{code}\nstarting SSL for *:8140...\nSSL established\n<- \"POST /puppet/v3/catalog/*?environment=production HTTP/1.1\\r\\nX-Puppet-Version: 6.19.1\\r\\nUser-Agent: Puppet/6.19.1 Ruby/2.5.8-p224 (x86_64-linux)\\r\\nAccept: application/vnd.puppet.rich+msgpack, application/x-msgpack, application/vnd.puppet.rich+json, application/json, text/pson\\r\\nContent-Type: application/x-www-form-urlencoded\\r\\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\\r\\nHost: *:8140\\r\\nContent-Length: 40356\\r\\n\\r\\n\"\n...\n-> \"Date: Thu, 05 Nov 2020 17:14:27 GMT\\r\\n\"\n-> \"Content-Type: application/vnd.puppet.rich+msgpack;charset=iso-8859-1\\r\\n\"\n-> \"Transfer-Encoding: chunked\\r\\n\"\n-> \"Connection: keep-alive\\r\\n\"\n-> \"X-Puppet-Version: 6.19.1\\r\\n\"\n-> \"Vary: Accept-Encoding, User-Agent\\r\\n\"\n-> \"Content-Encoding: gzip\\r\\n\"\n...\nInfo: Unable to serialize catalog to json, retrying with pson\n....\n{code}\n\nthe agent run works as well with this setup. but I think the info message is wrong. While it might try pson, afterwards msgpack is used to decode the payload? Or the msgpack serialized to msgpack?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24445", "fixedVersions": [], "id": "24445", "issueType": "Bug", "key": "PUP-10775", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet agent fails with `Failed to deserialize Puppet::Resource::Catalog`", "timeSpent": "PT0S", "updated": "2020-12-01T09:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "Question: on the FFI github page, there is this warning:\n{quote}On Linux systems running with\u00a0[PaX|https://en.wikipedia.org/wiki/PaX]\u00a0(Gentoo, Alpine, etc.), FFI may trigger\u00a0{{mprotect}}\u00a0errors. You may need to disable\u00a0[mprotect|https://en.wikibooks.org/wiki/Grsecurity/Appendix/Grsecurity_and_PaX_Configuration_Options#Restrict_mprotect.28.29]\u00a0for ruby ({{paxctl -m [/path/to/ruby]}}) for the time being until a solution is found.\n{quote}\nWould we need to worry about this at all on our supported platforms, if we start using FFI, LIBC, and {{getgrouplist}}? I don't know how PaX/mprotect works but it seems like even if a customer did have it installed we might be okay since we're only linking LIBC, and I'm sure that's already being used by Ruby. Figured it was worth asking the question though.\n\n\u00a0", "created": "2020-11-06T16:44:00.000000"}], "components": [], "created": "2020-11-04T07:13:00.000000", "creator": "623c12ff94742a00683e41fd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "1. Recreate the environment with Puppet and CentrifyDC\u2019s provided NSS module installed.\n2. Observe time difference of before and after fix."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2f50ebbb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk67q:u"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Time spent on querying the groups of a system user has been significantly improved on Linux operating systems with FFI and the `getgrouplist` method available."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Nov/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_412271303_*|*_1_*:*_1_*:*_524511291_*|*_10007_*:*_1_*:*_1058860327_*|*_3_*:*_1_*:*_173746749_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_663394441"}], "description": "Using CentrifyDC\u2019s provided NSS module to access user and group information from Active Directory through LDAP has surfaced some PE installations timeouts. This seems to happen due Puppet\u2019s internal\u00a0user group lookup implementation which queries AD for all available groups at every run and taking too long to process a high amount of data.\u00a0Said implementation points us to\u00a0[puppet/lib/puppet/util/posix.rb|https://github.com/puppetlabs/puppet/blob/d8068536284ad3601d447308ab9d3d6f9cdcf02d/lib/puppet/util/posix.rb#L12-L27]:\n{code:ruby}# Returns an array of all the groups that the user's a member of.\ndef groups_of(user)\n  groups = []\n  Puppet::Etc.group do |group|\n    groups << group.name if group.mem.include?(user)\n   end\n \n  uniq_groups = groups.uniq\n  if uniq_groups != groups\n    Puppet.debug(_('Removing any duplicate group entries'))\n  end\n  uniq_groups\nend\n{code}\n\u00a0\n\nThis needs to be replaced by the C API implementation\u00a0[getgrouplist(3)|https://www.man7.org/linux/man-pages/man3/getgrouplist.3.html] using FFI calls to lookup the groups of a single user instead of [getent(1)|https://man7.org/linux/man-pages/man1/getent.1.html]\u00a0which is first retrieving all available groups and then determines which ones the user belongs to.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24443", "fixedVersions": ["PUP 6.20.0", "PUP 7.1.0"], "id": "24443", "issueType": "Improvement", "key": "PUP-10774", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c12ff94742a00683e41fd", "resolution": "Fixed", "resolutionDate": "2020-12-07T02:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Long query time for AD groups", "timeSpent": "PT0S", "updated": "2021-01-13T07:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "/cc [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69], [~accountid:557058:104b5720-714d-4539-b455-df472251ec89]", "created": "2020-11-09T10:55:00.000000"}], "components": [], "created": "2020-11-03T09:08:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@76187f78"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10668"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04uso:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Master application settings configured in routes.yaml, will also be used on server application, and the other way around"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_7020196_*|*_1_*:*_1_*:*_1227805698_*|*_10007_*:*_1_*:*_680213020_*|*_3_*:*_1_*:*_4512497_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1347915947"}], "description": "The puppetlabs-puppetdb module used to configure puppetdb and its terminus, creates a {{routes.yaml}} to configure various termini. The file defines a hash where each key is the name of a puppet application and the termini each indirected class should be using. See https://github.com/puppetlabs/puppetlabs-puppetdb/blob/78b9df2f20d623ad59259ad8b507cb322484473a/manifests/master/routes.pp#L7\n\nPuppet should add an alias so that when routes.yaml is parsed, it accepts either {{server}} or {{master}} applications.\n\n/cc [~accountid:557058:613151bd-b161-4bc3-9e32-335fdcef4d89]", "epicLinkSummary": "Puppet Main Terminology", "estimate": "PT0S", "externalId": "25555", "fixedVersions": ["PUP 6.20.0", "PUP 7.1.0"], "id": "25555", "issueType": "Task", "key": "PUP-10773", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": "29749", "parentSummary": "Puppet Main Terminology", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-12-11T04:46:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Add a server alias for routes.yaml", "timeSpent": "PT0S", "updated": "2021-01-13T07:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-10-30T15:34:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1e9c50ef"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10762"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04tiw:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1129_*|*_3_*:*_1_*:*_684716133_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_7187737932"}], "description": "(Initial planned release date: 2021-01-19)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2021-01-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "27680", "fixedVersions": [], "id": "27680", "issueType": "Task", "key": "PUP-10771", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26668", "parentSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-01-29T17:21:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 6.20.0)", "timeSpent": "PT0S", "updated": "2021-01-29T17:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-10-30T15:34:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5cd0b3eb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10762"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04tio:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1019_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_7187737736"}], "description": "(Initial planned release date: 2021-01-19)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n", "duedate": "2021-01-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "26669", "fixedVersions": [], "id": "26669", "issueType": "Task", "key": "PUP-10770", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26668", "parentSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-01-21T19:09:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 6.20.0)", "timeSpent": "PT0S", "updated": "2021-01-21T19:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61d4868af63ac800706ebb62", "attachments": [], "comments": [], "components": [], "created": "2020-10-30T15:34:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@432d859"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10762"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04tig:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1141_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_7693564296"}], "description": "(Initial planned release date: 2021-01-19)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 6.20.0 is now available\".\n", "duedate": "2021-01-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "25554", "fixedVersions": [], "id": "25554", "issueType": "Task", "key": "PUP-10769", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26668", "parentSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-01-27T15:40:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Send release announcement (Puppet Platform 6.20.0)", "timeSpent": "PT0S", "updated": "2021-01-27T15:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [], "components": [], "created": "2020-10-30T15:34:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2d7c3ca0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10762"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04ti0:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1316_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_7125101924"}], "description": "(Initial planned release date: 2021-01-19)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2021-01-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "23391", "fixedVersions": [], "id": "23391", "issueType": "Task", "key": "PUP-10768", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26668", "parentSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-01-21T01:45:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 6.20.0)", "timeSpent": "PT0S", "updated": "2021-01-21T01:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-10-30T15:33:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7eb47876"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10762"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04ths:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1271_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_7083573908"}], "description": "(Initial planned release date: 2021-01-19)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2021-01-18T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "22322", "fixedVersions": [], "id": "22322", "issueType": "Task", "key": "PUP-10767", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26668", "parentSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-01-20T14:13:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 6.20.0)", "timeSpent": "PT0S", "updated": "2021-01-20T14:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Below is a copy of all the release notes, re. [~accountid:5abd613dd4cf3c56be24b70d]'s request for them to be in the email:\u00a0\n\n[https://docs.google.com/document/d/1jttwqo-uQwIt3yFQYsa7hs_SwFp-SZls_tSATgD9AvM/edit#|https://docs.google.com/document/d/1AwYUpitXFsKO8A25g9Bc1b10uEfZ8VOv3L2NN-Oq2Gs/edit#heading=h.qhcm1873p8a3]\n\nCopying docs from our editor to a Google doc doesn't work very well, so the format isn't great.\u00a0\n\n\u00a0\n\n\u00a0", "created": "2021-01-20T04:21:00.000000"}, {"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "The next release in the Puppet 6 series, Puppet 6.20.0, is now available!\n\nThe release contains bug fixes and minor improvements, including:\nh1. *New features*\nh2. *JSON terminus for node and report*\n\nThis release implements JSON termini for node and report indirection. The format of the last_run_report.yaml report can be affected by the cache setting key of the report terminus in the routes.yaml file. To ensure the file extension matches the content, update the lastrunreport configuration to reflect the terminus changes (lastrunreport = $statedir/last_run_report.json). PUP-10712\nh2. *JSON terminus for facts*\n\nThis release adds a new JSON terminus for facts, allowing them to be stored and loaded as JSON. Puppet agents continue to default to YAML, but you can use JSON by configuring the agent application in routes.yaml. Puppet Server\n\n7 also caches facts as JSON instead of YAML by default. You can re-enable the old YAML terminus in routes.yaml. PUP-10656\nh2. *Multiple logdest locations in puppet.conf accepted*\n\nYou can set multiple logdest locations using a comma separated list. For example: /path/file1,console,/path/file2. PUP-10795\nh2. *New serverport setting type*\n\nThe serverport setting is an alias for masterport. PUP-10725\nh2. *The puppet module install command lists unsatisfiable dependencies*\n\nIf the puppet module install command fails, Puppet\n\nreturns a more detailed error, including the unsatisfiable module(s) and its ranges. PUP-9176\nh2. *Interpolation of sensitive values in EPP templates*\n\nPreviously, if you interpolated a sensitive value in a template, you were required to unwrap the sensitive value and rewrap the result. Now the epp and inline_epp functions automatically return a Sensitive value if any interpolated variables are sensitive. For example: inline_epp(\"Password is <%= Sensitive('opensesame') %>\"). Note that these changes just apply to EPP templates, not ERB templates. PUP-8969\nh2. *OpenSSL bumped to 1.1.1i*\n\nThis release bumps OpenSSL to 1.1.1i. PA-3513\nh2. *Curl bumped to 7.74.0*\n\nThis release bumps Curl to 7.74.0. PA-3512\nh2. *(Experimental feature) puppet facts diff action*\n\nThis release adds a new action called puppet facts diff to check if there are differences between Facter 3 and Facter 4 outputs. Facts that change over time like memory and uptime are ignored. PUP-10815\nh1. *Deprecations*\nh2. *func3x_check setting removed*\n\nThe func3x_check setting has been removed. PUP-10724\nh1. *Resolved issues*\nh2. *The puppet apply command creates warnings*\n\nThis release eliminates Ruby 2.7.x warnings when running puppet apply with node statements. PUP-10845\nh2. *Remove Pathname#cleanpath workaround*\n\nThis release removes an unnecessary workaround when cleaning file paths, as Ruby 1.9 is no longer supported. PUP-10840\nh2. *Cached catalog contains the result of deferred evaluation instead of the deferred function*\n\nPuppet 6.12.0 introduced a regression that caused the result of a deferred function to be stored in the cached catalog. As a result, an agent running with a cached catalog would not re-evaluate the deferred function. This is now fixed. PUP-10818\nh2. *Calling scope#tags results in undefined method*\n\nPreviously, calling the tags method within an ERB template resulted in a confusing error message. The error message now makes it clear that this method is not supported. PUP-10779\nh2. *Puppet agent installation fails when msgpack is enabled on puppetserver*\nh2. Previously, the agent failed to deserialize the catalog and fail the run if the msgpack gem was enabled but not installed. Now the agent only supports that format when the msgpack gem is installed in the agents vendored Ruby. PUP-10772\nh2. *Setting facterng twice raises an exception*\n\nPreviously, calling puppet config set facterng true twice resulted in a failure. This is now fixed and facterng is only enabled if it is not already. PUP-10731\nh2. *Puppet feature detection leaves Ruby gems in a bad state*\n\nThis release fixes a Ruby gem caching issue that prevented the agent from applying a catalog if a gem was managed using the native package manager, such as yum or apt. PUP-10719\nh2. *Fine grained environment timeout issues*\nh2. Previously, if the environment.conf for an environment was updated and the environment was cleared, puppetserver used old values for per-environment settings. This happened if the environment timed out or if the environment was explicitly cleared using puppetserver's environment cache REST API. With this fix, if an environment is cleared, Puppet reloads the per-environment settings from the updated environment.conf. PUP-10713.\nh2. *Setting certname in multiple sections bypasses validation*\n\nPreviously, Puppet only validated the certname setting when specified in the main setting, but not if the value was in a non-global setting like agent. As a result, it was possible to set the certname setting to a value containing uppercase letters and prevent the agent from obtaining a certificate the next time it ran. Puppet now validates the certname setting regardless of which setting the value is specified in. PUP-9481\nh2. *puppet config set certname accepts upper-case names*\nh2. Previously, the puppet config set command could set a value that was invalid, causing Puppet to fail the next time it ran or the service was restarted. Now the command validates the value before committing the change to puppet.conf. PUP-2173\nh2. *3x functions cannot be called from deferred functions in Puppet agent*\n\nThis release allows deferred 3.x functions, like sprintf, to be called during a Puppet agent run. PUP-10819\nh2. *Issue with Puppet creating production folder when multiple environment paths are set*\n\nPreviously, the production environment folder was automatically created at every Puppet ran in the first search path, if it did not already exist. This release Puppet Puppet searches all the given paths before creating a new production environment folder. PUP-10842\n\n\u00a0\n\n*Facter 3.14.15*\n\n\u00a0\n\n*Released 20 January 2020 and shipped with Puppet Platform 6.20.0.*\n\nThis release includes minor maintenance changes. For the latest features, see the release notes for Facter 3.14.14.\nh2. *Puppet Server 6.15.0*\n\nReleased 20 January 2021\nh2. The puppetserver CA CLI now provides a migrate command to move the CA directory from the Puppet confdir to the puppetserver confdir. It leaves behind a symlink on the old CA location, pointing to the new location at /etc/puppetlabs/puppetserver/ca. The symlink provides backwards compatibility for tools still expecting the cadir to exist in the old location. In a future release, the cadir setting will be removed entirely. SERVER-2896\n\nFor the full list of changes, check out the release notes: [https://puppet.com/docs/puppet/latest/release_notes_puppet.html]", "created": "2021-01-20T17:33:00.000000"}], "components": [], "created": "2020-10-30T15:33:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6b4d821a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10762"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04thc:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Jan/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1126_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_7216839586"}], "description": "(Initial planned release date: 2021-01-19)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2021-01-18T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "20266", "fixedVersions": [], "id": "20266", "issueType": "Task", "key": "PUP-10766", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26668", "parentSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-01-22T03:14:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Prepare release announcement (Puppet Platform 6.20.0)", "timeSpent": "PT0S", "updated": "2021-01-22T03:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:5abd613dd4cf3c56be24b70d]\u00a0Please see a draft of the Puppet 6.20.0\n\n[https://docs.google.com/document/d/1AwYUpitXFsKO8A25g9Bc1b10uEfZ8VOv3L2NN-Oq2Gs/edit?usp=sharing]\n\nWhich version of Facter is going into this one? Thanks!\u00a0\n\n\u00a0", "created": "2021-01-14T08:00:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:5b9fcedc03b52466f05c4510] [~accountid:5abd613dd4cf3c56be24b70d] Please see a draft of the Puppet 6.20.0here:\u00a0\n\n[https://docs.google.com/document/d/1AwYUpitXFsKO8A25g9Bc1b10uEfZ8VOv3L2NN-Oq2Gs/edit?usp=sharing]\n\nLet me know if you want me to make any changes. Thanks!", "created": "2021-01-18T04:43:00.000000"}], "components": [], "created": "2020-10-30T15:33:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6c83a751"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10762"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04th4:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Jan/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1017_*|*_3_*:*_1_*:*_87139588_*|*_10009_*:*_1_*:*_674121945_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_6455613591"}], "description": "(Initial planned release date: 2021-01-19)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2021-01-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "29713", "fixedVersions": [], "id": "29713", "issueType": "Task", "key": "PUP-10765", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26668", "parentSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-01-22T03:15:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 6.20.0)", "timeSpent": "PT0S", "updated": "2021-01-22T03:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-10-30T15:33:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@32b4eb1e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10762"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04tgw:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1222_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_7083598507"}], "description": "(Initial planned release date: 2021-01-19)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2021-01-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "28695", "fixedVersions": [], "id": "28695", "issueType": "Task", "key": "PUP-10764", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26668", "parentSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-01-20T14:13:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 6.20.0)", "timeSpent": "PT0S", "updated": "2021-01-20T14:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-10-30T15:33:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@215f1fb3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10762"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04tgo:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1044_*|*_3_*:*_1_*:*_244499_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_7083606226"}], "description": "(Initial planned release date: 2021-01-19)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 6.20.0 and puppet-agent 6.20.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2021-01-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "27679", "fixedVersions": [], "id": "27679", "issueType": "Task", "key": "PUP-10763", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26668", "parentSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-01-20T14:17:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 6.20.0)", "timeSpent": "PT0S", "updated": "2021-01-20T14:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-10-30T15:33:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7cf5af93"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-8"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 6.20.0 Release - 2021-01-20"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_purple"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04tgg:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7872517013_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 6.20.0 Release - 2021-01-20\n\n\u00a0", "duedate": "2021-01-20T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26668", "fixedVersions": [], "id": "26668", "issueType": "Epic", "key": "PUP-10762", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-01-29T17:22:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Platform 6.20.0 Release - 2021-01-20", "timeSpent": "PT0S", "updated": "2021-08-23T10:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-10-30T15:12:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@75cfdbcd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10743"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04t88:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1029_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2953957301"}], "description": "(Initial planned release date: 2020-11-17)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2020-11-18T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "estimate": "PT0S", "externalId": "29712", "fixedVersions": [], "id": "29712", "issueType": "Task", "key": "PUP-10752", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28693", "parentSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-12-03T18:45:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 7.0.0)", "timeSpent": "PT0S", "updated": "2020-12-03T18:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-10-30T15:12:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7ff5c47d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10743"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04t80:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1107_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2953969827"}], "description": "(Initial planned release date: 2020-11-17)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n", "duedate": "2020-11-18T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "estimate": "PT0S", "externalId": "28694", "fixedVersions": [], "id": "28694", "issueType": "Task", "key": "PUP-10751", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28693", "parentSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-12-03T18:45:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 7.0.0)", "timeSpent": "PT0S", "updated": "2020-12-03T18:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "attachments": [], "comments": [], "components": [], "created": "2020-10-30T15:12:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@55a4a2f3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10743"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04t7s:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1000_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1741309256"}], "description": "(Initial planned release date: 2020-11-17)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 7.0.0 is now available\".\n", "duedate": "2020-11-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "estimate": "PT0S", "externalId": "27677", "fixedVersions": [], "id": "27677", "issueType": "Task", "key": "PUP-10750", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28693", "parentSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-11-19T17:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Send release announcement (Puppet Platform 7.0.0)", "timeSpent": "PT0S", "updated": "2020-11-19T17:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [], "components": [], "created": "2020-10-30T15:12:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5c5988c5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10743"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04t7c:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1024_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1771950958"}], "description": "(Initial planned release date: 2020-11-17)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2020-11-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "estimate": "PT0S", "externalId": "25552", "fixedVersions": [], "id": "25552", "issueType": "Task", "key": "PUP-10749", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28693", "parentSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-11-20T02:24:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 7.0.0)", "timeSpent": "PT0S", "updated": "2020-11-20T02:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-10-30T15:12:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@151b8922"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10743"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04t74:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1033_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2953989467"}], "description": "(Initial planned release date: 2020-11-17)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2020-11-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "estimate": "PT0S", "externalId": "24441", "fixedVersions": [], "id": "24441", "issueType": "Task", "key": "PUP-10748", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28693", "parentSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-12-03T18:45:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 7.0.0)", "timeSpent": "PT0S", "updated": "2020-12-03T18:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Release notes preview: [https://puppet-docs-preview.netlify.app/docs/puppet/latest-preview/release_notes_puppet.html]\n\nMajor changes: [https://puppet-docs-preview.netlify.app/docs/puppet/latest-preview/new-since-puppet-7.html]\n\n\u00a0", "created": "2020-11-17T10:35:00.000000"}, {"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "The latest major release of Puppet Platform, Puppet 7.0.0, is now available!\n\nThis is a major release that\u00a0includes new features, enhancements, deprecations and removals, including:\n * Facter 4, which introduces granular blocking and caching of all types of facts, user defined fact groups, fact hierarchies using the\u00a0{{dot}}\u00a0notation and profiling using the\u00a0{{--timing}}\u00a0option.\u00a0\n * Puppet agent packages have upgraded to Ruby 2.7.\n * Puppet\u00a07 defaults to using SHA256 for all digest operations.\n * Removal of deprecated functionality, including legacy authorization and routes.\n\nFor a high level overview of the major changes, see What's new since Puppet 7: [https://puppet.com/docs/puppet/latest/new-since-puppet-7.html|https://puppet-docs-preview.netlify.app/docs/puppet/latest-preview/new-since-puppet-7.html]\n\nFor the full list of changes, check out the release notes: [https://puppet.com/docs/puppet/latest/release_notes_puppet.html]\n \u00a0\n This is a draft [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] [~accountid:63d40628f6e1b543161789a7]to review and approve before Former user\u00a0can send the email out. The links need to be updated to the actual live links.", "created": "2020-11-19T10:34:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Looks great (y) ", "created": "2020-11-19T11:01:00.000000"}], "components": [], "created": "2020-10-30T15:12:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6bc866a5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10743"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04t6o:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Nov/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1186_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1771977359"}], "description": "(Initial planned release date: 2020-11-17)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2020-11-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "estimate": "PT0S", "externalId": "22321", "fixedVersions": [], "id": "22321", "issueType": "Task", "key": "PUP-10747", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28693", "parentSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-11-20T02:24:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare release announcement (Puppet Platform 7.0.0)", "timeSpent": "PT0S", "updated": "2020-11-20T02:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Docs preview:[\u00a0https://docs.google.com/document/d/1jttwqo-uQwIt3yFQYsa7hs_SwFp-SZls_tSATgD9AvM/edit|https://puppet-docs-preview.netlify.app/docs/puppet/latest-preview/puppet_overview.html]", "created": "2020-11-12T06:01:00.000000"}], "components": [], "created": "2020-10-30T15:11:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@771069b6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10743"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04t6g:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Nov/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1115_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1093736211"}], "description": "(Initial planned release date: 2020-11-17)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2020-11-06T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "estimate": "PT0S", "externalId": "21375", "fixedVersions": [], "id": "21375", "issueType": "Task", "key": "PUP-10746", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28693", "parentSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-11-12T06:00:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 7.0.0)", "timeSpent": "PT0S", "updated": "2020-11-13T02:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-10-30T15:11:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4c5f0505"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10743"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04t68:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1110_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2954005812"}], "description": "(Initial planned release date: 2020-11-17)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2020-11-04T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "estimate": "PT0S", "externalId": "20262", "fixedVersions": [], "id": "20262", "issueType": "Task", "key": "PUP-10745", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28693", "parentSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-12-03T18:45:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 7.0.0)", "timeSpent": "PT0S", "updated": "2020-12-03T18:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-10-30T15:11:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@544ce16"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10743"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04t60:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1121_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2954012872"}], "description": "(Initial planned release date: 2020-11-17)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 7.0.0 and puppet-agent 7.0.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2020-11-04T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "estimate": "PT0S", "externalId": "29711", "fixedVersions": [], "id": "29711", "issueType": "Task", "key": "PUP-10744", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28693", "parentSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-12-03T18:45:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 7.0.0)", "timeSpent": "PT0S", "updated": "2020-12-03T18:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-10-30T15:11:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@748c30a5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-4"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 7.0.0 Release - 2020-11-17\n"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_blue"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04t5s:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_8988279439_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "duedate": "2020-11-17T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28693", "fixedVersions": [], "id": "28693", "issueType": "Epic", "key": "PUP-10743", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-02-11T14:56:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "timeSpent": "PT0S", "updated": "2021-08-23T10:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5abd613dd4cf3c56be24b70d", "body": "Thank you for filing this issue. We agree it is likely an improvement, but due to other issues demanding precedence, we don\u2019t anticipate being able to address this any time soon. If you are interested in submitting a patch\u00a0please open a pull request.", "created": "2020-12-01T09:44:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "It would be fairly straightforward to log a message prior to sleeping here: https://github.com/puppetlabs/puppet/blob/8bf64bb72eb48cca24d7e6e4c99e6b21e497fa86/lib/puppet/scheduler/timer.rb#L5\n\nWindows services already log a message (at debug) \nhttps://github.com/puppetlabs/puppet/blob/8bf64bb72eb48cca24d7e6e4c99e6b21e497fa86/ext/windows/service/daemon.rb#L89\n\n\n", "created": "2020-12-01T10:26:00.000000"}], "components": [], "created": "2020-10-30T08:36:00.000000", "creator": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4b402048"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04su0:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Dec/20"}], "description": "It would be helpful if the puppet service logged the next projected runtime.\u00a0 For example, I've got a run interval of 1 hour and a splay of 20 minutes.\u00a0 It would be nice if I could view the logs to get an estimate of when puppet is likely to run again on this host.\n\n\u00a0\n\nI'd love to have this information logged when the service starts and after each run (so that I can see when the next one is likely).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24439", "fixedVersions": [], "id": "24439", "issueType": "Improvement", "key": "PUP-10732", "labels": ["beginner", "help_wanted"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Trivial", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet service report next projected runtime", "timeSpent": "PT0S", "updated": "2020-12-01T10:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "puppet-agent#master CI is blocked due to this and PUP-2178. The trick is to run {{puppet config set facterng true}} once, and then try to run it again or set the value to false:\n\n{noformat}\n* disable facterng feature flag\n  \n  back-logarithm.delivery.puppetlabs.net (back-logarithm.delivery.puppetlabs.net) 15:40:36$ puppet config set facterng false\n    Error: uninitialized constant Puppet::Util::Logging::Facter\n    Did you mean?  Puppet::Face\n                   Facts\n    Error: Try 'puppet help config set' for usage\n{noformat}", "created": "2020-10-29T16:15:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This was merged to master in bfd22200fc and passed CI", "created": "2020-10-30T11:05:00.000000"}], "components": [], "created": "2020-10-29T16:12:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent suite"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": ["ghost"]}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@36f9e1a1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04sjc:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Calling \"puppet config set facterng true\" twice would result in a failure. Now facterng is only enabled if it isn't already."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_5996691_*|*_1_*:*_1_*:*_54808104_*|*_10009_*:*_1_*:*_4709_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_7282695"}], "description": "Using 6.19.0, setting {{facterng}} to true twice programmatically results in a {{NameError}}:\n\n{noformat}\n[root@baneful-extreme ~]# /opt/puppetlabs/puppet/bin/irb\nirb(main):001:0> require 'puppet'\n=> true\nirb(main):002:0> Puppet.initialize_settings\n=> {}\nirb(main):003:0> pp $LOADED_FEATURES.sort.grep /facter(-ng)?\\.rb$/\n[\"/opt/puppetlabs/puppet/lib/ruby/gems/2.5.0/gems/did_you_mean-1.2.0/lib/facter.rb\",\n \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter.rb\"]\n=> [\"/opt/puppetlabs/puppet/lib/ruby/gems/2.5.0/gems/did_you_mean-1.2.0/lib/facter.rb\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter.rb\"]\nirb(main):004:0> Puppet[:facterng] = true\n=> true\nirb(main):005:0> pp $LOADED_FEATURES.sort.grep /facter(-ng)?\\.rb$/\n[\"/opt/puppetlabs/puppet/lib/ruby/gems/2.5.0/gems/did_you_mean-1.2.0/lib/facter.rb\",\n \"/opt/puppetlabs/puppet/lib/ruby/gems/2.5.0/gems/facter-ng-4.0.43/agent/lib/facter-ng.rb\",\n \"/opt/puppetlabs/puppet/lib/ruby/gems/2.5.0/gems/facter-ng-4.0.43/lib/facter.rb\",\n \"/opt/puppetlabs/puppet/lib/ruby/gems/2.5.0/gems/facter-ng-4.0.43/lib/facter/custom_facts/core/legacy_facter.rb\",\n \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter.rb\"]\n=> [\"/opt/puppetlabs/puppet/lib/ruby/gems/2.5.0/gems/did_you_mean-1.2.0/lib/facter.rb\", \"/opt/puppetlabs/puppet/lib/ruby/gems/2.5.0/gems/facter-ng-4.0.43/agent/lib/facter-ng.rb\", \"/opt/puppetlabs/puppet/lib/ruby/gems/2.5.0/gems/facter-ng-4.0.43/lib/facter.rb\", \"/opt/puppetlabs/puppet/lib/ruby/gems/2.5.0/gems/facter-ng-4.0.43/lib/facter/custom_facts/core/legacy_facter.rb\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter.rb\"]\nirb(main):006:0> Puppet[:facterng] = true\nTraceback (most recent call last):\n        7: from /opt/puppetlabs/puppet/bin/irb:11:in `<main>'\n        6: from (irb):6\n        5: from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:108:in `[]='\n        4: from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/settings.rb:178:in `[]='\n        3: from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/settings.rb:1494:in `set'\n        2: from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/defaults.rb:87:in `block in initialize_default_settings!'\n        1: from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/logging.rb:258:in `setup_facter_logging!'\nNameError (uninitialized constant Puppet::Util::Logging::Facter)\nDid you mean?  Facts\n{noformat}\n\nThe first time {{Puppet[:facterng] = true}} is called, the hook for the setting calls {{require 'facter-ng'}} and ruby adds it to the special {{$LOADED_FEATURES}} hash. The next time {{Puppet[:facterng] = true}} is called, we remove the {{Facter}} constant and then we try to {{require 'facter-ng'}} again. But ruby \"remembers\" that it already required it once, and doesn't require it again. As a result, {{require 'facter-ng'}} returns false, and the {{Facter}} constant is not defined when we call into:\n\n{code:ruby}\n  def self.setup_facter_logging!\n    # Only recent versions of Facter support this feature\n    return false unless Facter.respond_to? :on_message\n...\n{code}\n\nWe then get a {{NameError}} trying to call {{Facter.respond_to?}}.\n\nWe may want to define the hook in such a way that if facterng is already enabled, we don't try to enable it a second time. The difficulty is when the hook is called, the new value is already \"set\", so AFAIK you can't ask for the previous value.\n\nAlternative, you can call {{Kernel.load <path>}} to force {{facter-ng}} to be reloaded. But you need to specify a full path to the file and that might be hard when running as a gem or from packages.\n\nAlso a few things I noticed:\n\n* The hook needs to munge the value passed to it, as it may receive the string {{\"false\"}} which is truthy. This can occur when called programmatically or via {{puppet config set facterng false}}.\n\n* After calling {{require/load 'facter-ng'}} It would also be good to check that the {{Facter}} constant is defined before calling into {{setup_facter_logging!}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26666", "fixedVersions": ["PUP 6.20.0"], "id": "26666", "issueType": "CI Blocker", "key": "PUP-10731", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-10-30T11:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Setting facterng twice raises an exception", "timeSpent": "PT0S", "updated": "2021-01-13T07:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "That's odd.. From the log from the agent where it's not working:\n\n{noformat}\nDebug: Puppet::Network::Format[msgpack]: feature msgpack is missing\nDebug: catalog supports formats: rich_data_json json rich_data_msgpack pson yaml dot\nDebug: Using cached connection for https://:8140\nDebug: HTTP POST https://*:8140/puppet/v3/catalog/*?environment=production returned 200 OK\n...\nError: Could not retrieve catalog from remote server: Failed to deserialize Puppet::Resource::Catalog from rich_data_msgpack: uninitialized constant MessagePack\n{noformat}\n\nGiven that {{feature msgpack is missing}}, the agent should not advertise that it supports a {{rich_data_msgpack}} encoded catalog, yet that's what it seems to be doing in {{Debug: catalog supports formats: rich_data_json json rich_data_msgpack pson yaml dot}} and then failing to deserialize the msgpack based catalog.\n\nIt makes we wonder if both agent and server were restarted after the {{msgpack}} gem was installed (on each)?", "created": "2020-11-02T12:13:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The problem is the agent is advertising that it supports msgpack (as can be seen with {{--http_debug}}):\n\n{noformat}\nPOST /puppet/v3/catalog/phonic-retort.delivery.puppetlabs.net?environment=production HTTP/1.1\\r\\nX-Puppet-Version: 6.19.1\\r\\nUser-Agent: Puppet/6.19.1 Ruby/2.5.8-p224 (x86_64-linux)\\r\\nAccept: application/vnd.puppet.rich+json, application/json, application/vnd.puppet.rich+msgpack, text/pson\n{noformat}\n\nThe agent should not include {{application/vnd.puppet.rich+msgpack}}, since the {{msgpack}} features is not present.\n\nNote {{application/vnd.puppet.rich+msgpack}} has the [highest weight 35|https://github.com/puppetlabs/puppet/blob/d61cf32faae73454d4b0dcc2f199466a457e8397/lib/puppet/network/formats.rb#L226], but the agent will prepend json based formats by default (due to `Puppet[:preferred_serializtion_format]).\n\nThe bug is that https://github.com/puppetlabs/puppet/blob/d61cf32faae73454d4b0dcc2f199466a457e8397/lib/puppet/network/formats.rb#L257 needs to call {{suitable? && ...}} which takes into consideration the {{confine :feature => :msgpack}} constraint specified in https://github.com/puppetlabs/puppet/blob/d61cf32faae73454d4b0dcc2f199466a457e8397/lib/puppet/network/formats.rb#L227.\n\nHowever, it's not clear why the server is selecting :msgpack, given that the agent requests the following: {{rich_data_json json rich_data_msgpack pson yaml dot}}. Could you try running the agent with {{--http_debug}} and see what {{Accept}} header it is sending during the catalog POST request?", "created": "2020-11-02T12:49:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Also wanted to mention there is an issue with JRuby sorting arrays PUP-8615. While that ticket is about sorting formats used in pops serialization, it may explain some non-deterministic behavior with how puppetserver is sorting network formats based on their weight?", "created": "2020-11-03T12:42:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in https://github.com/puppetlabs/puppet/commit/09405d485a3411597773f2e8a2873fc09f77caba. Note this fixes the agent side of the problem. It would still be good to understand why puppetserver used `rich_data_msgpack` when `Puppet[:preferred_serialization_format]` defaults to json, so `rich_data_json` should have taken precedence.", "created": "2020-11-03T14:27:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "So some testing. First let me explain my current setup:\n * agents send all requests to an haproxy\n * haproxy forwards requests with\u00a0/puppet-ca to one specific puppetserver\n * all other requests go to another group of puppetservers\n\n\u00a0\n\nthe puppetserver for CA requests has the msgpack gem installed and was restarted after it was installed. I purged it on all other puppetservers and restarted them. Log from an existing/working puppet agent, where I also purged the msgpack gem:\n\n\u00a0\n{code}\nDebug: Puppet::Network::Format[msgpack]: feature msgpack is missing\nDebug: catalog supports formats: rich_data_json json rich_data_msgpack pson yaml dot\nDebug: Closing connection for https://*:8140\nDebug: Creating new connection for https://*:8140\nDebug: Starting connection for https://*:8140\nDebug: Using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384\nDebug: HTTP POST https://*:8140/puppet/v3/catalog/*?environment=production returned 200 OK\nDebug: Caching connection for https://*:8140\n{code}\nbesides that, the run works fine.\n\nNow  I took the same agent, without msgpack installed, and it was talking directly to the CA server with msgpack installed:\n{code}\nDebug: Puppet::Network::Format[msgpack]: feature msgpack is missing\nDebug: catalog supports formats: rich_data_json json rich_data_msgpack pson yaml dot\nDebug: Closing connection for https://*:8140\nDebug: Creating new connection for https://*:8140\nDebug: Starting connection for https://*:8140\nDebug: HTTP POST https://*:8140/puppet/v3/catalog/*?environment=production returned 200 OK\n{code}\n\nagent run works fine as well.\n\nNow I took the same agent, without msgpack installed, and it was talking directly to the CA server with msgpack purged (and puppetserver restarted):\n\n{code}\nDebug: catalog supports formats: rich_data_json json rich_data_msgpack pson yaml dot\nDebug: Closing connection for https://*:8140\nDebug: Creating new connection for https://*:8140\nDebug: Starting connection for https://*:8140\nDebug: Using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256\nDebug: HTTP POST https://*:8140/puppet/v3/catalog/*?environment=production returned 200 OK\nDebug: Caching connection for https://*:8140\n{code}\n\nrich_data_msgpack should not be listed here. I repeated the debug run and added --http_debug\n\n{code}\n<- \"POST /puppet/v3/catalog/*?environment=production HTTP/1.1\\r\\nX-Puppet-Version: 6.19.1\\r\\nUser-Agent: Puppet/6.19.1 Ruby/2.5.8-p224 (x86_64-linux)\\r\\nAccept: application/vnd.puppet.rich+json, application/json, application/vnd.puppet.rich+msgpack, text/pson\\r\\nContent-Type: application/x-www-form-urlencoded\\r\\nAccept-Encoding: gzip", "created": "2020-11-04T08:56:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in f664d6a216.\n\nIt is possible there is some non-deterministic behavior when puppetserver/JRuby sorts the array of formats based on their weights (as we've seen something similar in PUP-8615). I'm going to mark this agent-side issue as resolved. [~accountid:557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68] please do let us know if you can repro the server side issue, and create a PUP ticket linked to this one. Thanks for your help debugging this!\n", "created": "2020-11-04T16:31:00.000000"}], "components": [], "created": "2020-10-29T04:11:00.000000", "creator": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@41720bcb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04ry0:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The agent claimed to accept catalogs serialized using the \"rich_data_msgpack\" format, but if the \"msgpack\" gem wasn't installed, then the agent would fail to deserialize the catalog and fail the run. Now the agent only claims to support that format when the \"msgpack\" gem is installed in the puppet agent's vendored ruby (such as when using the \"puppet_gem\" package provider)."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Nov/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_100336330_*|*_1_*:*_1_*:*_380520963_*|*_10007_*:*_1_*:*_83491272_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2093112"}], "description": "Hi!\n(I'm not sure if this is a bug in puppet agent or puppetserver)\n\nI'm running the latest puppetserver \n\n{code}\nroot ~ # puppetserver -v\npuppetserver version: 6.14.1\nroot ~ # \n{code}\n\nthe msgpack gem is installed:\n\n{code}\nroot ~ # puppetserver gem list msgpack\n\n*** LOCAL GEMS ***\n\nmsgpack (1.3.3 java)\nroot ~ # \n{code}\n\npreferred_serialization_format isn't set on the server:\n\n{code}\n[main]\n    ca_server = *\n    certname = *\n    codedir = /etc/puppetlabs/code\n    environmentpath = /etc/puppetlabs/code/environments\n    hiera_config = $confdir/hiera.yaml\n    hostprivkey = $privatekeydir/$certname.pem { mode = 640 }\n    logdir = /var/log/puppetlabs/puppet\n    pluginfactsource = puppet:///pluginfacts\n    pluginsource = puppet:///plugins\n    privatekeydir = $ssldir/private_keys { group = service }\n    reports = puppetdb,foreman\n    rundir = /var/run/puppetlabs\n    server = *\n    show_diff = true\n    ssldir = /etc/puppetlabs/puppet/ssl\n    vardir = /opt/puppetlabs/puppet/cache\n\n[agent]\n    classfile = $statedir/classes.txt\n    default_schedules = false\n    environment = snow\n    localconfig = $vardir/localconfig\n    masterport = 8140\n    noop = false\n    report = true\n    runinterval = 7200\n    splay = true\n    splaylimit = 7200\n    usecacheonfailure = true\n\n[master]\n    autosign = /etc/puppetlabs/puppet/autosign.conf { mode = 0664 }\n    ca = true\n    certname = *\n    external_nodes = /etc/puppetlabs/puppet/node.rb\n    logdir = /var/log/puppetlabs/puppetserver\n    node_terminus = exec\n    parser = current\n    rundir = /var/run/puppetlabs/puppetserver\n    ssldir = /etc/puppetlabs/puppet/ssl\n    storeconfigs = true\n    strict_variables = true\n    trusted_external_command = /etc/puppetlabs/puppet/trusted-external-commands/*.rb\n    vardir = /opt/puppetlabs/server/data/puppetserver\n{code}\n\nWe rolled out the msgpack gem to existing agents:\n\n{code}\n  if fact('aio_agent_version') {\n    package { 'msgpack':\n      ensure   => 'present',\n      provider => 'puppet_gem',\n    }\n  }\n{code}\n\nbecause I forgot to install it on the servers as well, we did that with multiple days delay:\n\n{code}\n    package { 'msgpack-puppetserver':\n      ensure   => 'present',\n      name     => 'msgpack',\n      provider => 'puppetserver_gem',\n      notify   => Service['puppetserver'],\n    }\n{code}\n\nthis means by the time it got installed on the puppetservers, all existing agents already had the gem installed. those agents produce the following debug output:\n\n{code}\nDebug: catalog supports formats: rich_data_json json rich_data_msgpack msgpack pson yaml dot\n...\nDebug: file_metadata supports formats: json msgpack pson yaml\nDebug: Closing connection for https://*:8140\nDebug: Creating new connection for https://*:8140\nDebug: Starting connection for https://*:8140\nDebug: Using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256\nDebug: HTTP GET https://*:8140/puppet/v3/file_metadatas/plugins?recurse=true&ignore=.svn&ignore=CVS&ignore=.git&ignore=.hg&links=follow&checksum_type=md5&source_permissions=ignore&environment=snow returned 200 OK\nDebug: Caching connection for https://*:8140\n...\nDebug: file_metadata supports formats: json msgpack pson yaml\nDebug: Using cached connection for https://*:8140\nDebug: HTTP GET https://*:8140/puppet/v3/file_metadatas/locales?recurse=true&ignore=.svn&ignore=CVS&ignore=.git&ignore=.hg&ignore=%2A.pot&ignore=config.yaml&links=follow&checksum_type=md5&source_permissions=ignore&environment=snow returned 200 OK\nDebug: Caching connection for https://*:8140\nDebug: Finishing transaction 40300740\n{code}\n\nthats from a up2date box:\n{code}\nroot ~ # puppet --version\n6.19.1\nroot ~ # /opt/puppetlabs/puppet/bin/gem list msgpack\n\n*** LOCAL GEMS ***\n\nmsgpack (1.3.1)\nroot ~ # \n{code}\n\n\nnow a new setup. I installed the puppet6-el7-release rpm and afterwards puppet-agent. the config file is empty:\n\n{code}\nroot ~ # cat /etc/puppetlabs/puppet/puppet.conf \n# This file can be used to override the default puppet settings.\n# See the following links for more details on what settings are available:\n# - https://puppet.com/docs/puppet/latest/config_important_settings.html\n# - https://puppet.com/docs/puppet/latest/config_about_settings.html\n# - https://puppet.com/docs/puppet/latest/config_file_main.html\n# - https://puppet.com/docs/puppet/latest/configuration.html\nroot ~ #\n{code}\n\nthis nodes logs:\n{code}\nDebug: Puppet::Network::Format[msgpack]: feature msgpack is missing\nDebug: catalog supports formats: rich_data_json json rich_data_msgpack pson yaml dot\nDebug: Using cached connection for https://:8140\nDebug: HTTP POST https://*:8140/puppet/v3/catalog/*?environment=production returned 200 OK\nDebug: Caching connection for https://*:8140\nError: Could not retrieve catalog from remote server: Failed to deserialize Puppet::Resource::Catalog from rich_data_msgpack: uninitialized constant MessagePack\nWrapped exception:\nuninitialized constant MessagePack\nWarning: Not using cache on failed catalog\nError: Could not retrieve catalog; skipping run\nDebug: Resolving service 'report' using Puppet::HTTP::Resolver::SRV\nDebug: Searching for SRV records for domain: *\nDebug: Found 0 SRV records for: _x-puppet-report._tcp.*\nDebug: Searching for SRV records for domain: *\nDebug: Using cached record for _x-puppet._tcp.*\nDebug: Yielding next server of *:8140\nDebug: Using cached connection for https://*:8140\nDebug: Caching connection for https://*:8140\nDebug: Resolved service 'report' to https://*:8140/puppet/v3\nDebug: Puppet::Network::Format[msgpack]: feature msgpack is missing\nDebug: report supports formats: json pson yaml\nDebug: Using cached connection for https://*:8140\nDebug: HTTP PUT https://*:8140/puppet/v3/report/*?environment=production returned 200 OK\nDebug: Caching connection for https://*:8140\nDebug: Closing connection for https://*:8140\n{code}\n\ninstalled gems on the new agent:\n{code}\nroot ~ # /opt/puppetlabs/puppet/bin/gem list\n\n*** LOCAL GEMS ***\n\nbigdecimal (default: 1.3.4)\ncmath (default: 1.0.0)\nconcurrent-ruby (1.1.5)\ncsv (default: 1.0.0)\ndate (default: 1.0.0)\ndeep_merge (1.0.1)\ndid_you_mean (1.2.0)\netc (default: 1.0.0)\nfacter (3.14.14)\nfacter-ng (4.0.43)\nfast_gettext (1.1.2)\nfcntl (default: 1.0.0)\nffi (1.13.1)\nfiddle (default: 1.0.0)\nfileutils (default: 1.0.2)\ngettext (3.2.2)\nhiera (3.6.0)\nhiera-eyaml (3.2.0)\nhighline (1.6.21)\nhocon (1.3.1)\nhttpclient (2.8.3)\nio-console (default: 0.4.6)\nipaddr (default: 1.2.0)\njson (default: 2.1.0)\nlocale (2.1.3)\nminitest (5.10.3)\nmulti_json (1.14.1)\nnet-ssh (4.2.0)\nnet-telnet (0.1.1)\nopenssl (default: 2.1.2)\noptimist (3.0.1)\npower_assert (1.1.1)\npsych (default: 3.0.2)\npuppet (6.19.1)\npuppet-resource_api (1.8.13)\nrake (12.3.3)\nrdoc (default: 6.0.1.1)\nscanf (default: 1.0.0)\nsdbm (default: 1.0.0)\nsemantic_puppet (1.0.2)\nstringio (default: 0.0.1)\nstrscan (default: 1.0.0)\nsys-filesystem (1.3.2)\ntest-unit (3.2.7)\ntext (1.3.1)\nthor (1.0.1)\nwebrick (default: 1.4.2)\nxmlrpc (0.3.0)\nzlib (default: 1.0.0)\nroot ~ #\n{code}\n\nI got a few questions here:\n* my understanding of https://puppet.com/docs/puppet/6.19/experiments_msgpack.html is that msgpack is only used if preferred_serialization_format is set. That does not seem to be the case\n* Why isn't there a fallback to pson/json? the agent notices that the msgpack gem isn't installed on the agent.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24437", "fixedVersions": ["PUP 6.20.0", "PUP 7.0.0"], "id": "24437", "issueType": "Bug", "key": "PUP-10772", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "resolution": "Fixed", "resolutionDate": "2020-11-04T16:32:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "fresh puppet agent installation fails when msgpack is enabled on puppetserver", "timeSpent": "PT0S", "updated": "2020-11-09T04:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in\u00a0https://github.com/puppetlabs/puppet/commit/89d9333618e2d155300494924beea56cbac908f1", "created": "2020-10-29T10:01:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 89d9333618", "created": "2020-10-30T17:50:00.000000"}], "components": [], "created": "2020-10-28T12:34:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2f1c2249"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04rfk:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "This issue only existed during development builds during platform 7 development or oddball configurations using puppet-agent 6.18.0 with puppetserver 7, which is not supported."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_114589944_*|*_1_*:*_1_*:*_7243_*|*_10007_*:*_1_*:*_61053305_*|*_3_*:*_1_*:*_16190439_*|*_5_*:*_1_*:*_0"}], "description": "Add the following report processor to {{lib/puppet/reports/legacy.rb}}, which is a simplified version of the {{http}} processor from puppet 5/6:\n\n{code:ruby}\nrequire 'puppet'\nrequire 'puppet/network/http_pool'\nrequire 'uri'\n\nPuppet::Reports.register_report(:legacy) do\n  def process\n    url = URI.parse(Puppet[:reporturl])\n    conn = Puppet::Network::HttpPool.http_instance(url.host, url.port, false)\n    response = conn.post(url.path, self.to_yaml, { \"Content-Type\" => \"application/x-yaml\" })\n    unless response.kind_of?(Net::HTTPSuccess)\n      Puppet.err (\"Unable to submit report to #{Puppet[:reporturl]} [#{response.code}] #{response.msg}\")\n    end\n  end\nend\n{code}\n\nMake sure puppetserver includes commit https://github.com/puppetlabs/puppetserver/commit/d6c07c9fae476cfd07502436fd397fa8ef60ac67 and the report processor is the jruby load-path.\n\nConfigure puppet.conf with:\n\n{code:ini}\n[server]\nreports = legacy\nreporturl = http://localhost:8000/reports\n{code}\n\nStart a simple http server on port 8000, like {{python -m SimpleHTTPServer}}\n\nStart puppetserver and run the agent, and the report processor will fail with:\n\n{noformat}\n020-10-28 11:26:04,868 ERROR [qtp470539277-446] [puppetserver] Puppet Report processor failed: undefined method `code' for nil:NilClass\n/Users/josh/work/puppet/lib/puppet/reports/legacy.rb:35:in `process'\n/Users/josh/work/puppet/lib/puppet/indirector/report/processor.rb:37:in `block in process'\n/Users/josh/work/puppet/lib/puppet/indirector/report/processor.rb:54:in `block in processors'\norg/jruby/RubyArray.java:1809:in `each'\n/Users/josh/work/puppet/lib/puppet/indirector/report/processor.rb:51:in `processors'\n/Users/josh/work/puppet/lib/puppet/indirector/report/processor.rb:30:in `process'\n/Users/josh/work/puppet/lib/puppet/indirector/report/processor.rb:14:in `save'\n{noformat}\n\nThis is because {{Puppet::HTTP::Response#nethttp}} returns nil", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20259", "fixedVersions": ["PUP 7.0.0"], "id": "20259", "issueType": "Bug", "key": "PUP-10730", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-10-30T17:51:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Old report processors don't work with the new puppetserver http client", "timeSpent": "PT0S", "updated": "2020-10-30T17:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-10-27T00:03:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1c0a562d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-3524"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:bab073e0-f060-421e-9465-366c4060cc31"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk408:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}], "description": "Currently, the transaction store is written in YAML format. It needs to be changed to JSON.", "epicLinkSummary": "Switch from YAML (et al) to JSON", "estimate": "PT0S", "externalId": "27631", "fixedVersions": [], "id": "27631", "issueType": "Improvement", "key": "PUP-10728", "labels": [], "originalEstimate": "PT0S", "parent": "28948", "parentSummary": "Switch from YAML (et al) to JSON", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4c3b4a57610068e6782b", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Write transaction Store in JSON", "timeSpent": "PT0S", "updated": "2021-09-07T02:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "This could be something simple, like the static/constant evaluator used to evaluate the interface specification not handling calls to new as it should.", "created": "2020-10-24T05:50:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "moved to open, will try to reproduce", "created": "2021-08-24T01:53:00.000000"}], "components": ["Type System"], "created": "2020-10-23T14:57:00.000000", "creator": "557058:7a74b545-c5d8-450e-a2bf-92db19a94d6f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@23599ebb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0em1h:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_19731984988_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_22951449066"}], "description": "*Puppet Version:*\u00a0 Demonstrated on 6.14.0\n *Puppet Server Version:*\u00a0N/A - validated locally\n *OS Name/Version:*\u00a0Tested with both CentOS 7 and MacOS 10.15.7\n\nGiven the following implementation of a Ruby language data type located at moduleroot/lib/puppet/datatypes/schedule.rb:\n{code:java} Puppet::DataTypes.create_type('Mytype::Schedule') do\n\u00a0 interface <<-PUPPET\n\u00a0 \u00a0 attributes => {\n\u00a0 \u00a0 \u00a0 \"name\" \u00a0 => Mytype::Name,\n\u00a0 \u00a0 \u00a0 \"soak_time\" \u00a0 \u00a0 \u00a0 => {\n\u00a0 \u00a0 \u00a0 \u00a0 type\u00a0 => Timespan,\n\u00a0 \u00a0 \u00a0 \u00a0 value => Timespan('hours' => 3),\n\u00a0 \u00a0 \u00a0 },\n\u00a0 \u00a0 \u00a0 \"start_time\"\u00a0 \u00a0 \u00a0 => Timestamp,\n\u00a0 \u00a0 }\n\u00a0 PUPPET{code}\n\u00a0\n\nMy intent was to provide a default value for the soak_time attribute so that if a value isn't provided then we would default to a Timespan of 3 hours. When I declare an instance of this type without a soak_time value, I get the following error:\n{code:java} Evaluation Error: Error while evaluating a Type-Name, The expression <Timespan('hours' => 3)> is not a valid type specification. {code}\n\u00a0\n\nI thought that perhaps I was declaring that object incorrectly, so I tried the following declarations for the right side of the 'value' key in the code above and received the following errors:\n\n\u00a0\n\n*Timespan('0-03:00:00')*\n{code:java}Evaluation Error: Error while evaluating a Type-Name, The expression <Timespan('0-03:00:00')> is not a valid type specification.  {code}\n\u00a0\n\n*Timespan.new('0-03:00:00')*\n{code:java}Evaluation Error: Error while evaluating a Type-Name, The expression <Timespan.new('03:00:00')> is not a valid type specification. {code}\n\u00a0\n\n*'0-03:00:00'*\n{code:java}Evaluation Error: Error while evaluating a Type-Name, attribute Mytype::Schedule[soak_time] value has wrong type, expects a Timespan value, got String {code}\n\u00a0\n\n*Timespan['0-03:00:00']*\n{code:java}Error while evaluating a Type-Name, attribute Mytype::Schedule[soak_time] value has wrong type, expects a Timespan value, got Type[Timespan] {code}\n\u00a0\n\n*Puppet::Pops::Time::Timespan.parse('0-03:00:00')*\n{code:java} Error while evaluating a Type-Name, The expression <Puppet::Pops::Time::Timespan.parse('0-03:00:00')> is not a valid type specification. {code}\n\u00a0\n\nAt this point I tried to be clever and instantiate a variable holding a Timespan object, and then pass that in to the interface HEREDOC string:\n{code:java}Puppet::DataTypes.create_type('Mytype::Schedule') do\n\u00a0 @timespan = Puppet::Pops::Time::Timespan.parse('0-03:00:00')\n\u00a0 interface <<-PUPPET\n\u00a0 \u00a0 attributes => {\n\u00a0 \u00a0 \u00a0 \"name\" \u00a0 => Mytype::Name,\n\u00a0 \u00a0 \u00a0 \"soak_time\" \u00a0 \u00a0 \u00a0 => {\n\u00a0 \u00a0 \u00a0 \u00a0 type\u00a0 => Timespan,\n\u00a0 \u00a0 \u00a0 \u00a0 value => @timespan,\n\u00a0 \u00a0 \u00a0 },\n\u00a0 \u00a0 \u00a0 \"start_time\"\u00a0 \u00a0 \u00a0 => Timestamp,\n\u00a0 \u00a0 }\n\u00a0 PUPPET\n\n\u00a0 load_file 'puppet_x/Mytype/schedule'\n\n\u00a0 implementation_class PuppetX::Mytype::Schedule\nend {code}\n\u00a0\n\n**That gets you this DIFFERENT error:\n{code:java} Evaluation Error: Error while evaluating a Type-Name, Data Type Load Error for type 'Mytype::Schedule': can't modify frozen #<Class:#<Puppet::DataTypes::TypeBuilderAPI:0x00007fedbc9bfdf0> {code}\n\u00a0\n\n*Desired Behavior:*\n\nA default value for the data type that contains a Timespan object\n\n*Actual Behavior:*\n\nSo many errors....\n\n\u00a0\n\n\u00a0\n\nFor fun you can view the Slack conversation I had with [~accountid:557058:80b1a2d0-6c75-4995-bdc3-c422bab7aabd]\u00a0at this link: [https://puppetcommunity.slack.com/archives/C0W1X7ZAL/p1603473374140600]\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25550", "fixedVersions": [], "id": "25550", "issueType": "Bug", "key": "PUP-10727", "labels": ["typesystem"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:7a74b545-c5d8-450e-a2bf-92db19a94d6f", "resolution": "Won't Fix", "resolutionDate": "2022-03-01T14:28:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Cannot define a default Timespan value for an attribute in a Ruby language data type", "timeSpent": "PT0S", "updated": "2022-03-01T14:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "Yes it does. I believe it has always done that and what is wanted in most situations as you would otherwise end up with duplicates.\nDon't think the default behaviour can be changed as that would be a breaking change for many users. Maybe this could be controlled with a lookup option to not unique merged arrays. It then depends on if this is supported in the deep merge gem that is used to perform the deep merge.", "created": "2020-10-24T05:57:00.000000"}, {"author": "5abd613dd4cf3c56be24b70d", "body": "Thank you for filing this issue. We agree it is likely an improvement, but due to other issues demanding precedence, we don\u2019t anticipate being able to address this any time soon. If you are interested in submitting a patch\u00a0please open a pull request.", "created": "2020-12-01T09:25:00.000000"}, {"author": "557058:f3f79886-f614-464b-b20c-0edd53702ab4", "body": "Hi guys - I've made some headway with this once we found it in our codebase. Seems like an odd choice to treat arrays as sets rather than ... arrays in the `deep_merge` gem but hey - is what it is.\u00a0\n\nI've made a branch with relevant code at [https://github.com/ALTinners/puppet/tree/PUP-10726-keep-array-duplicates]\u00a0. No tests yet - I am a C++ coder by trade and am still figuring out Puppet's ruby codebase\n\nHowever - in the process of figuring this out I also had to solve a related bug related to merging when combining an array with a nil\n\n[https://github.com/danielsdeleo/deep_merge/pull/48]\n\nWhich I would assume needs a release before a Pull req is worth making as its a core `vendor_ruby` dependency. Given that lib hasn't had a release since 2017 (but had activity last year) I'm not sure how likely it is to get one.\u00a0\n\nFWIW - I've stuck the changes in for this as a local patch on our main Puppet server and it does what we'd expect, so any one who needs a quick dirty fix can modify the handful of files required by hand. Obviously not a recommended solution - but a solution nonetheless.\u00a0\n\n\u00a0", "created": "2021-06-25T00:19:00.000000"}], "components": ["Hiera & Lookup"], "created": "2020-10-22T07:45:00.000000", "creator": "70121:513396e5-6d1e-4ed4-acee-3752a305e2af", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3f2e2a1e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04n7s:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Oct/20"}], "description": "*Puppet Version: 6.19.0*\n *Puppet Server Version: not installed*\n *OS Name/Version: Ubuntu 20.04*\n\nhiera lookup removes duplicate array elements during deep merge.\n\nhiera.yaml:\n{code:java}\nversion: 5\ndefaults:\n  data_hash: yaml_data\n  datadir: data\nhierarchy:\n  - name: 'level1'\n    path: level1.yaml\n  - name: 'level2'\n    path: level2.yaml\n{code}\ndata/level1.yaml:\n{code:java}\ntest:\n  array:\n    - 1\n    - 1\n    - 2\n{code}\ndata/level2.yaml:\n{code:java}\nlookup_options:\n  test:\n    merge: 'deep'\n\ntest: {}\n{code}\npuppet lookup --explain test:\n{noformat}\nSearching for \"lookup_options\"\n  Global Data Provider (hiera configuration version 5)\n    No such key: \"lookup_options\"\n  Environment Data Provider (hiera configuration version 5)\n    Using configuration \"/home/rvicinus/.puppetlabs/etc/code/environments/production/hiera.yaml\"\n    Merge strategy hash\n      Hierarchy entry \"level1\"\n        Path \"/home/rvicinus/.puppetlabs/etc/code/environments/production/data/level1.yaml\"\n          Original path: \"level1.yaml\"\n          No such key: \"lookup_options\"\n      Hierarchy entry \"level2\"\n        Path \"/home/rvicinus/.puppetlabs/etc/code/environments/production/data/level2.yaml\"\n          Original path: \"level2.yaml\"\n          Found key: \"lookup_options\" value: {\n            \"test\" => {\n              \"merge\" => \"deep\"\n            }\n          }\n      Merged result: {\n        \"test\" => {\n          \"merge\" => \"deep\"\n        }\n      }\nUsing merge options from \"lookup_options\" hash\nSearching for \"test\"\n  Merge strategy deep\n    Global Data Provider (hiera configuration version 5)\n      No such key: \"test\"\n    Environment Data Provider (hiera configuration version 5)\n      Using configuration \"/home/rvicinus/.puppetlabs/etc/code/environments/production/hiera.yaml\"\n      Merge strategy deep\n        Hierarchy entry \"level1\"\n          Path \"/home/rvicinus/.puppetlabs/etc/code/environments/production/data/level1.yaml\"\n            Original path: \"level1.yaml\"\n            Found key: \"test\" value: {\n              \"array\" => [\n                1,\n                1,\n                2\n              ]\n            }\n        Hierarchy entry \"level2\"\n          Path \"/home/rvicinus/.puppetlabs/etc/code/environments/production/data/level2.yaml\"\n            Original path: \"level2.yaml\"\n            Found key: \"test\" value: {}\n        Merged result: {\n          \"array\" => [\n            1,\n            2\n          ]\n        }\n    Merged result: {\n      \"array\" => [\n        1,\n        2\n      ]\n    }\n{noformat}\n*Desired Behavior:*\n\nReturn array with all 3 values: [ 1, 1, 2 ]\n\n*Actual Behavior:*\n\nReturns array with only unique values: [ 1, 2 ]\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21374", "fixedVersions": [], "id": "21374", "issueType": "Bug", "key": "PUP-10726", "labels": ["help_wanted"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:513396e5-6d1e-4ed4-acee-3752a305e2af", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "hiera lookup removes duplicate array elements during deep merge", "timeSpent": "PT0S", "updated": "2021-12-01T21:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5b9fcedc03b52466f05c4510", "attachments": [], "comments": [], "components": [], "created": "2020-10-22T01:31:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@26532bfe"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk67q:r"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Added a new setting type(`alias`) to ease the addition of new settings that will eventually replace other settings.\n`serverport` setting was made as an alias for `masterport`"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Nov/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_337844038_*|*_1_*:*_1_*:*_3487579659_*|*_10007_*:*_1_*:*_75078165_*|*_3_*:*_1_*:*_1919625914_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1177771810"}], "description": "For cases when a setting name is changed (and possible other cases) it would be useful to have an `alias` setting type(AliasSetting?) which should redirect all methods to the `aliased` setting.\nIt could look like bellow:\n\n{code:ruby}\n    :serverport => {\n      :default    => 8140,\n      :desc       => \"The default port puppet subcommands use to communicate\n      with Puppet Server. (eg `puppet facts upload`, `puppet agent`). May be\n      overridden by more specific settings (see `ca_port`, `report_port`).\",\n      end\n    },\n    :masterport => {\n      :type     => :alias\n      :value     => :serverport \n      end\n    },\n\n{code}\n\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26665", "fixedVersions": ["PUP 6.20.0", "PUP 7.3.0"], "id": "26665", "issueType": "Task", "key": "PUP-10725", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "resolution": "Fixed", "resolutionDate": "2021-01-11T00:23:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Add a new `alias` setting type(AliasSetting?)", "timeSpent": "PT0S", "updated": "2021-01-14T03:43:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in https://github.com/puppetlabs/puppet/commit/0dbcbb37a154345d28c87bf20c12511be1a7f700", "created": "2020-10-22T11:48:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in\u00a0729ad1867f", "created": "2020-10-23T17:36:00.000000"}], "components": [], "created": "2020-10-21T17:32:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@44ab0808"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04n08:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The func3x_check setting is deprecated and will be removed in Puppet 7."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_107318261_*|*_1_*:*_1_*:*_535358_*|*_10007_*:*_1_*:*_65212577_*|*_5_*:*_1_*:*_0"}], "description": "The {{func3x_check}} setting will be removed in puppet 7. It currently defaults to {{false}} but if set to {{true}} we should issue a deprecation warning.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27629", "fixedVersions": ["PUP 6.20.0", "PUP 7.0.0"], "id": "27629", "issueType": "Bug", "key": "PUP-10724", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-10-23T17:37:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Deprecate func3x_check setting", "timeSpent": "PT0S", "updated": "2020-11-09T04:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5fff7df991bb2e01082cf9b7", "attachments": [], "comments": [{"author": "5b9fcedc03b52466f05c4510", "body": "[~accountid:5fff7df991bb2e01082cf9b7] is the work here done? Can you please add release notes and close the ticket if so?", "created": "2021-01-13T07:17:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Looks like was merged to master in [https://github.com/puppetlabs/puppet/commit/faed64577d7c39b384cb8330f117d30e988af4c7]\u00a0and was first released in 7.0, and is now being released in 6.20.", "created": "2021-01-13T10:20:00.000000"}, {"author": "5fff7df991bb2e01082cf9b7", "body": "Shadow fact/variable collisions in PAL catalog compiler.", "created": "2021-01-15T16:13:00.000000"}], "components": [], "created": "2020-10-21T16:21:00.000000", "creator": "5fff7df991bb2e01082cf9b7", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7ca8db2f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04mwg:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Shadow fact/variable collisions in PAL catalog compiler."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Jan/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_9121_*|*_3_*:*_1_*:*_7239525297_*|*_10009_*:*_1_*:*_1317917082_*|*_6_*:*_1_*:*_0"}], "description": "*Current Behavior*\n\n**When Bolt runs an apply block in a plan, it uses PAL to compile a catalog. Before calling PAL.with_catalog_compiler, Bolt detects any collisions between facts, target vars, and plan vars, and shadows them as needed (see [https://github.com/puppetlabs/bolt/blob/main/lib/bolt/catalog.rb#L71-L88)]\u00a0. However, this can cause a potential problem when plan variables are using local references. If plan variable $bar has a reference to plan variable $foo, and the target has a fact foo, Bolt will shadow the plan variable $foo. When the variables are passed on to the catalog compiler, PAL will be unable to deserialize the plan variables as the local reference for $bar is no longer valid (see [https://github.com/puppetlabs/bolt/issues/2111).]\u00a0\n\n\u00a0\n\n*Desired Behavior*\n\nShadowing variables that collide with facts of the same name should not result in PAL being unable to deserialize plan variables due to a missing local reference. Because FromDataConverter assumes that the data it receives comes directly from ToDataConverter, the serialized plan variables should be passed as-is to the catalog compiler where they can be deserialized. After the plan variables are deserialized, PAL should then shadow any variables that collide with facts of the same name (and warn when this happens).\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20253", "fixedVersions": ["PUP 6.20.0", "PUP 7.0.0"], "id": "20253", "issueType": "Improvement", "key": "PUP-10723", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5fff7df991bb2e01082cf9b7", "resolution": "Fixed", "resolutionDate": "2021-01-28T16:26:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Shadow fact / plan variable collisions in PAL catalog compiler", "timeSpent": "PT0S", "updated": "2021-01-28T16:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "PR: https://github.com/puppetlabs/puppet/pull/8411", "created": "2020-10-22T01:30:00.000000"}], "components": [], "created": "2020-10-21T03:17:00.000000", "creator": "5b9fcedc03b52466f05c4510", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5dc0ed10"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04m68:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Version `6.19.0` added the `serverport` config as an alias for `masterport`. That change introduced a regression where `masterport` was ignored and set to default value after upgrading to `6.19.0` whenever `masterport` was set in any other section of `puppet.conf` but `main`. This was fixed by making both `masterport` and `serverport` visible in the other sections."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_37803863_*|*_1_*:*_1_*:*_25681499_*|*_10007_*:*_1_*:*_33132394_*|*_6_*:*_1_*:*_0"}], "description": "https://puppet.atlassian.net/browse/PUP-10670 introduced the `serverport` alias for `masterport` and changed Puppet to use it internally instead of `masterport`.\n\nThis introduced the following change in behaviour:\n - when setting `masterport` in any section different than `main`(eg. agent), this is ignored and the default `serverport` value is used.\n\n - users that have `masterport` set in their configuration, in a different section than `main`(eg. agent), are also affected as Puppet will not pick up the value set for `masterport` and it will use the default `serverport` value.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29709", "fixedVersions": ["PUP 6.19.1"], "id": "29709", "issueType": "Bug", "key": "PUP-10722", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Critical", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5b9fcedc03b52466f05c4510", "resolution": "Fixed", "resolutionDate": "2020-10-22T06:07:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "masterport not honoured when is configured in other section than main", "timeSpent": "PT0S", "updated": "2020-10-22T06:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This works as expected when using the agent's HTTP implementation. But when using the external_client adapter and puppetserver's connection class, the \"verify_peer = false\" is lost in translation, but fails securely. Need to make sure this works in 6.x and 7.0", "created": "2020-10-20T17:55:00.000000"}], "components": [], "created": "2020-10-20T14:14:00.000000", "creator": "5a028139c24efb3c4ed448c4", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@328301bd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04lio:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Oct/20"}], "description": "*Puppet Version: 6.17.0*\n *Puppet Server Version:\u00a02019.8.0.37*\n *OS Name/Version: Ubuntu 18.04*\n\nWhen attempting to use [Puppet::Network::HttpPool.http_instance|https://github.com/puppetlabs/puppet/blob/fe73adb22453824c014d7975e30e4fc882e8bbc2/lib/puppet/network/http_pool.rb#L36]\u00a0to perform an HTTP request to an HTTPS url, setting the 'verify_peer' parameter false to ignore certificate verification does not work.\n\n*Desired Behavior:* This wrapper should be capable of doing HTTPS requests that ignore cert verification. Otherwise it is impossible to use it for doing requests against end points that use self signed certs.\n\n*Actual Behavior:*\n\nThe attempt to ignore cert verification results in an error when the call is invoked.\n\n\u00a0The following call results in the error text below:\n\n\u00a0\n{code:ruby}use_ssl = true\nvalidate_cert = false\nconn = Puppet::Network::HttpPool.http_instance(uri.host,\n                                               uri.port,\n                                               use_ssl,\n                                               validate_cert)\nheaders = {\n 'Content-Type' => 'application/json'\n}\nconn.post(\"#{uri.path}?#{uri.query}\", body.to_json, headers){code}\n\u00a0\n{noformat}2020-10-19T21:16:18.987Z WARN [qtp2062408424-41] [c.p.h.c.i.PersistentSyncHttpClient] Error executing http request\n javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target\n at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)\n at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:326)\n at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:269)\n at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264)\n at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:645)\n at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:464)\n at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:360)\n at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392)\n at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444)\n at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1074)\n at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1061)\n at java.base/java.security.AccessController.doPrivileged(Native Method)\n at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask.run(SSLEngineImpl.java:1008)\n at org.apache.http.nio.reactor.ssl.SSLIOSession.doRunTask(SSLIOSession.java:281)\n at org.apache.http.nio.reactor.ssl.SSLIOSession.doHandshake(SSLIOSession.java:339)\n at org.apache.http.nio.reactor.ssl.SSLIOSession.isAppInputReady(SSLIOSession.java:503)\n at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:120)\n at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:162)\n at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:337)\n at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315)\n at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:276)\n at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)\n at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:588)\n at java.base/java.lang.Thread.run(Thread.java:834)\n Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target\n at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:439)\n at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:306)\n at java.base/sun.security.validator.Validator.validate(Validator.java:264)\n at java.base/sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:313)\n at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:276)\n at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:141)\n at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:623)\n ... 19 common frames omitted\n Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target\n at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)\n at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)\n at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297)\n at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:434)\n ... 25 common frames omitted\n Puppet::Server::HttpClientError: Error executing http request\n from uri:classloader:/puppetserver-lib/puppet/server/http_client.rb:202:in `client_post'\n Caused by Java::ComPuppetlabsHttpClient::HttpClientException: Error executing http request\n from com.puppetlabs.http.client.impl.PersistentSyncHttpClient.request(com/puppetlabs/http/client/impl/PersistentSyncHttpClient.java:52)\n Caused by Java::JavaxNetSsl::SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target\n from java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)\n Caused by Java::SunSecurityValidator::ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target\n from java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:439)\n Caused by Java::SunSecurityProviderCertpath::SunCertPathBuilderException: unable to find valid certification path to requested target\n from java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141){noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20251", "fixedVersions": [], "id": "20251", "issueType": "Bug", "key": "PUP-10721", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a028139c24efb3c4ed448c4", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "http_instance cannot ignore cert verification in puppetserver", "timeSpent": "PT0S", "updated": "2020-10-20T17:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Looks great! One gotcha with hooks is 1) they may be called multiple times and 2) if the {{cadir}} setting is defined in the {{server}} section, then by default the hook will only be called if the hook is defined using {{:call_hook => :on_initialize_and_write}}. If {{:call_hook}} is unspecified, then it will default to {{:on_write_only}}, which will only call the hook if the value is set in {{main}}. I recently ran into this in PUP-9481.", "created": "2020-10-16T10:57:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in ad5b16091d.\n\nPassed CI in f664d6a216", "created": "2020-11-04T16:38:00.000000"}], "components": [], "created": "2020-10-15T17:00:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@438065aa"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10593"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hykebj:409000002"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "See SERVER-2896 for release notes."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_203276043_*|*_1_*:*_1_*:*_951890692_*|*_3_*:*_1_*:*_536266612_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_73769178"}], "description": "In order to make the transition to the new CA dir location as seamless as possible, we want to put some special logic into the default calculation for the {{cadir}} setting in Puppet, that will make it return the new location after the CA has been migrated, and warn otherwise.\n\nIf the setting is not configured by the user ([default|https://github.com/puppetlabs/puppet/blob/e0746ca619fac312b86e26b4a1f73db70b146947/lib/puppet/defaults.rb#L1094], use a Ruby lambda/proc):\n * and the files are in the old default spot, warn with a message that encourages users to migrate. Return the old default (/etc/puppetlabs/puppet/ssl/ca)\n * and there are no CA files (new install) or CA files in the new location, return the new location (/etc/puppetlabs/puppetserver/ca).\n\nIf the setting is configured by the user (custom, use\u00a0hook ([example)|https://github.com/puppetlabs/puppet/blob/main/lib/puppet/defaults.rb#L133]):\n * and points to a location within the SSL dir, warn with a message that encourages migration\n * and points to a location _outside_ the SSL dir, use it as-is.", "epicLinkSummary": "Puppet 7 Server", "estimate": "PT0S", "externalId": "29708", "fixedVersions": ["PUP 7.0.0"], "id": "29708", "issueType": "Task", "key": "PUP-10720", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": "20311", "parentSummary": "Puppet 7 Server", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2020-11-05T02:20:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Update `cadir` default to return the new location post-migration", "timeSpent": "PT0S", "updated": "2020-11-09T10:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "One option is to call {{Gem.clear_paths}} if a feature fails to load.\n\nOr rescue the exception when calling {{Gem::Specifications.latest_specs}}, calling {{Gem.clear_paths}} and then retry once.\n\nOr just load the stub specifications {{Gem::Specifications.stubs}}, which contain the {{full_gem_path}}. Since we're just creating a list of candidate paths to load from, we don't require the full specification.", "created": "2020-10-14T14:11:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Interestingly, the feature that enables puppet to load extensions from gems causes the number of file I/O operations to increase by ~2.5 times during catalog compilation using the pupetserver perf control repo. Seems completely unnecessary for the rubygems cache to be cleared during compilation.\n\n{noformat}\n[root@unheeded-statue ~]# strace -e trace=file -o trace.log -- puppet catalog compile -E perf_control  > /dev/null\n[root@unheeded-statue ~]# grep /opt/puppetlabs/puppet/lib/ruby/gems/2.5.0 trace.log  | wc -l\n13743\n[root@unheeded-statue ~]# strace -e trace=file -o trace-nogems.log -- puppet catalog compile -E perf_control  > /dev/null\n...\n[root@unheeded-statue ~]# grep /opt/puppetlabs/puppet/lib/ruby/gems/2.5.0 trace-nogems.log | wc -l\n5518\n{noformat}\n", "created": "2020-10-14T18:13:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "{quote}\nOne option is to call Gem.clear_paths if a feature fails to load.\n{quote}\nThat causes a slow down because we end up repeatedly failing and retrying for gems that really aren't there, like msgpack.\n\n{quote}\nOr rescue the exception when calling Gem::Specifications.latest_specs\n{quote}\n\nThat means we're still loading the full gemspec unnecessarily.", "created": "2020-10-14T18:24:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in https://github.com/puppetlabs/puppet/commit/396538b945e0f7d6d28cb5e8abd7e7c975536f3b", "created": "2020-10-19T18:38:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 396538b945 (master). ", "created": "2020-10-20T14:39:00.000000"}], "components": [], "created": "2020-10-14T14:09:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@28d1c3f2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04j8g:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fixes a rubygems caching issue that could prevent the agent from applying a catalog if a gem is managed using the native package manager, such as yum or apt."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_72044679_*|*_1_*:*_1_*:*_15108132_*|*_10007_*:*_1_*:*_433026909_*|*_5_*:*_1_*:*_0"}], "description": "If a gem is managed by a native package manager (rpm, etc), and it is updated during a puppet run, it is possible for rubygems to be left in a bad state causing the run to fail.\n\nThis can be reproduced using:\n\n{code:ruby}\nrequire 'fileutils'\nrequire 'rubygems'\nif File.exist?(\"/tmp/thor-1.0.1.gemspec\")\n  FileUtils.mv(\"/tmp/thor-1.0.1.gemspec\", \"/opt/puppetlabs/puppet/lib/ruby/gems/2.5.0/specifications/thor-1.0.1.gemspec\")\nend\nGem.clear_paths\nbegin\n  require 'msgpack'\nrescue LoadError => e\nend\nFileUtils.mv(\"/opt/puppetlabs/puppet/lib/ruby/gems/2.5.0/specifications/thor-1.0.1.gemspec\", \"/tmp/thor-1.0.1.gemspec\")\nGem::Specification.latest_specs\n{code}\n\nRubygems monkey patches {{Kernel.require}} so that if the gem fails to load, it will try to activate it. This has the side effect of caching the stub specifications for all gems.\n\nIf the gemspec is then removed via rpm upgrade, then the cached stub specification will refer to a gemspec that no longer exists.\n\nIf we later try to load the full specifications (such as when autoloading a terminus), then rubygems will raise:\n\n{noformat}\n/opt/puppetlabs/puppet/lib/ruby/2.5.0/rubygems/specification.rb:743:in `_all': pid: 9272 nil spec! included in [...#<Gem::StubSpecification:0x0000000001bf0bc0 @extension_dir=nil, @full_gem_path=nil, @gem_dir=nil, @ignored=nil, @loaded_from=\"/opt/puppetlabs/puppet/lib/ruby/gems/2.5.0/specifications/thor-1.0.1.gemspec\", @data=#<Gem::StubSpecification::StubLine:0x0000000001c44810 @name=\"thor\", @version=#<Gem::Version \"1.0.1\">...]\n{noformat}\n\nIt can also be reproduced in puppet using:\n\n{code:ruby}\nrequire 'fileutils'\nrequire 'puppet'\n \nif File.exist?(\"/tmp/thor-1.0.1.gemspec\")\n  FileUtils.mv(\"/tmp/thor-1.0.1.gemspec\", \"/opt/puppetlabs/puppet/lib/ruby/gems/2.5.0/specifications/thor-1.0.1.gemspec\")\nend\n \nPuppet.initialize_settings\nPuppet[:log_level] = 'debug'\n \nPuppet.features.msgpack?\nFileUtils.mv(\"/opt/puppetlabs/puppet/lib/ruby/gems/2.5.0/specifications/thor-1.0.1.gemspec\", \"/tmp/thor-1.0.1.gemspec\")\nPuppet::FileBucket::File.indirection.terminus(:rest)\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20248", "fixedVersions": ["PUP 6.20.0", "PUP 7.0.0"], "id": "20248", "issueType": "Bug", "key": "PUP-10719", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-10-20T14:39:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Puppet's feature detection can leave rubygems in a bad state", "timeSpent": "PT0S", "updated": "2020-11-09T07:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c1489a1d81f0069d8e30a", "attachments": [], "comments": [], "components": [], "created": "2020-10-14T07:11:00.000000", "creator": "6007ea942a6b66006902c024", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": ["ghost"]}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2c9dd54f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzvq87:2i6000000i4209040c"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_93756669_*|*_3_*:*_1_*:*_81299963_*|*_10009_*:*_1_*:*_321343010_*|*_5_*:*_1_*:*_0"}], "description": "*.Puppet Version: main branch*\n *Puppet Server Version:*\n *OS Name/Version: all*\n\nAfter resolving the requested facts, in puppet are added 3 additional local facts: \"clientcert\", \"clientversion\" and \"clientnoop\". `puppet facts show` action should display only the requested facts without the additional facts.\n\n*Desired Behavior:*\n\nFor 'timezone' query (puppet facts show timezone) the output should be:\n\n{\"timezone\":\"EEST\"}\n\n*Actual Behavior:*\n\nFor 'timezone' query (puppet facts show timezone) the output is:\n\n{\"timezone\":\"EEST\",\"clientcert\":\"macbookpro.local\",\"clientversion\":\"6.14.0\",\"clientnoop\":false}\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29707", "fixedVersions": ["FACT 4.0.44", "PUP 7.0.0"], "id": "29707", "issueType": "Bug", "key": "PUP-10717", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6007ea942a6b66006902c024", "resolution": "Fixed", "resolutionDate": "2020-10-20T01:04:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "When query for a specific fact with puppet facts show there are 3 additional puppet specific facts displayed", "timeSpent": "PT0S", "updated": "2020-11-05T01:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6007ea942a6b66006902c024", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/d0523b273c80ddda0a5dc9a70c3d7b735e0fe5c3", "created": "2020-10-22T11:53:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in d0523b273c80ddda0a5dc9a70c3d7b735e0fe5c3", "created": "2020-10-23T12:43:00.000000"}], "components": [], "created": "2020-10-14T06:58:00.000000", "creator": "6007ea942a6b66006902c024", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": ["ghost"]}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@11e1911a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzvq87:2i6000000i4209040a"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_89424928_*|*_1_*:*_1_*:*_408320462_*|*_3_*:*_1_*:*_116181304_*|*_10009_*:*_2_*:*_406142599_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: main branch*\n *Puppet Server Version:*\n *OS Name/Version: All*\n\nBy default puppet facts show output is rendered as json. The json output is not pretty printed.\n\n*Desired Behavior:*\n\n*`\"os\": {*\n *\"name\": \"Darwin\",*\n *\"hardware\": \"x86_64\",*\n *\"architecture\": \"x86_64\",*\n *\"family\": \"Darwin\",*\n *\"release\": {*\n *\"full\": \"18.7.0\",*\n *\"major\": \"18\",*\n *\"minor\": \"7\"*\n *},*\n *\"macosx\": {*\n *\"build\": \"18G95\",*\n *\"product\": \"Mac OS X\",*\n *\"version\": {*\n *\"full\": \"10.14.6\",*\n *\"major\": \"10.14\",*\n *\"minor\": \"6\"*\n *}*\n *}}`*\n\n*Actual Behavior:*\n\n\u00a0The output for os query :\n\n`\\{\"os\":{\"architecture\":\"x86_64\",\"family\":\"Darwin\",\"hardware\":\"x86_64\",\"macosx\":{\"build\":\"18G95\",\"product\":\"Mac OS X\",\"version\":{\"full\":\"10.14.6\",\"major\":\"10.14\",\"minor\":\"6\"}},\"name\":\"Darwin\",\"release\":\\{\"full\":\"18.7.0\",\"major\":\"18\",\"minor\":\"7\"}}}`", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28692", "fixedVersions": ["PUP 7.0.0"], "id": "28692", "issueType": "Bug", "key": "PUP-10716", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6007ea942a6b66006902c024", "resolution": "Fixed", "resolutionDate": "2020-10-26T02:19:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Fix json output of puppet facts show action", "timeSpent": "PT0S", "updated": "2020-10-26T02:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6007ea942a6b66006902c024", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/1ea1f3c2743e17c5e3c91736d352e059b5890fd1\n\nPassed CI in de3c3a8d74", "created": "2020-10-26T21:24:00.000000"}], "components": [], "created": "2020-10-14T06:54:00.000000", "creator": "6007ea942a6b66006902c024", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": ["ghost"]}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7317f179"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzvq87:2i6000000i42090408"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "`puppet facts show` has become the default `puppet facts` action, replacing `puppet facts find`"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_66360230_*|*_1_*:*_1_*:*_151666104_*|*_3_*:*_1_*:*_256882734_*|*_10009_*:*_1_*:*_614005246_*|*_5_*:*_2_*:*_96866"}], "description": "Currently the default action for puppet facts application is `find` and it should be changed to `show` action.\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26664", "fixedVersions": ["PUP 7.0.0"], "id": "26664", "issueType": "Task", "key": "PUP-10715", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6007ea942a6b66006902c024", "resolution": "Fixed", "resolutionDate": "2020-10-26T21:24:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Make show action the default one for puppet facts", "timeSpent": "PT0S", "updated": "2020-11-09T07:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/8e5ebbf13f0af07deee8b9c7aa81e07453b74cbb", "created": "2020-10-14T11:30:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in d0523b273c80ddda0a5dc9a70c3d7b735e0fe5c3", "created": "2020-10-23T12:44:00.000000"}, {"author": "557058:dca64d54-09f0-4382-bfcb-be39b7f1090a", "body": "The new terminology \"server_used\" was marked as resolved on 2020/10/13, and the old terminology \"master_used\" was completely removed (without deprecation notice) on 2020/10/26.\n\nIt was mention that you don't think the variable is used anywhere in the product, but what about the humans who read documentation that's still on the internet who do expect that variable to work (maybe somebody wrote a blog post because it actually did work for 13 days)? Do you see how things like this erode trust in the puppet ecosystem?", "created": "2021-05-14T15:19:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:dca64d54-09f0-4382-bfcb-be39b7f1090a] The old terminology was deprecated in the 6.x release documentation and removed in 7.0. Also the {{report_format}} field in the report schema was updated, so any automation trying to parse the report would know that the {{master_used}} field had been removed, see https://github.com/puppetlabs/puppet/commit/ac248dd5b66e7ac1701316b149e0c47af26ab64b.", "created": "2021-05-14T17:27:00.000000"}, {"author": "557058:dca64d54-09f0-4382-bfcb-be39b7f1090a", "body": "[~accountid:63d40628f6e1b543161789a7]\u00a0By only putting the deprecation notice in the release documentation (and not within a warning emitted during puppet runs), it forces build maintainers to look in two places instead of one. Is it fair to expect deprecation notices to be displayed as warnings during puppet runs, as opposed to finding out that it just doesn't work anymore and having to dig through release documentation to validate that?", "created": "2021-05-17T07:54:00.000000"}], "components": [], "created": "2020-10-13T23:57:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3791b997"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04ink:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "remove `master_used` from puppet 7 report since we already have `server_used` with the same information and there is no usage of `master_used` in our products"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_782019300_*|*_1_*:*_1_*:*_41594488_*|*_10009_*:*_1_*:*_229383089_*|*_5_*:*_1_*:*_0"}], "description": "As part of https://puppet.atlassian.net/browse/PUP-10672, `server_used` was added to report with the same behavior as `master_used`\n\nIt does not seems to be any usage in our products for `master_used`: https://github.com/puppetlabs/puppet/pull/8382#issuecomment-707287802", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26662", "fixedVersions": ["PUP 7.0.0"], "id": "26662", "issueType": "Task", "key": "PUP-10714", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "resolution": "Fixed", "resolutionDate": "2020-10-26T04:27:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "remove \"master_used\" report parameter in puppet 7", "timeSpent": "PT0S", "updated": "2021-05-17T07:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "-Added to platform_7 so that we can delete the clear and clear_all methods (so all manual cache eviction is handled through the REST API).- It turns out the {{clear_all}} method is called, and keeping the {{clear}} method to clear a single environment, is easy to fix, so targeting 6.x and 7.x", "created": "2020-10-14T11:50:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in [https://github.com/puppetlabs/puppet/commit/8720fab607503e41954599cc685bf532364ed451]\n\n\u00a0", "created": "2020-11-13T12:05:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in\u00a0ac1e01e521", "created": "2020-11-17T08:37:00.000000"}], "components": [], "created": "2020-10-13T18:25:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5937df1f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04imw:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Previously, if the environment.conf for an environment was updated and the environment was cleared, then puppetserver would still use the old values in memory for per-environment settings such as modulepath, config_version, etc. This was true if the environment timed out or if the environment was explicitly cleared using puppetserver's environment cache REST API. \n\nNow if an environment is cleared, puppet will reload the per-environment settings from the updated environment.conf."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_333088458_*|*_1_*:*_1_*:*_604050793_*|*_10007_*:*_2_*:*_165816255_*|*_3_*:*_2_*:*_1889323769_*|*_5_*:*_1_*:*_0"}], "description": "Puppet's environment cache has three methods for evicting a single expired environment, all expired environments, or all environments, but they don't mutate the cache in a consistent way:\n\n1. Whenever {{Puppet::Environments::Cached#get_conf(name)}} is called to lookup the {{EnvironmentConf}} for an environment, we clear that environment if it is now expired via {{evict_if_expired(name)}}, but the method doesn't update the {{@next_expiration}} instance variable. As a result, the optimization in {{clear_all_evicted}} may cause us to call the {{cache_expiration_service.expired?(name.to_sym}} twice.\n\n2. Whenever {{Puppet::Environments::Cached#get(name)}} is called, we clear all environments that are now expired via {{clear_all_expired}}. This method updates the cache consistently.\n\n3. Whenever {{Puppet::Environments::Cached#clear_all}} is called, the {{cache_expiration_service}} is never notified of the eviction, which could lead to puppetserver holding onto environment names in memory. The method also does not clear environment related settings (for each environment). So anyone calling `Puppet[:rich_data]` for example could \"see\" the value from the now evicted environment. The {{clear_all}} method is used when Puppet[:rich_data] is set and also in unit tests.\n\n4. The {{Puppet::Environments::Cached#clear}} method does not remove the environment entry from the {{@expirations}} sorted set and doesn't recalculate the {{@next_expiration}} time, or clear the enviroment related settings. The {{clear}} methods does not appear to be used in puppet, as it was decided earlier to only support a REST API for cache eviction.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23389", "fixedVersions": ["PUP 6.20.0", "PUP 7.1.0"], "id": "23389", "issueType": "Bug", "key": "PUP-10713", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-11-17T08:37:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Fine grained environment timeout issues", "timeSpent": "PT0S", "updated": "2020-12-09T09:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in https://github.com/puppetlabs/puppet/commit/edb182bfe69b56ebfc8a6406ef8f026a5c6322aa", "created": "2020-10-26T21:22:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in\u00a0https://github.com/puppetlabs/puppet/commit/88da3734d0d89aa64272bb53a83a4edac1dd0b46", "created": "2020-10-28T16:47:00.000000"}], "components": [], "created": "2020-10-13T08:26:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@785ae7da"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04hz4:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Implement JSON termini for node and report indirection."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_820624660_*|*_1_*:*_1_*:*_65075422_*|*_10007_*:*_1_*:*_234311466_*|*_3_*:*_1_*:*_586810829_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_11460448"}], "description": "We have a YAML terminus for noted and report, however, YAML can problematic for hexidecimal numbers (see\u00a0PUP-9505).\n\n\nSimilarly to the JSON terminus for facts (https://puppet.atlassian.net/browse/PUP-10656) we should also implement JSON termini for node and report.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20243", "fixedVersions": ["PUP 6.20.0", "PUP 7.0.0"], "id": "20243", "issueType": "Improvement", "key": "PUP-10712", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Fixed", "resolutionDate": "2020-11-02T04:44:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Provide a JSON terminus for node and report", "timeSpent": "PT0S", "updated": "2020-11-09T07:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [], "components": [], "created": "2020-10-09T06:34:00.000000", "creator": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2aad04fa"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04g9c:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "A new `port` setting type was added, which coerces the given value to an integer, and validates if the value is in the range of 0-65535. Puppet port settings have been updated to use this setting type."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_94634274_*|*_1_*:*_1_*:*_417023349_*|*_10007_*:*_1_*:*_187450696_*|*_3_*:*_1_*:*_408891458_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_713250248"}], "description": "This came up when we wanted to have an interpolated integer as a default value for a setting. Currently it is not possible to do this, as the interpolation has to be wrapped in quotes, so the setting becomes a string instead.\n\nPuppet has various setting types (array, boolean, enum, ttl, priority, etc.) which can have their own munge logic. We should create a numeric (or integer) setting type which converts passed values to valid numbers (even if they are passed as strings/symbols).\n\nOn top of this, we should have a port setting type which inherits from the numeric setting type. In short, it should call munge on its superclass and then check if the resulting number is valid (between 0 and 65535).\n\nAll port-related settings should be updated afterwards to use the new type (masterport, serverport, ca_port and report_port).\n\nPOC for this functionality (without the numeric setting type): [https://github.com/puppetlabs/puppet/pull/8373]\n\nThis is considered breaking in a way, as there isn't a consensus on whether the port-related settings should be strings or integers (currently both are accepted).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28691", "fixedVersions": ["PUP 7.0.0"], "id": "28691", "issueType": "Improvement", "key": "PUP-10711", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "resolution": "Fixed", "resolutionDate": "2020-10-30T08:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Create numeric and port setting types and update existing port settings", "timeSpent": "PT0S", "updated": "2020-11-09T07:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Ah I remembered something about this. Puppet supports specifying environments as a section, see [https://puppet.com/docs/puppet/6.18/config_print.html#environments|https://puppet.com/docs/puppet/6.18/config_print.html#environments,]\u00a0and [https://github.com/puppetlabs/puppet/blob/main/lib/puppet/settings.rb#L832.]\u00a0We could at least verify that the section name is [:main, etc] or matches {{Puppet::Node::Environment.valid_name?}}\n\nA stricter check would be to verify that the environment exists, but that would break cases where the setting is set before the environment is created.", "created": "2020-10-08T09:45:00.000000"}], "components": [], "created": "2020-10-08T04:10:00.000000", "creator": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Reject setting an invalid section via the _puppet config set_ command."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2c609cc5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04fl4:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Oct/20"}], "description": "*Puppet Version: 6.18.0*\n *Puppet Server Version: N/A*\n *OS Name/Version: RedHat 8*\n\nPuppet does not reject setting an invalid section in puppet.conf via the set command.\n\nAs the invalid section will be written into puppet.conf, the next time puppet.conf gets parsed, an error will be shown.\n\n\n{code:java}\nroot@unlikely-beggar ~# puppet config set random213 aaaa --section random4212 root@unlikely-beggar ~# cat /etc/puppetlabs/puppet/puppet.conf [random4212] random213 = aaaa root@unlikely-beggar ~# puppet config print server Error: Could not parse /etc/puppetlabs/puppet/puppet.conf: Illegal section 'random4212' in config file at (file: /etc/puppetlabs/puppet/puppet.conf, line: 1). The only valid puppet.conf sections are: [main, master, agent, user, server]. Please use the directory environments feature to specify environments. (See https://puppet.com/docs/puppet/latest/environments_about.html) puppet{code}\n\u00a0\n\n*Desired Behavior: Do not allow setting of invalid sections in puppet.conf*\n\n*Actual Behavior: Setting of invalid sections in puppet.conf works only on the first try*\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26661", "fixedVersions": [], "id": "26661", "issueType": "Bug", "key": "PUP-10710", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Disable setting invalid sections in puppet.conf ", "timeSpent": "PT0S", "updated": "2020-10-12T12:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-10-07T16:35:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6a8ba09e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10700"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04fc8:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1207_*|*_3_*:*_1_*:*_1650790523_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1982449162"}], "description": "(Initial planned release date: 2020-10-20)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2020-10-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "26630", "fixedVersions": [], "id": "26630", "issueType": "Task", "key": "PUP-10709", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25512", "parentSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-11-18T16:49:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 6.19.0)", "timeSpent": "PT0S", "updated": "2020-11-18T16:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-10-07T16:35:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2866f231"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10700"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04fc0:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1118_*|*_3_*:*_1_*:*_1650784687_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1982455200"}], "description": "(Initial planned release date: 2020-10-20)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n", "duedate": "2020-10-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "25548", "fixedVersions": [], "id": "25548", "issueType": "Task", "key": "PUP-10708", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25512", "parentSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-11-18T16:49:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 6.19.0)", "timeSpent": "PT0S", "updated": "2020-11-18T16:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "attachments": [], "comments": [], "components": [], "created": "2020-10-07T16:35:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@76dd53d2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10700"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04fbs:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1031_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1127159428"}], "description": "(Initial planned release date: 2020-10-20)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 6.19.0 is now available\".\n", "duedate": "2020-10-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "24432", "fixedVersions": [], "id": "24432", "issueType": "Task", "key": "PUP-10707", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25512", "parentSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-10-20T17:41:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Send release announcement (Puppet Platform 6.19.0)", "timeSpent": "PT0S", "updated": "2020-10-20T17:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Published:\u00a0https://puppet.com/docs/puppet/6.19/release_notes_puppet.html#release_notes_puppet_x-19-0", "created": "2020-10-21T01:20:00.000000"}], "components": [], "created": "2020-10-07T16:35:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7ed9d709"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10700"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04fbc:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1123_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1154682217"}], "description": "(Initial planned release date: 2020-10-20)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2020-10-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "22319", "fixedVersions": [], "id": "22319", "issueType": "Task", "key": "PUP-10706", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25512", "parentSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-10-21T01:20:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 6.19.0)", "timeSpent": "PT0S", "updated": "2020-10-21T01:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-10-07T16:35:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1f66665d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10700"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04fb4:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1070_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1124061161"}], "description": "(Initial planned release date: 2020-10-20)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2020-10-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "21373", "fixedVersions": [], "id": "21373", "issueType": "Task", "key": "PUP-10705", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25512", "parentSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-10-20T16:49:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 6.19.0)", "timeSpent": "PT0S", "updated": "2020-10-20T16:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Release notes preview:\u00a0https://puppet-docs-preview.netlify.app/docs/puppet/latest-preview/release_notes_puppet.html#release_notes_puppet_x-19-0", "created": "2020-10-19T06:45:00.000000"}, {"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "The next release in the Puppet 6 series, Puppet 6.19.0, is now available!\n\nThe release contains bug fixes and minor improvements, including:\n * {color:#505f79}New\u00a0{{environment_ttl}}\u00a0setting to clear short-lived\u00a0Puppet\u00a0environments from memory{color}\n\n * {color:#505f79}The\u00a0{{puppetserver_gem}}\u00a0package provider added to core\u00a0Puppet{color}\n\n * {color:#505f79}Added\u00a0{{pip2}}\u00a0package provider when\u00a0{{pip3}}\u00a0is the system default{color}\n\nFor the full list of changes, check out the release notes:\u00a0[https://puppet.com/docs/puppet/latest/release_notes_puppet.html]\n\n\u00a0\n\n[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] [~accountid:557058:613151bd-b161-4bc3-9e32-335fdcef4d89]\u00a0feel free to add any items to call out here\n\n[~accountid:5b5a27ad106ec32d95ea277d]\u00a0to review before shipping cc/[~accountid:557058:31c596d1-7e27-4c91-bc18-1254edb3caab]", "created": "2020-10-20T16:58:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Same note on this one:\n\n* This release adds a new CA API for revoking and cleaning certificates efficiently in bulk.", "created": "2020-10-20T17:09:00.000000"}, {"author": "5b5a27ad106ec32d95ea277d", "body": "Looks good.\u00a0", "created": "2020-10-20T17:12:00.000000"}], "components": [], "created": "2020-10-07T16:35:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6e53ed02"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10700"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04fao:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1153_*|*_3_*:*_1_*:*_30551584_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1124112708"}], "description": "(Initial planned release date: 2020-10-20)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2020-10-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "29706", "fixedVersions": [], "id": "29706", "issueType": "Task", "key": "PUP-10704", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25512", "parentSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-10-21T01:19:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare release announcement (Puppet Platform 6.19.0)", "timeSpent": "PT0S", "updated": "2020-10-21T01:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Draft:\u00a0https://docs.google.com/document/d/1jttwqo-uQwIt3yFQYsa7hs_SwFp-SZls_tSATgD9AvM/edit?usp=sharing", "created": "2020-10-13T04:56:00.000000"}], "components": [], "created": "2020-10-07T16:35:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3540911d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10700"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04fag:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1163_*|*_3_*:*_1_*:*_3156397531_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_2_*:*_476467202"}], "description": "(Initial planned release date: 2020-10-20)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2020-10-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "28690", "fixedVersions": [], "id": "28690", "issueType": "Task", "key": "PUP-10703", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25512", "parentSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-11-18T16:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 6.19.0)", "timeSpent": "PT0S", "updated": "2020-11-18T16:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-10-07T16:35:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5509f4fe"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10700"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04fa8:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1139_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1124084781"}], "description": "(Initial planned release date: 2020-10-20)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2020-10-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "27627", "fixedVersions": [], "id": "27627", "issueType": "Task", "key": "PUP-10702", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25512", "parentSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-10-20T16:50:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 6.19.0)", "timeSpent": "PT0S", "updated": "2020-10-20T16:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-10-07T16:35:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5c6ea643"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10700"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04fa0:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1114_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1124108980"}], "description": "(Initial planned release date: 2020-10-20)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 6.19.0 and puppet-agent 6.19.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2020-10-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "26629", "fixedVersions": [], "id": "26629", "issueType": "Task", "key": "PUP-10701", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25512", "parentSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-10-20T16:50:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 6.19.0)", "timeSpent": "PT0S", "updated": "2020-10-20T16:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-10-07T16:35:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Coremunity"}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Night's Watch"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@70166292"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-10"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 6.19.0 Release - 2020-10-20\n"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "blue"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Platform OS"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04f9s:"}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "PuppetDB"}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Release Engineering"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5969621978_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "duedate": "2020-10-20T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25512", "fixedVersions": [], "id": "25512", "issueType": "Epic", "key": "PUP-10700", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-12-15T17:48:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "timeSpent": "PT0S", "updated": "2021-06-07T03:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-10-07T16:33:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@31932e3d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10690"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04f4g:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1107_*|*_3_*:*_1_*:*_17384713409_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3633413253"}], "description": "(Initial planned release date: 2020-10-20)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2020-10-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "21372", "fixedVersions": [], "id": "21372", "issueType": "Task", "key": "PUP-10699", "labels": ["release"], "originalEstimate": "PT0S", "parent": "29758", "parentSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Done", "resolutionDate": "2021-06-07T22:55:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 5.5.22)", "timeSpent": "PT0S", "updated": "2021-06-07T22:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-10-07T16:33:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@12ae07fd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10690"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04f48:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1183_*|*_3_*:*_1_*:*_17384703995_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3633418885"}], "description": "(Initial planned release date: 2020-10-20)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n", "duedate": "2020-10-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "20241", "fixedVersions": [], "id": "20241", "issueType": "Task", "key": "PUP-10698", "labels": ["release"], "originalEstimate": "PT0S", "parent": "29758", "parentSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Done", "resolutionDate": "2021-06-07T22:55:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 5.5.22)", "timeSpent": "PT0S", "updated": "2021-06-07T22:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "attachments": [], "comments": [], "components": [], "created": "2020-10-07T16:33:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@32128953"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10690"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04f40:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1146_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1127337290"}], "description": "(Initial planned release date: 2020-10-20)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 5.5.22 is now available\".\n", "duedate": "2020-10-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "29760", "fixedVersions": [], "id": "29760", "issueType": "Task", "key": "PUP-10697", "labels": ["release"], "originalEstimate": "PT0S", "parent": "29758", "parentSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-10-20T17:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Send release announcement (Puppet Platform 5.5.22)", "timeSpent": "PT0S", "updated": "2020-10-20T17:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Published:\u00a0https://puppet.com/docs/puppet/5.5/release_notes.html#puppet-5522", "created": "2020-10-21T01:19:00.000000"}], "components": [], "created": "2020-10-07T16:32:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1a58aee3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10690"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04f3k:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1045_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1154771293"}], "description": "(Initial planned release date: 2020-10-20)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2020-10-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "27625", "fixedVersions": [], "id": "27625", "issueType": "Task", "key": "PUP-10696", "labels": ["release"], "originalEstimate": "PT0S", "parent": "29758", "parentSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-10-21T01:19:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 5.5.22)", "timeSpent": "PT0S", "updated": "2020-10-21T01:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-10-07T16:32:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@782bcff4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10690"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04f3c:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1173_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1122024579"}], "description": "(Initial planned release date: 2020-10-20)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2020-10-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "26628", "fixedVersions": [], "id": "26628", "issueType": "Task", "key": "PUP-10695", "labels": ["release"], "originalEstimate": "PT0S", "parent": "29758", "parentSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-10-20T16:13:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 5.5.22)", "timeSpent": "PT0S", "updated": "2020-10-20T16:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Release notes PR:\u00a0https://github.com/puppetlabs/puppet-docs/pull/1006", "created": "2020-10-19T06:49:00.000000"}, {"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "The next point release in the Puppet 5.5 series, Puppet 5.5.22, is now available!\n\nThe release contains bug fixes and minor improvements, including:\n * This release updates the permission for `state.yaml` and `transactionstore.yaml` to remove the group write access\n * Puppet run continues despite failed Pluginsync\n * This release adds a new CA API for revoking and cleaning certificates efficiently in bulk.\n\nFor the full list of changes, check out the release notes:\u00a0[https://puppet.com/docs/puppet/5.5/release_notes.html]\n\n\u00a0\n\ncc/ [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]\u00a0 [~accountid:557058:613151bd-b161-4bc3-9e32-335fdcef4d89] please add any highlights here.\u00a0[~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1]\u00a0to review before shipping cc/[~accountid:557058:31c596d1-7e27-4c91-bc18-1254edb3caab]\u00a0 cc/[~accountid:999854:191ed73b-6251-4dec-84ff-45f07d9b8e9c]", "created": "2020-10-20T16:44:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We shipped mini feature that has been interesting to a lot of customers:\n* This release adds a new CA API for revoking and cleaning certificates efficiently in bulk.", "created": "2020-10-20T16:49:00.000000"}, {"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "thanks [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]\u00a0i added your note above\n\n\u00a0", "created": "2020-10-20T16:55:00.000000"}, {"author": "5b5a27ad106ec32d95ea277d", "body": "This looks good to go.", "created": "2020-10-20T16:56:00.000000"}], "components": [], "created": "2020-10-07T16:32:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@64f15c2b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10690"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04f2o:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1232_*|*_3_*:*_1_*:*_32668304_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1122048217"}], "description": "(Initial planned release date: 2020-10-20)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2020-10-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "23387", "fixedVersions": [], "id": "23387", "issueType": "Task", "key": "PUP-10694", "labels": ["release"], "originalEstimate": "PT0S", "parent": "29758", "parentSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-10-21T01:18:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare release announcement (Puppet Platform 5.5.22)", "timeSpent": "PT0S", "updated": "2020-10-21T01:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "PR:\u00a0https://github.com/puppetlabs/puppet-docs/pull/1006", "created": "2020-10-13T04:57:00.000000"}], "components": [], "created": "2020-10-07T16:32:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@ccb7c03"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10690"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04f2g:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1168_*|*_3_*:*_1_*:*_247935360_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_476703409"}], "description": "(Initial planned release date: 2020-10-20)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\nFor X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n", "duedate": "2020-10-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "22318", "fixedVersions": [], "id": "22318", "issueType": "Task", "key": "PUP-10693", "labels": ["release"], "originalEstimate": "PT0S", "parent": "29758", "parentSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-10-16T01:50:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 5.5.22)", "timeSpent": "PT0S", "updated": "2020-10-16T01:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-10-07T16:32:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3a987881"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10690"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04f28:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1111_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1121879549"}], "description": "(Initial planned release date: 2020-10-20)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2020-10-07T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "21371", "fixedVersions": [], "id": "21371", "issueType": "Task", "key": "PUP-10692", "labels": ["release"], "originalEstimate": "PT0S", "parent": "29758", "parentSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-10-20T16:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 5.5.22)", "timeSpent": "PT0S", "updated": "2020-10-20T16:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-10-07T16:32:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3683f167"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10690"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04f20:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1116_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1122049390"}], "description": "(Initial planned release date: 2020-10-20)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 5.5.22 and puppet-agent 5.5.22 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2020-10-07T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "20300", "fixedVersions": [], "id": "20300", "issueType": "Task", "key": "PUP-10691", "labels": ["release"], "originalEstimate": "PT0S", "parent": "29758", "parentSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-10-20T16:13:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 5.5.22)", "timeSpent": "PT0S", "updated": "2020-10-20T16:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-10-07T16:32:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Coremunity"}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Froyo"}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Night's Watch"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3676b302"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-7"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 5.5.22 Release - 2020-10-20\n"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "purple"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Platform OS"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04f1s:"}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "PuppetDB"}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Release Engineering"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_11580975438_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "duedate": "2020-10-20T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29758", "fixedVersions": [], "id": "29758", "issueType": "Epic", "key": "PUP-10690", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Done", "resolutionDate": "2021-02-18T16:28:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "timeSpent": "PT0S", "updated": "2021-06-07T03:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:e92bdf6b-e141-4495-a7e5-23d021fb86e4", "body": "It turns out there is a way to get the trusted facts already:\n{code:java}\ntrusted_facts = (Puppet.lookup(:trusted_information){ Hash.new }).to_h{code}\nIt's completely different to the code to get regular facts, which isn't the most intuitive thing, but it does the job.", "created": "2020-12-01T14:09:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:557058:e92bdf6b-e141-4495-a7e5-23d021fb86e4], your solution is the right was to access trusted facts from Ruby report processor", "created": "2021-09-20T04:48:00.000000"}], "components": [], "created": "2020-10-07T10:34:00.000000", "creator": "557058:e92bdf6b-e141-4495-a7e5-23d021fb86e4", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@18421967"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o06u7j:r"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Sep/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_5884780259_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_24161671473"}], "description": "I'm writing a reports processor in Ruby where I need to access facts and trusted facts. For regular facts one can do:\n \u00a0\n{code:java}facts = Puppet::Node::Facts.indirection.find(host).values \u00a0{code}\nHowever I haven't found an equivalent for trusted facts. Is it missing or I just couldn't find it?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25509", "fixedVersions": [], "id": "25509", "issueType": "New Feature", "key": "PUP-10729", "labels": ["community"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:e92bdf6b-e141-4495-a7e5-23d021fb86e4", "resolution": "Won't Do", "resolutionDate": "2021-09-20T04:49:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Accessing trusted facts from Ruby report processor", "timeSpent": "PT0S", "updated": "2021-09-20T04:49:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Strangely if I remove the {{X509_V_FLAG_CHECK_SS_SIGNATURE}} from the default set of flags passed to the store, then the test still fails (the signature of the self-signed cert isn't checked). Also the commit summary says:\n\n{quote}\nUpon this request we do the signature verification, but not in case it is a (non-conforming) self-issued\nCA certificate with a key usage extension that does not include keyCertSign.\n{quote}\n\nAnd yet the {{ca.pem}} and {{intermediate.pem}} cert fixtures both have the {{keyCertSign}} key usage extension:\n\n{noformat}\n# openssl x509 -in spec/fixtures/ssl/ca.pem -noout -text\nCertificate:\n    Data:\n        Version: 3 (0x2)\n        Serial Number: 0 (0x0)\n        Signature Algorithm: sha256WithRSAEncryption\n        Issuer: CN = Test CA\n        Validity\n            Not Before: Jan  1 00:00:00 1970 GMT\n            Not After : Apr 19 22:31:22 2029 GMT\n        Subject: CN = Test CA\n        Subject Public Key Info:\n            Public Key Algorithm: rsaEncryption\n                RSA Public-Key: (1024 bit)\n                Modulus:\n                    00:d0:b3:d8:3f:2b:c0:45:8c:f0:3d:96:58:2c:5e:\n                    0e:6a:46:81:ab:10:2f:22:9c:7c:69:f0:61:b7:2d:\n                    f2:2f:46:97:d5:d9:1b:08:c8:c9:e8:18:a5:d8:89:\n                    27:a7:80:cb:0a:8e:ee:26:32:89:70:37:2b:bf:6f:\n                    7e:ee:12:7d:49:c7:0c:19:46:7c:65:99:dc:1f:1a:\n                    31:af:ab:87:01:b3:68:8a:5b:51:a7:78:ca:cc:1d:\n                    7c:26:b4:27:5f:67:75:99:7e:9f:16:ed:88:b3:8f:\n                    77:0f:b3:e8:b3:97:bc:70:8b:ec:62:b9:a2:47:4b:\n                    ef:dc:af:d4:9f:3d:17:cd:03\n                Exponent: 65537 (0x10001)\n        X509v3 extensions:\n            X509v3 Basic Constraints: critical\n                CA:TRUE\n            X509v3 Key Usage: critical\n                Certificate Sign, CRL Sign\n...\n{noformat}\n\nI created a repro case:\n\n{code:ruby}\nrequire 'openssl'\n\nputs OpenSSL::OPENSSL_LIBRARY_VERSION\n\n# The signature of the root cert is incorrect\nroot = OpenSSL::X509::Certificate.new(<<PEM)\n-----BEGIN CERTIFICATE-----\nMIIB8TCCAZugAwIBAgIBADANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDDAdUZXN0\nIENBMB4XDTcwMDEwMTAwMDAwMFoXDTI5MDQxOTIyMzEyMlowEjEQMA4GA1UEAwwH\nVGVzdCBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0LPYPyvARYzwPZZY\nLF4OakaBqxAvIpx8afBhty3yL0aX1dkbCMjJ6Bil2Iknp4DLCo7uJjKJcDcrv29+\n7hJ9SccMGUZ8ZZncHxoxr6uHAbNoiltRp3jKzB18JrQnX2d1mX6fFu2Is493D7Po\ns5e8cIvsYrmiR0vv3K/Unz0XzQMCAwEAAaOBlzCBlDAPBgNVHRMBAf8EBTADAQH/\nMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULCUZoWyz92n9dps6IssMVgEB8TEw\nMQYJYIZIAYb4QgENBCQWIlB1cHBldCBTZXJ2ZXIgSW50ZXJuYWwgQ2VydGlmaWNh\ndGUwHwYDVR0jBBgwFoAULCUZoWyz92n9dps6IssMVgEB8TEwDQYJKoZIhvcNAQEL\nBQADQQAQ63JYl8u+53PoBTkmYryYHE9HFS+0SQDhiiswHzUiAH2FONni4ynkM875\nfrRoMIWnsgCg5D02pKCSiqyrkZou\n-----END CERTIFICATE-----\nPEM\n\nintermediate = OpenSSL::X509::Certificate.new(<<PEM)\n-----BEGIN CERTIFICATE-----\nMIICPzCCAaigAwIBAgIBATANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDDAdUZXN0\nIENBMB4XDTcwMDEwMTAwMDAwMFoXDTI5MDQxOTIyMzEyMlowHzEdMBsGA1UEAwwU\nVGVzdCBDQSBTdWJhdXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB\nAMJKbgfGHIsvv5E+JdxULAIPG29bDlppHd1SP4v0yFbG88VWLLiCZ4EJew1vASZK\nrkJTlbEyugfUZLx5HxYKkgflr13Ws00JWLGKuizA05uVzKEN5U1AGlAtpEX/BWNi\nhDVzLA+z9mn9m9NeqBLwxKB3JVnngT3uxSIQdaytzKQfAgMBAAGjgZcwgZQwDwYD\nVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFCN4LwmBsHvG\neR8w/vxeNxT/IKAgMDEGCWCGSAGG+EIBDQQkFiJQdXBwZXQgU2VydmVyIEludGVy\nbmFsIENlcnRpZmljYXRlMB8GA1UdIwQYMBaAFCwlGaFss/dp/XabOiLLDFYBAfEx\nMA0GCSqGSIb3DQEBCwUAA4GBAIK61Y3y05h5GgIVoj2zU+d5KAU5qr4tfGpPwmZg\nhmJBuuvV3m46gUoiM1siMTVhntmc+Fn6k+d+nPnnFWA08io6E5aUyN4ktr8NIKpK\nm+vBnEm+L2lpAVMKBiod5wJrqNjnlTJ+tXnmQA5yAnQkdes9F411hysq3V6Y2Gfj\nXCqd\n-----END CERTIFICATE-----\nPEM\n\nstore = OpenSSL::X509::Store.new\nstore.purpose = OpenSSL::X509::PURPOSE_ANY\nstore.flags = OpenSSL::X509::V_FLAG_CHECK_SS_SIGNATURE\nstore.add_cert(root)\n\nstore_context = OpenSSL::X509::StoreContext.new(store, intermediate, [])\nok = store_context.verify\nif ok\n  puts \"OK\"\nelse\n  puts \"ERR #{store_context.error_string} #{store_context.current_cert.subject.to_utf8} (#{store_context.error})\"\nend\n{code}\n\nUsing 1.1.1d it prints:\n\n{code}\n$ ruby cert.rb\nOpenSSL 1.1.1d  10 Sep 2019\nERR certificate signature failure CN=Test CA (7)\n{code}\n\nUsing 1.1.1h it prints:\n\n{code}\nOpenSSL 1.1.1h  22 Sep 2020\nOK\n{code}\n\nThis doesn't affect the overall security of puppet, because the root certs are self-signed and trusted. Also note openssl 1.1.1h does verify the signature of intermediate certs.\n\nThe change in openssl behavior seems like a bug though...", "created": "2020-10-07T16:52:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "[~accountid:63d40628f6e1b543161789a7]\u00a0you were right, the change was indeed a bug and appears to have been fixed in 1.1.1i. I created a PR to only skip the test if we're running OpenSSL 1.1.1h:\u00a0https://github.com/puppetlabs/puppet/pull/8460", "created": "2020-12-14T10:07:00.000000"}], "components": [], "created": "2020-10-07T07:22:00.000000", "creator": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@546601b2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk67q:o"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_588822113_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_5353751221"}], "description": "After upgrading to openssl 1.1.1h, the following rspec failure can be seen:\n\n\u00a0\n{code}$ bundle exec rspec ./spec/unit/ssl/ssl_provider_spec.rb\nRun options: exclude {:broken=>true, :benchmark=>true}\n.......................................F................................\n\nFailures:\n\n  1) Puppet::SSL::SSLProvider when creating an ssl context with client certs raises if root cert signature is invalid\n     Failure/Error:\n       expect {\n         subject.create_context(**config.merge(cacerts: global_cacerts))\n       }.to raise_error(Puppet::SSL::CertVerifyError,\n                        \"Invalid signature for certificate 'CN=Test CA'\")\n     \n       expected Puppet::SSL::CertVerifyError with \"Invalid signature for certificate 'CN=Test CA'\" but nothing was raised\n     # ./spec/unit/ssl/ssl_provider_spec.rb:278:in `block (3 levels) in <top (required)>'\n     # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n     # /home/gabi/.rvm/gems/ruby-2.6.3/gems/webmock-3.9.1/lib/webmock/rspec.rb:37:in `block (2 levels) in <top (required)>'\n\nFinished in 0.51384 seconds (files took 1.09 seconds to load)\n72 examples, 1 failure\n\nFailed examples:\n\nrspec ./spec/unit/ssl/ssl_provider_spec.rb:274 # Puppet::SSL::SSLProvider when creating an ssl context with client certs raises if root cert signature is invalid\n{code}\nWe traced this to [https://github.com/openssl/openssl/commit/42bb51e59308b3ebc5cc1c35ff4822fba6b52d79], notably the changing of {{X509_V_FLAG_CHECK_SS_SIGNATURE}} to no longer check signature of the root CA. Downgrading openssl to 1.1.1g causes the test to pass again.\n\nThis currently impacts GitHub Actions Windows runners, as ruby 2.7.2 there comes with openssl 1.1.1h.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29756", "fixedVersions": [], "id": "29756", "issueType": "Bug", "key": "PUP-10689", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "resolution": "Fixed", "resolutionDate": "2020-12-15T01:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Assess SSL provider spec after upgrade to openssl 1.1.1h", "timeSpent": "PT0S", "updated": "2020-12-15T01:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a1beb0b007eb21a79e5d6de", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I can't reproduce this:\n\n\u00a0\n{noformat}\nC:\\Users\\josh\\projects\\puppet>type tidy.pp\nschedule { 'cleanup_window':\n  weekday     => 'Sunday'\n}\n\ntidy { 'C:\\tmp\\tidy':\n  age         => '1w',\n  matches     => '*.log',\n  recurse     => true,\n  schedule    => 'cleanup_window'\n}\nC:\\Users\\josh\\projects\\puppet>bundle exec puppet apply --debug tidy.pp\n...\nDebug: Creating default schedules\nDebug: Loaded state in 0.01 seconds\nDebug: Loaded state in 0.00 seconds\nInfo: Applying configuration version '1602697593'\nDebug: /Stage[main]/Main/Tidy[C:\\tmp\\tidy]: Not scheduled\nDebug: /Stage[main]/Main/Tidy[C:\\tmp\\tidy]: Resource is being skipped, unscheduling all events\n...\nC:\\Users\\josh\\projects\\puppet>dir c:\\tmp\\tidy\\app.log\n Volume in drive C has no label.\n Volume Serial Number is 0CEE-A705\n\n Directory of c:\\tmp\\tidy\n\n10/14/2020  10:43 AM             2,821 app.log\n{noformat}", "created": "2020-10-14T11:48:00.000000"}, {"author": "623c0da5bef8a60068c797d5", "body": "[~accountid:63d40628f6e1b543161789a7]\u00a0 That is interesting...here is my output from Puppet DB. It should only be running on Sundays but it is not for some reason. It is cleaning up files as they hit their age criteria, regardless of what my schedule is set to.\n\n\u00a0\n|Oct 14 2020 - 14:03:41|/Stage[main]/Windows_patch_mgmt/Tidy[C:\\ProgramData\\os_patching]|notice, tidy, class, windows_patch_mgmt, node, default|Tidying 1 files|/etc/puppetlabs/code/environments/production/manifests/patch_mgmt.pp:84|\n|Oct 14 2020 - 14:04:40|/Stage[main]/Windows_patch_mgmt/File[C:/ProgramData/os_patching/os_patching_fact_generation-2020_10_07-13_46_02.log]/ensure|notice, file, tidy, class, windows_patch_mgmt, node, default|removed|\u00a0|\n|Oct 14 2020 - 14:06:59|Puppet|notice|Applied catalog in 198.57 seconds|", "created": "2020-10-14T12:11:00.000000"}, {"author": "623c0da5bef8a60068c797d5", "body": "Edit: It looks like Computer A the tidy is always applied, but on Computer B the tidy is always skipped (I looked at Computer B and see log files that are months old, so they are always getting skipped)...something weird is definitely happening.\n\n\u00a0\n\n[~accountid:63d40628f6e1b543161789a7] Ran some debug runs on two computers...looks like it skips on one\u00a0 but not another.\n\n\u00a0\n\nComputer A:\n\n...\n Debug: Loaded state in 0.02 seconds\n Debug: /Stage[main]/Windows_patch_mgmt2/Tidy[C:\\ProgramData\\os_patching]: Tidying File[C:/ProgramData/os_patching/os_patching_fact_generation-2020_10_08-01_48_45.log]\n Debug: /Stage[main]/Windows_patch_mgmt2/Tidy[C:\\ProgramData\\os_patching]: Tidying File[C:/ProgramData/os_patching/os_patching_fact_generation-2020_10_08-13_46_10.log]\n Notice: /Stage[main]/Windows_patch_mgmt2/Tidy[C:\\ProgramData\\os_patching]: Tidying 2 files\n Debug: Loaded transaction store file in 0.04 seconds\n Info: Applying configuration version '1602700361'\n ...\n\n\u00a0\n\nComputer B:\n\n...\n Debug: /Stage[main]/Windows_patch_mgmt2/Tidy[C:\\ProgramData\\InstalledUpdates]: Not scheduled\n Debug: /Stage[main]/Windows_patch_mgmt2/Tidy[C:\\ProgramData\\InstalledUpdates]: Resource is being skipped, unscheduling all events\n Debug: /Stage[main]/Windows_patch_mgmt2/Tidy[C:\\ProgramData\\os_patching]: Not scheduled\n Debug: /Stage[main]/Windows_patch_mgmt2/Tidy[C:\\ProgramData\\os_patching]: Resource is being skipped, unscheduling all events\n ...", "created": "2020-10-14T12:40:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "This ticket has not been updated in some time and is now being closed due to inactivity. If you feel otherwise please do not hesitate to re-open this ticket and provide more information as to why this may still be a valid issue.\n", "created": "2021-09-15T03:30:00.000000"}, {"author": "5e1d1591ee2e8f0ca83998b7", "body": "Hi,\n\nI am using puppet 6 open source and just ran into this issue.\n\n\u00a0\n\nMy usecase is cleaning up old puppet report files. We have a large number of clients so cleaning up the report files creates a lot of log spam that I want to contain.\n\n\u00a0\n\nThis is my puppet code:\n\n\u00a0\n\n\u00a0\n{code:java}\n\u00a0 schedule { 'daily tidy':\n\u00a0 \u00a0 period => daily,\n\u00a0 \u00a0 range \u00a0=> '2-3',\n\u00a0 }\n\u00a0 tidy { '/opt/puppetlabs/server/data/puppetserver/reports':\n\u00a0 \u00a0 recurse \u00a0=> true,\n\u00a0 \u00a0 age \u00a0 \u00a0 \u00a0=> '90d',\n\u00a0 \u00a0 type \u00a0 \u00a0 => mtime,\n\u00a0 \u00a0 schedule => 'daily tidy',\n\u00a0 }\n\n{code}\n\u00a0\n\nThis is the output:\n\n\u00a0\n{code:java}\nDebug: /Stage[main]/XXX::Profile::Puppetserver/File[/opt/puppetlabs/server/data/puppetserver/reports/infra-mgmt1.XXX.aws.XXX.net/202205250422.yaml]: Removing existing file for replacement with absent\nNotice: /Stage[main]/XXX::Profile::Puppetserver/File[/opt/puppetlabs/server/data/puppetserver/reports/infra-mgmt1.XXX.aws.XXX.net/202205250422.yaml]/ensure: removed\nDebug: /Stage[main]/XXX::Profile::Puppetserver/File[/opt/puppetlabs/server/data/puppetserver/reports/infra-mgmt1.XXX.aws.XXX.net/202205250422.yaml]: The container Class[XXX::Profile::Puppetserver] will propagate my refresh event\nDebug: /Stage[main]/XXX::Profile::Puppetserver/Tidy[/opt/puppetlabs/server/data/puppetserver/reports]: Not scheduled\nDebug: /Stage[main]/XXX::Profile::Puppetserver/Tidy[/opt/puppetlabs/server/data/puppetserver/reports]: Resource is being skipped, unscheduling all events \u00a0{code}\n\u00a0\n\nI've managed to reproduce this on puppet 6.18 and 6.28.", "created": "2022-08-22T23:39:00.000000"}, {"author": "5e1d1591ee2e8f0ca83998b7", "body": "Are there any hacky workarounds for this, something like switching it to {{noop }}based on current time?", "created": "2022-09-05T20:52:00.000000"}, {"author": "5e1d1591ee2e8f0ca83998b7", "body": "Poking this again since this is still an issue. Is anyone reading this?\n\n\u00a0\n\nI tracked down the code: [https://github.com/puppetlabs/puppet/blob/eb498be4bf7b4dbb326dbd479d01101f0b226abb/lib/puppet/type/tidy.rb#L243]\n\n\u00a0\n\nAnd the root cause seems to be that the only metaparameter that is inherited into the file-to-delete resources is `noop`: [https://github.com/puppetlabs/puppet/blob/eb498be4bf7b4dbb326dbd479d01101f0b226abb/lib/puppet/type/tidy.rb#L250]\n\n\u00a0\n\nSo, the `schedule` metaparameter should be added there, and more broadly, it should be checked whether other metaparameters should be added too.", "created": "2022-10-16T19:08:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:5e1d1591ee2e8f0ca83998b7] yes in general metaparameters should be copied from the parent to the child resource, except for the \"alias\" metaparameter. See my comment in https://puppet.atlassian.net/browse/PUP-11631?focusedCommentId=876236&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-876236 and related ticket PUP-10688.", "created": "2022-10-18T10:25:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This should be trivial to fix now that PUP-11631 is resolved.", "created": "2022-11-15T10:25:00.000000"}, {"author": "5e1d1591ee2e8f0ca83998b7", "body": "I am very glad to see this has been picked up!", "created": "2022-11-28T19:51:00.000000"}], "components": [], "created": "2020-10-06T13:00:00.000000", "creator": "623c0da5bef8a60068c797d5", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1f7f48c8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11619"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3fk:i000r"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_430270107_*|*_1_*:*_2_*:*_1344905902_*|*_3_*:*_1_*:*_330527060_*|*_5_*:*_1_*:*_0_*|*_6_*:*_1_*:*_29534956544_*|*_10004_*:*_1_*:*_29000559955_*|*_10005_*:*_1_*:*_7780554495"}], "description": "When using schedule and recurse with the tidy resource, it will apply on every Puppet run rather than adhering to the given schedule. For example, I run this tidy resource to clean up log files on some Windows agents. I expected it to only run on Sundays as indicated by the schedule but it will execute on every Puppet run instead.\n\n\u00a0\n{code:java}\n\n    schedule { 'cleanup_window':\n        weekday     => 'Sunday'\n    }\n\n    tidy { 'C:\\ProgramData\\os_patching':\n        age         => '1w',\n        matches     => '*.log',\n        recurse     => true,\n        schedule    => 'cleanup_window'\n    }\n{code}\n\u00a0", "epicLinkSummary": "Puppet Maintenance CY22 Q4", "estimate": "PT0S", "externalId": "20299", "fixedVersions": ["PUP 7.21.0"], "id": "20299", "issueType": "Bug", "key": "PUP-10688", "labels": [], "originalEstimate": "PT0S", "parent": "26723", "parentSummary": "Puppet Maintenance CY22 Q4", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0da5bef8a60068c797d5", "resolution": "Fixed", "resolutionDate": "2022-12-07T10:03:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "tidy resource does not honor schedule metaparameter", "timeSpent": "PT0S", "updated": "2023-03-09T16:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "From puppet's perspective, it was told to remove a directory that it can't, so it is an error, and the report reflects that.", "created": "2020-10-14T12:01:00.000000"}, {"author": "557058:480cfff3-fed5-4c18-9cda-733a17067b0a", "body": "[~accountid:63d40628f6e1b543161789a7] Agreed that erroring out would be an acceptable outcome, but it doesn't actually error out:\n\n{code}\nfailed: false\nskipped: false\n{code}\n\nCompare this with the output from an {{ensure => file}} on an existing directory, which does actually produce an error:\n\n{code}\n  File[/foo]:\n    title: \"/foo\"\n    file: \"/etc/puppet/manifests/hello.pp\"\n    line: 1\n    resource: File[/foo]\n    resource_type: File\n    provider_used: posix\n    containment_path:\n    - Stage[main]\n    - Main\n    - File[/foo]\n    evaluation_time: 0.0149569\n    tags:\n    - file\n    - class\n    time: '2020-10-14T18:09:20.713609400+00:00'\n    failed: true\n    failed_to_restart: false\n    changed: false\n    out_of_sync: true\n    skipped: false\n    change_count: 0\n    out_of_sync_count: 1\n    events:\n    - audited: false\n      property: ensure\n      previous_value: directory\n      desired_value: file\n      historical_value:\n      message: 'change from ''directory'' to ''file'' failed: Could not set ''file''\n        on ensure: Is a directory - Is a directory: /foo (file: /etc/puppet/manifests/hello.pp,\n        line: 1)'\n      name: file_created\n      status: failure\n      time: '2020-10-14T18:09:20.725827600+00:00'\n      redacted:\n      corrective_change: false\n    corrective_change: false\n{code}", "created": "2020-10-14T12:09:00.000000"}], "components": ["Types and Providers"], "created": "2020-10-06T11:27:00.000000", "creator": "557058:480cfff3-fed5-4c18-9cda-733a17067b0a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@69382b7a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04do0:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_693286434_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.18.0*\n*Puppet Server Version: n/a* (standalone)\n*OS Name/Version: Ubuntu 18.04*\n\nWith the manifest\n\n{code}\nfile { \"/foo\":\n  ensure => absent;\n}\n{code}\n\nand a directory already exists at {{/foo}}, puppet currently refuses to remove {{/foo}} because {{force}} is not {{true}}. I'm applying this manifest using\n\n{code}\npuppet apply manifest.pp\n{code}\n\nThis issue concerns the generated report.\n\n*Desired Behavior:*\n\nThe resulting report should be as if the manifest were\n\n{code}\nfile { \"/foo\":\n  ensure => directory;\n}\n{code}\n\nbecause without {{force => true}} the desired end state on the host is to keep the directory around. Example report output:\n\n{code}\nresource_statuses:\n  File[/foo]:\n    title: \"/foo\"\n    file: \"/etc/puppet/manifests/hello.pp\"\n    line: 1\n    resource: File[/foo]\n    resource_type: File\n    provider_used: posix\n    containment_path:\n    - Stage[main]\n    - Main\n    - File[/foo]\n    evaluation_time: 0.000349\n    tags:\n    - file\n    - class\n    time: '2020-10-06T17:19:02.736067500+00:00'\n    failed: false\n    failed_to_restart: false\n    changed: false\n    out_of_sync: false\n    skipped: false\n    change_count: 0\n    out_of_sync_count: 0\n    events: []\n    corrective_change: false\n{code}\n\n*Actual Behavior:*\n\nThe report claims that the resource {{File[/foo]}} was out of sync and changed when no action has been taken:\n\n{code}\nresource_statuses:\n  File[/foo]:\n    title: \"/foo\"\n    file: \"/etc/puppet/manifests/hello.pp\"\n    line: 1\n    resource: File[/foo]\n    resource_type: File\n    provider_used: posix\n    containment_path:\n    - Stage[main]\n    - Main\n    - File[/foo]\n    evaluation_time: 0.0007467\n    tags:\n    - file\n    - class\n    time: '2020-10-06T17:19:55.896593800+00:00'\n    failed: false\n    failed_to_restart: false\n    changed: true\n    out_of_sync: true\n    skipped: false\n    change_count: 1\n    out_of_sync_count: 1\n    events:\n    - audited: false\n      property: ensure\n      previous_value: directory\n      desired_value: absent\n      historical_value:\n      message: removed\n      name: file_removed\n      status: success\n      time: '2020-10-06T17:19:55.896801400+00:00'\n      redacted:\n      corrective_change: false\n    corrective_change: false\n{code}\n\nThis means that puppet will perpetually report the status as {{changed}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20298", "fixedVersions": [], "id": "20298", "issueType": "Bug", "key": "PUP-10687", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:480cfff3-fed5-4c18-9cda-733a17067b0a", "resolution": "Incomplete", "resolutionDate": "2020-10-14T12:02:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "file resource with ensure => absent on an existing directory reports out of sync and changed without making any changes", "timeSpent": "PT0S", "updated": "2020-10-14T12:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Your comments match what I'd expect. I think IPS was used for Solaris? The regexp_nodes script was a fully working external node classifier, so given a hostname return a YAML hash containing classes, parameters, etc to include for that node during compilation. See https://web.archive.org/web/20140325101445/http://projects.puppetlabs.com/issues/2724 It probably works as the API hasn't really changed, but the file probably belongs in `examples/enc`.", "created": "2020-11-05T19:24:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 6.x in https://github.com/puppetlabs/puppet/commit/f8408c9c4a5e037ab7ddf52abab04d7df96e2f09\n\nPassed CI in a68574e063", "created": "2021-07-26T18:25:00.000000"}], "components": [], "created": "2020-10-05T02:08:00.000000", "creator": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@38f6e25e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0865q:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "This release removes unused files from the `ext/` directory used by upstream Linux/Solaris packaging. Most of the files are leftovers from when Puppet Server was written in Ruby/WEBrick and are not used by Puppet anymore. The remaining files were properly documented and are being used solely during internal puppet-agent packaging."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Nov/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_472285981_*|*_1_*:*_1_*:*_171254022_*|*_10007_*:*_1_*:*_610795942_*|*_3_*:*_1_*:*_2340581_*|*_10009_*:*_1_*:*_111293225_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_24203616323"}], "description": "There are some scripts in the\u00a0{{ext/}} directory left over from the ruby puppet master (webrick & passenger) and can be removed.\n\nOn a first look, these can be removed:\n * [https://github.com/puppetlabs/puppet/tree/main/ext/debian] (stuff here is really old, doubt it's still being used)\n * [https://github.com/puppetlabs/puppet/tree/main/ext/freebsd] (puppetd and puppetmasterd are no longer a thing)\n * [https://github.com/puppetlabs/puppet/tree/main/ext/gentoo] (these are also old, and gentoo seems to vendor their own config files at [https://gitweb.gentoo.org/repo/gentoo.git/tree/app-admin/puppet/files)]\n * [https://github.com/puppetlabs/puppet/tree/main/ext/ips] (not sure about this one)\n * [https://github.com/puppetlabs/puppet/tree/main/ext/ldap] (VERY old)\n * [https://github.com/puppetlabs/puppet/tree/main/ext/osx]\n ** found references to the preflight and postflight ERBs in [https://github.com/puppetlabs/packaging/blob/1.0.x/tasks/apple.rake] but it appears it's been superseded by [https://github.com/puppetlabs/vanagon/blob/master/lib/vanagon/platform/osx.rb] (not 100% sure though, but this is what our Jenkins pipelines are using)\n * [https://github.com/puppetlabs/puppet/tree/main/ext/redhat] (more old stuff)\n * [https://github.com/puppetlabs/puppet/tree/main/ext/regexp_nodes] (no idea about this one)\n * [https://github.com/puppetlabs/puppet/tree/main/ext/solaris/smf] (puppetd and puppetmasterd files and references can be removed)\n * [https://github.com/puppetlabs/puppet/tree/main/ext/suse] (some of this may be used on SLES 11?)\n * [https://github.com/puppetlabs/puppet/blob/main/ext/dbfix.sql] (probably not used anymore)", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28689", "fixedVersions": ["PUP 6.25.0", "PUP 7.10.0"], "id": "28689", "issueType": "Improvement", "key": "PUP-10685", "labels": ["doc-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "resolution": "Fixed", "resolutionDate": "2021-07-28T01:21:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Clean up ext/ directory", "timeSpent": "PT0S", "updated": "2021-08-11T07:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-10-01T06:17:00.000000", "creator": "5b9fcedc03b52466f05c4510", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@10bd68c8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk67q:i"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}], "description": "This was seen when trying to run puppet unit tests with Jruby on github actions(where the rpm package is installed on the default runner).\n\nSteps to reproduce an an Ubuntu box:\n - have jruby installed(can be done using rvm)\n{noformat}\u276f~/puppet# ruby --version\njruby 9.2.9.0 (2.5.7) 2019-10-30 458ad3e OpenJDK 64-Bit Server VM 25.265-b01 on 1.8.0_265-8u265-b01-0ubuntu2~18.04-b01 +jit [linux-x86_64]\n{noformat}\n\n - have rpm installed\n{noformat}\u276f~/puppet# apt install rpm\n{noformat}\n\n - run the specs spec/unit/provider/package/rpm_spec.rb\n{noformat}\u276f~/puppet# bundle exec rspec spec/unit/provider/package/rpm_spec.rb\n\nAn error occurred while loading ./spec/unit/provider/package/rpm_spec.rb.\nFailure/Error:\n      child_pid = Kernel.fork do\n        STDIN.reopen(stdin)\n        STDOUT.reopen(stdout)\n        STDERR.reopen(stderr)\n\n        $stdin = STDIN\n        $stdout = STDOUT\n        $stderr = STDERR\n\n        begin\n\nPuppet::Error:\n  Could not autoload puppet/type/package: Could not autoload puppet/provider/package/up2date: Could not autoload puppet/provider/package/rpm: fork is not available on this platform\n# ./lib/puppet/util.rb:508:in `safe_posix_fork'\n# ./lib/puppet/util/execution.rb:323:in `execute_posix'\n# ./lib/puppet/util/execution.rb:217:in `execute'\n# ./lib/puppet/provider/command.rb:23:in `execute'\n# ./lib/puppet/provider.rb:209:in `block in rpm'\n# ./lib/puppet/provider/package/rpm.rb:34:in `block in <main>'\n# ./lib/puppet/util/classgen.rb:132:in `genthing'\n# ./lib/puppet/util/classgen.rb:33:in `genclass'\n# ./lib/puppet/type.rb:1847:in `provide'\n# ./lib/puppet/type.rb:1832:in `provide'\n# ./lib/puppet/provider/package/up2date.rb:1:in `<main>'\n# ./lib/puppet/util/autoload.rb:78:in `load_file'\n# ./lib/puppet/util/autoload.rb:93:in `block in loadall'\n# ./lib/puppet/util/autoload.rb:91:in `loadall'\n# ./lib/puppet/util/autoload.rb:203:in `loadall'\n# ./lib/puppet/metatype/manager.rb:126:in `block in newtype'\n# ./lib/puppet/concurrent/lock.rb:10:in `synchronize'\n# ./lib/puppet/metatype/manager.rb:73:in `newtype'\n# ./lib/puppet/type/package.rb:11:in `<module:Puppet>'\n# ./lib/puppet/type/package.rb:10:in `<main>'\n# ./lib/puppet/util/autoload.rb:78:in `load_file'\n# ./lib/puppet/util/autoload.rb:189:in `load'\n# ./lib/puppet/metatype/manager.rb:171:in `block in type'\n# ./lib/puppet/concurrent/lock.rb:10:in `synchronize'\n# ./lib/puppet/metatype/manager.rb:154:in `type'\n# ./spec/unit/provider/package/rpm_spec.rb:3:in `<main>'\n# ------------------\n# --- Caused by: ---\n# NotImplementedError:\n#   fork is not available on this platform\n#   ./lib/puppet/util.rb:508:in `safe_posix_fork'\nRun options: exclude {:broken=>true, :benchmark=>true}\n\nAll examples were filtered out\n\n\nFinished in 0.00046 seconds (files took 5.52 seconds to load)\n0 examples, 0 failures, 1 error occurred outside of examples\n{noformat}\n\n - if rpm package is uninstalled, tests are passing\n{noformat}\u276f~/puppet# apt remove rpm\n\n\u276f~/puppet# bundle exec rspec spec/unit/provider/package/rpm_spec.rb\nRun options: exclude {:broken=>true, :benchmark=>true}\n.............................................................\n\nFinished in 4.83 seconds (files took 5.25 seconds to load)\n61 examples, 0 failures\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27623", "fixedVersions": [], "id": "27623", "issueType": "Improvement", "key": "PUP-10683", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5b9fcedc03b52466f05c4510", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "RSpec tests break on Ubuntu with Jruby when rpm is on the box", "timeSpent": "PT0S", "updated": "2021-06-22T01:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is a dup of PUP-6802. See my comment in https://puppet.atlassian.net/browse/PUP-6802?focusedCommentId=729538&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-729538 specifically. The problem is the agent must specify the name of a valid environment that exists on the server in order to ask the server which environment the agent belongs in. If the environment is deleted from the server, then it will \"orphan\" agents that are pinned to that environment in {{puppet.conf}}.", "created": "2020-09-30T11:25:00.000000"}], "components": [], "created": "2020-09-30T07:07:00.000000", "creator": "70121:a5de6831-9826-4929-af9c-4b98b6cd4d8e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7a9eab28"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04abk:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Sep/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_15515476_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.18.0*\n *Puppet Server Version: 6.13.0*\n *OS Name/Version: SLES 12*\n\nIf the agent requests an environment, even if the ENC enforces something different and the directory for that requested environment doesn't exist, the run will fail\n\n*Desired Behavior:*\n{code:java}\npuppet agent --test --environment bla\nNotice: Local environment: 'bla' doesn't match server specified node environment 'dev', switching agent to 'dev'.\n{code}\n*Actual Behavior:*\n{code:java}\npuppet agent --test --environment bla\nWarning: Unable to fetch my node definition, but the agent run will continue\nWarning: Find /puppet/v3/node/mynode.example.com resulted in 404 with the message: {\"message\":\"Not Found: Could not find environment 'bla'\",\"issue_kind\":\"RUNTIME_ERROR\"}\n{code}\nThis can be worked around with by simply creating an empty directory on the puppet node:\n{code:java}\n/etc/puppetlabs/code/environments # mkdir bla{code}\n{code:java}\npuppet agent --test --environment bla\nNotice: Local environment: 'bla' doesn't match server specified node environment 'dev', switching agent to 'dev'.\n{code}\nWe encountered this issue because we where decommissioning some old environments.\n\nSince puppet agent will always request the default \"production\" environment and then write the \"Local environment: 'production' doesn't match... \" we wrote the actual env to the puppet.conf with puppet to reduce the noise.\n\nNow if we remove that environment the puppet agents will still request it and the run will fail because of the missing directory, even thouhg the ENC actually enforces another environment.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22317", "fixedVersions": [], "id": "22317", "issueType": "Bug", "key": "PUP-10682", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:a5de6831-9826-4929-af9c-4b98b6cd4d8e", "resolution": "Duplicate", "resolutionDate": "2020-09-30T11:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet run fails when directory for requested env doesn't exist, even if the ENC enforces some other env", "timeSpent": "PT0S", "updated": "2020-09-30T11:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5abd613dd4cf3c56be24b70d", "body": "Last puppet-agent commit that passed:\u00a0[https://github.com/puppetlabs/puppet-agent/commit/948ade0fdc0f8a3ec53271438b0b23a14209b46d]\n\nThis contains Puppet SHA:\u00a09e2241e35dc352931fd11e479e2233d13ad56d1d\n\n\u00a0\n\nFirst puppet-agent commit that caused the test to fail:\u00a0[https://github.com/puppetlabs/puppet-agent/commit/a9dbd8600eaa6d38f3ac007622cb386f7394cddf]\n\nThis contains Puppet SHA:\u00a0c1cd3f8c5fc121e2995c6acdcaa9252f0f827ca9\n\n\u00a0\n\nDiffs between the two Puppet SHAs:\u00a0[https://github.com/puppetlabs/puppet/compare/9e2241e35dc352931fd11e479e2233d13ad56d1d...c1cd3f8c5fc121e2995c6acdcaa9252f0f827ca9]\n\n\u00a0\n\n\u00a0", "created": "2020-09-29T05:00:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "git bisect pointed to: https://github.com/puppetlabs/puppet/commit/de9c2b3b01ae7202ef441da0dbc41108b8ca013a", "created": "2020-09-29T05:45:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/a2e0045ba2e1dce4889d93be8f138cae6a0b43a5", "created": "2020-09-29T10:42:00.000000"}], "components": [], "created": "2020-09-28T23:52:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppetserver"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5c6c8b3e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o049q0:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The issue was introduced and fixed during the puppet 7 development cycle."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Sep/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_158477494_*|*_1_*:*_1_*:*_39047510_*|*_6_*:*_1_*:*_0"}], "description": "Due to a recent change on the main Puppet branch, the server test\u00a0[https://github.com/puppetlabs/puppet/blob/main/acceptance/tests/lookup/lookup.rb#L276-L291]\u00a0has started failing on all platforms with the following error:\n{code}\n11:38:29 \tError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Could not parse for environment production: Syntax error at 'site' (file: /tmp/lookup.FxwEau/environments/production/manifests/site.pp, line: 2, column: 5) on node spangled-lid.delivery.puppetlabs.net\n11:38:29 \tWarning: Not using cache on failed catalog\n11:38:29 \tError: Could not retrieve catalog; skipping run\n11:38:29 /tmp/jenkins/workspace/platform_puppetserver_integration-system_no-conditional_full-main/LAYOUT/centos7-64ma-64a/LDAP_TYPE/default/label/beaker/vendor/bundler/ruby/2.5.0/gems/beaker-4.27.0/lib/beaker/host.rb:400:in `exec'\n11:38:29 /tmp/jenkins/workspace/platform_puppetserver_integration-system_no-conditional_full-main/LAYOUT/centos7-64ma-64a/LDAP_TYPE/default/label/beaker/vendor/bundler/ruby/2.5.0/gems/beaker-4.27.0/lib/beaker/dsl/helpers/host_helpers.rb:83:in `block in on'\n11:38:29 /tmp/jenkins/workspace/platform_puppetserver_integration-system_no-conditional_full-main/LAYOUT/centos7-64ma-64a/LDAP_TYPE/default/label/beaker/vendor/bundler/ruby/2.5.0/gems/beaker-4.27.0/lib/beaker/shared/host_manager.rb:130:in `run_block_on'\n11:38:29 /tmp/jenkins/workspace/platform_puppetserver_integration-system_no-conditional_full-main/LAYOUT/centos7-64ma-64a/LDAP_TYPE/default/label/beaker/vendor/bundler/ruby/2.5.0/gems/beaker-4.27.0/lib/beaker/dsl/patterns.rb:37:in `block_on'\n11:38:29 /tmp/jenkins/workspace/platform_puppetserver_integration-system_no-conditional_full-main/LAYOUT/centos7-64ma-64a/LDAP_TYPE/default/label/beaker/vendor/bundler/ruby/2.5.0/gems/beaker-4.27.0/lib/beaker/dsl/helpers/host_helpers.rb:63:in `on'\n11:38:29 ruby/puppet/acceptance/tests/lookup/lookup.rb:308:in `block (5 levels) in run_test'\n11:38:29 ruby/puppet/acceptance/tests/lookup/lookup.rb:307:in `each'\n11:38:29 ruby/puppet/acceptance/tests/lookup/lookup.rb:307:in `block (4 levels) in run_test'\n11:38:29 /tmp/jenkins/workspace/platform_puppetserver_integration-system_no-conditional_full-main/LAYOUT/centos7-64ma-64a/LDAP_TYPE/default/label/beaker/vendor/bundler/ruby/2.5.0/gems/beaker-4.27.0/lib/beaker/dsl/structure.rb:44:in `block in step'\n11:38:29 /tmp/jenkins/workspace/platform_puppetserver_integration-system_no-conditional_full-main/LAYOUT/centos7-64ma-64a/LDAP_TYPE/default/label/beaker/vendor/bundler/ruby/2.5.0/gems/beaker-4.27.0/lib/beaker/logger.rb:239:in `with_indent'\n11:38:29 /tmp/jenkins/workspace/platform_puppetserver_integration-system_no-conditional_full-main/LAYOUT/centos7-64ma-64a/LDAP_TYPE/default/label/beaker/vendor/bundler/ruby/2.5.0/gems/beaker-4.27.0/lib/beaker/dsl/structure.rb:43:in `step'\n11:38:29 ruby/puppet/acceptance/tests/lookup/lookup.rb:306:in `block (3 levels) in run_test'\n11:38:29 /tmp/jenkins/workspace/platform_puppetserver_integration-system_no-conditional_full-main/LAYOUT/centos7-64ma-64a/LDAP_TYPE/default/label/beaker/vendor/bundler/ruby/2.5.0/gems/beaker-puppet-1.20.0/lib/beaker-puppet/helpers/puppet_helpers.rb:209:in `with_puppet_running_on'\n11:38:29 ruby/puppet/acceptance/tests/lookup/lookup.rb:305:in `block (2 levels) in run_test'\n1\n{code}\n\nExample of Jenkins run: https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppetserver/view/all/job/platform_puppetserver_integration-system_no-conditional_full-main/19/LAYOUT=centos7-64ma-64a,LDAP_TYPE=default,label=beaker/console\n\n\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29752", "fixedVersions": ["PUP 7.0.0"], "id": "29752", "issueType": "CI Blocker", "key": "PUP-10680", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Fixed", "resolutionDate": "2020-10-01T06:44:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Lookup tests are failing on all supported platforms", "timeSpent": "PT0S", "updated": "2020-11-05T02:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:e0389099-cc54-4f97-bd2a-7fa4735554bd", "body": "It's this block that is causing the problem:\n\n\u00a0\n{code:java}\nif Puppet.features.microsoft_windows?\n  version = resource[:ensure]\n  command_options << \"-v\" << %Q[\"#{version}\"] if (! resource[:ensure].is_a? Symbol) and useversion\nelse\n  command_options << \"-v\" << resource[:ensure] if (! resource[:ensure].is_a? Symbol) and useversion\nend{code}\n\u00a0\n\nFor some reason the version string is treated differently on Windows and explicitly quoted. If I change the code to just use the same code as !Windows my test case works.\n\nThis change looks like it was introduced by PUP-6563.", "created": "2020-09-28T09:43:00.000000"}, {"author": "5abd613dd4cf3c56be24b70d", "body": "Hi [~accountid:557058:e0389099-cc54-4f97-bd2a-7fa4735554bd]\n\nCan you try to remove the _space_ from the ensure value? Something like this:\n{code}package { 'sensu-plugins-puppet':\n  ensure   => '>=2.2.0',\n  provider => gem,\n  command  => 'C:\\\\opt\\\\sensu\\\\embedded\\\\bin\\\\gem.cmd',\n}\n{code}", "created": "2020-09-28T09:50:00.000000"}, {"author": "557058:e0389099-cc54-4f97-bd2a-7fa4735554bd", "body": "If I change my example to use '~> 2.2.0' for the ensure value as per PUP-6563 then that also explodes in the same way. If I revert the changes made by PUP-6563 then both the example in that ticket and my example start working.\n\nThis leads me to suspect that the way this command was issued on Windows has changed and the quoting is now no longer needed. It makes sense therefore to revert this change, so I'll file a PR.", "created": "2020-09-28T10:04:00.000000"}, {"author": "557058:e0389099-cc54-4f97-bd2a-7fa4735554bd", "body": "[~accountid:5abd613dd4cf3c56be24b70d]\u00a0if I remove the space, I get this:\n{noformat}\nError: Could not update: Execution of 'C:\\opt\\sensu\\embedded\\bin\\gem.bat install -v \"=>2.2.0\" --no-document sensu-plugins-puppet' returned 1: ERROR: While executing gem ... (Gem::Requirement::BadRequirementError)\n Illformed requirement [\"=>2.2.0\"]\n C:/opt/sensu/embedded/lib/ruby/site_ruby/2.4.0/rubygems/requirement.rb:105:in `parse'\n C:/opt/sensu/embedded/lib/ruby/site_ruby/2.4.0/rubygems/requirement.rb:135:in `block in initialize'\n C:/opt/sensu/embedded/lib/ruby/site_ruby/2.4.0/rubygems/requirement.rb:135:in `map!'\n C:/opt/sensu/embedded/lib/ruby/site_ruby/2.4.0/rubygems/requirement.rb:135:in `initialize'\n C:/opt/sensu/embedded/lib/ruby/site_ruby/2.4.0/rubygems/version_option.rb:55:in `new'\n C:/opt/sensu/embedded/lib/ruby/site_ruby/2.4.0/rubygems/version_option.rb:55:in `block in add_version_option'\n C:/opt/sensu/embedded/lib/ruby/2.4.0/optparse.rb:548:in `conv_arg'\n C:/opt/sensu/embedded/lib/ruby/2.4.0/optparse.rb:676:in `parse'\n C:/opt/sensu/embedded/lib/ruby/2.4.0/optparse.rb:1581:in `block in parse_in_order'\n C:/opt/sensu/embedded/lib/ruby/2.4.0/optparse.rb:1538:in `catch'\n C:/opt/sensu/embedded/lib/ruby/2.4.0/optparse.rb:1538:in `parse_in_order'\n C:/opt/sensu/embedded/lib/ruby/2.4.0/optparse.rb:1532:in `order!'\n C:/opt/sensu/embedded/lib/ruby/2.4.0/optparse.rb:1626:in `permute!'\n C:/opt/sensu/embedded/lib/ruby/2.4.0/optparse.rb:1648:in `parse!'\n C:/opt/sensu/embedded/lib/ruby/site_ruby/2.4.0/rubygems/command.rb:388:in `handle_options'\n C:/opt/sensu/embedded/lib/ruby/site_ruby/2.4.0/rubygems/command.rb:299:in `invoke_with_build_args'\n C:/opt/sensu/embedded/lib/ruby/site_ruby/2.4.0/rubygems/command_manager.rb:173:in `process_args'\n C:/opt/sensu/embedded/lib/ruby/site_ruby/2.4.0/rubygems/command_manager.rb:143:in `run'\n C:/opt/sensu/embedded/lib/ruby/site_ruby/2.4.0/rubygems/gem_runner.rb:59:in `run'\n C:/opt/sensu/embedded/bin/gem:21:in `<main>'{noformat}\nSo it seems the space is required.", "created": "2020-09-28T10:15:00.000000"}, {"author": "557058:e0389099-cc54-4f97-bd2a-7fa4735554bd", "body": "Here's a summary of tests with and without a space between the operator and the version:\n||Ensure||5.5.21||PUP-6563 reverted||Comment||\n|~>2.2.0|(/)|(x)|Windows seems to intercept the >2.2.0 as a redirection and Gem only sees the ~ as a version|\n|~> 2.2.0|(x)|(/)|\u00a0|\n|=>2.2.0|(x)|(x)|Gem requires a space regardless|\n|=> 2.2.0|(x)|(/)|\u00a0|\n\nThere seems to be some secret Windows shell expansions that I'm not familiar with at play here.", "created": "2020-09-28T11:10:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "It\u2019s probably the greater than character. It\u2019s possible to escape special chars on windows using caret {{\\^}}. Maybe try {{'\\^>= 2.2.0\\^'}}. The gem provider should handle that but maybe that\u2019ll work for now?", "created": "2020-10-29T23:18:00.000000"}], "components": ["Types and Providers"], "created": "2020-09-28T09:20:00.000000", "creator": "557058:e0389099-cc54-4f97-bd2a-7fa4735554bd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@76d3d22f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o049dk:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Sep/20"}], "description": "*Puppet Version: 5.5.21*\n *Puppet Server Version: n/a*\n *OS Name/Version: Windows 2012R2*\n\nThe following example on Windows doesn't work:\n\n\u00a0\n{code:java}\npackage { 'sensu-plugins-puppet':\n  ensure   => '>= 2.2.0',\n  provider => gem,\n  command  => 'C:\\\\opt\\\\sensu\\\\embedded\\\\bin\\\\gem.cmd',\n}\n{code}\n(This would normally be using the sensuclassic_gem provider which essentially just sets command for you, I've reproduced it just using the core Puppet provider for simplicity).\n\n\u00a0\n\nThis works on Linux fine (with an adjusted command).\n\n*Desired Behavior:*\n\nThe package should be installed honouring the ensure value like it does on Linux.\n\n*Actual Behavior:*\n\n\u00a0\n\n\u00a0\n{noformat}\nError: Could not update: Execution of 'C:\\opt\\sensu\\embedded\\bin\\gem.cmd install -v \">= 2.2.0\" --no-document sensu-plugins-puppet' returned 1: The filename, directory name, or volume label syntax is incorrect.\nError: /Stage[main]/Main/Package[sensu-plugins-puppet]/ensure: change from 'absent' to '>= 2.2.0' failed: Could not update: Execution of 'C:\\opt\\sensu\\embedded\\bin\\gem.cmd install -v \">= 2.2.0\" --no-document sensu-plugins-puppet' returned 1:\nThe filename, directory name, or volume label syntax is incorrect.{noformat}\n\u00a0\n\nIf I change the ensure to just a specific version or 'present', etc. it works. If I run the command manually, it also works so it suggests something to do with the way Puppet is constructing the command internally on Windows, my hunch is the \">= 2.2.0\" is causing the trouble.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20295", "fixedVersions": [], "id": "20295", "issueType": "Bug", "key": "PUP-10679", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:e0389099-cc54-4f97-bd2a-7fa4735554bd", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Unable to install Ruby gem on Windows with ensure and version range", "timeSpent": "PT0S", "updated": "2021-07-16T13:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "There are several possible reasons why you might be running into this. I'd suggest joining the #puppet channel in https://puppet.slack.com/ and getting help there.", "created": "2020-09-17T12:28:00.000000"}], "components": [], "created": "2020-09-16T16:26:00.000000", "creator": "70121:968ac89b-32d4-46bf-94e5-717197b9eab5", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@29f64a8e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o042zk:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Sep/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_72137963_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:*\n\nObjective: I'm running puppet on a utility node and when I try to connect to the puppet master from the puppet agent I get this error.\n\n[root@utility ~]# puppet agent --test\n\nWarning: Unable to fetch my node definition, but the agent run will continue: Warning: SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get certificate CRL for /CN=utility.example.com] Info: Retrieving pluginfacts Error: /File[/opt/puppetlabs/puppet/cache/facts.d]: Failed to generate additional resources using 'eval_generate': SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get certificate CRL for /CN=utility.example.com\u00a0Error: /File[/opt/puppetlabs/puppet/cache/facts.d]: Could not evaluate: Could not retrieve file metadata for puppet:///pluginfacts: SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get certificate CRL for /CN=utility.example.com] Info: Retrieving plugin Error: /File[/opt/puppetlabs/puppet/cache/lib]: Failed to generate additional resources using 'eval_generate': SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get certificate CRL for /CN=utility.example.com] Error: /File[/opt/puppetlabs/puppet/cache/lib]: Could not evaluate: Could not retrieve file metadata for puppet:///plugins: SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get certificate CRL for /CN=utility.example.com] Info: Loading facts Error: Could not retrieve catalog from remote server: SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get certificate CRL for /CN=utility.example.com] Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run\n\nAlso, the certificate on the puppet agent does not show up on the puppet master when I run:\n\npuppet cert list --all Warning: {{puppet cert}} is deprecated and will be removed in a future release. (location: /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:370:in `run')\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24485", "fixedVersions": [], "id": "24485", "issueType": "Bug", "key": "PUP-10676", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Critical", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:968ac89b-32d4-46bf-94e5-717197b9eab5", "resolution": "Incomplete", "resolutionDate": "2020-09-17T12:28:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "puppet agent not connecting to puppet master", "timeSpent": "PT0S", "updated": "2020-09-17T12:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-09-16T06:13:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@209685a3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11032"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk67q:f"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}], "description": "There are various scenarios in which catalog and plugins may not match:\n - plugins are sync-ed while new catalog cannot be retrieved and cached catalog is used instead (this should be subject of https://puppet.atlassian.net/browse/PUP-10648 and https://puppet.atlassian.net/browse/PUP-10667)\n - plugins are partially sync-ed, using new or cached catalog may both lead to inconsistencies\n\nTo fix this plugins need to be downloaded in an atomic way. One option is to create a secure directory with the same parent as Puppet[:libdir] and use it to pluginsync. To avoid downloading files we already have, you'd have to copy everything from Puppet[:libdir] to libnew. So maybe something like:\n\n1. create lib.new using ruby equivalent of mktemp -d lib.new and restrict permissions so only the current user can write\n2. Pluginsync to lib.new\n3. Rename Puppet[:libdir] to lib.old\n4. Rename lib.new to Puppet[:libdir]\n5. Delete lib.old recursively\n\nIt's possible for puppet to crash/ctrl-c between any of those points. If it occurs between 3 and 4, then puppet will have lost all of its plugins. To account for that, if puppet starts and lib.old exists, but Puppet[:libdir] doesn't, then have recover its plugins by renaming lib.old to Puppet[:libdir].\n\nIf the crash occurs between 4 and 5, then the new plugins have been committed. So when puppet starts, if Puppet[:libdir] exists, have it delete the stale lib.old.", "epicLinkSummary": "Pluginsync Improvements", "estimate": "PT0S", "externalId": "20294", "fixedVersions": [], "id": "20294", "issueType": "Bug", "key": "PUP-10675", "labels": [], "originalEstimate": "PT0S", "parent": "20264", "parentSummary": "Pluginsync Improvements", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "ensure pluginsync is atomic", "timeSpent": "PT0S", "updated": "2021-06-22T01:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [], "components": [], "created": "2020-09-15T17:40:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@483c6421"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10668"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o051mu:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_64217256_*|*_1_*:*_1_*:*_1260339416_*|*_3_*:*_1_*:*_628114566_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_5942442781"}], "description": "Rename branch in github.\n * Make sure branch protection rules are correct.\n * Update ci-job-configs for\n ** merge-ups\n ** Puppet Agent promotions\n * Re-target opened PRs\n * Update Github Actions", "epicLinkSummary": "Puppet Main Terminology", "estimate": "PT0S", "externalId": "26626", "fixedVersions": [], "id": "26626", "issueType": "Task", "key": "PUP-10674", "labels": [], "originalEstimate": "PT0S", "parent": "29749", "parentSummary": "Puppet Main Terminology", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-12-16T01:45:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Rename master branch to 6.x", "timeSpent": "PT0S", "updated": "2020-12-16T01:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5b9fcedc03b52466f05c4510", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/e0746ca619fac312b86e26b4a1f73db70b146947", "created": "2020-10-14T11:31:00.000000"}], "components": [], "created": "2020-09-15T17:34:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6fedb178"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10668"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o041xs:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Updated the endpoint for checking the server status to /status/v1/simple/server. If this call returns 404 a new call to /status/v1/simple/master is made, to ensure backwards compatibility."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_66689155_*|*_1_*:*_1_*:*_1245310725_*|*_10007_*:*_1_*:*_124286592_*|*_3_*:*_2_*:*_504629268_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_609574535"}], "description": "Call the simple server status endpoint when processing the server list. This is blocked on the server REST API changes.", "epicLinkSummary": "Puppet Main Terminology", "estimate": "PT0S", "externalId": "24484", "fixedVersions": ["PUP 7.0.0"], "id": "24484", "issueType": "Task", "key": "PUP-10673", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": "29749", "parentSummary": "Puppet Main Terminology", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-10-15T06:02:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Call simple server status endpoint", "timeSpent": "PT0S", "updated": "2020-11-09T07:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in https://github.com/puppetlabs/puppet/commit/28e5d60e80bbcbec3924c2bec570d9fdcb448c10", "created": "2020-10-09T13:01:00.000000"}], "components": [], "created": "2020-09-15T17:33:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@74542746"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10668"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o041xk:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "added a new report parameter `server_used` that behaves like `master_used`"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_385275669_*|*_1_*:*_1_*:*_1244455369_*|*_10007_*:*_1_*:*_130725567_*|*_3_*:*_1_*:*_159320206_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_522768907"}], "description": "Add a \"server_used\" parameter in the report which behaves like \"master_used\"\n\nBump the report version.\n\nUpdate the report schema and docs.\n\n-Maybe delete \"master_used\" in puppet 7 (and bump report version again) as a separate ticket?-\n\n", "epicLinkSummary": "Puppet Main Terminology", "estimate": "PT0S", "externalId": "23435", "fixedVersions": ["PUP 6.19.0"], "id": "23435", "issueType": "Task", "key": "PUP-10672", "labels": [], "originalEstimate": "PT0S", "parent": "29749", "parentSummary": "Puppet Main Terminology", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-10-14T00:02:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Add \"server_used\" report entry", "timeSpent": "PT0S", "updated": "2020-10-14T00:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in https://github.com/puppetlabs/puppet/commit/894a8d480753c4b7b032dbde5a9c48df2d6bedb5", "created": "2020-10-06T15:45:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "One thing that I missed prior to merging the PR, is that settings adds a section to its searchpath based on the run mode. This is what enables puppetserver running in {{:master}} run mode to load settings from the {{[master]}} section. As a result of the switch to {{:server}} run mode, then applications running in {{server}} run mode, like {{puppet lookup}}, will no longer read settings from {{[:master]}}. So I think we need to add logic to https://github.com/puppetlabs/puppet/blob/e06b87a71b09e7598182c9753f6151bd4155e659/lib/puppet/settings.rb#L833 such that if {{run_mode}} is {{:server}} or {{:master}}, then we add sections for both, in that order, so that {{:server}} takes precedence over {{:master}}.\n\nOne way to test is to run {{puppet config set environment_timeout unlimited --section master}} and then run the following script:\n\n{code:ruby}\nrequire 'puppet'\nPuppet.initialize_settings\napp = Puppet::Application[:lookup]\nputs Puppet.run_mode.inspect\nputs Puppet[:environment_timeout]\n{code}\n\nIt should print that it's using the {{:server}} run mode and that the timeout is {{Infinity}}. I'm not sure if you want to fix this in this ticket or create a new one.", "created": "2020-10-07T12:39:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in https://github.com/puppetlabs/puppet/commit/28c876e0391e1a4712fb9b6af4340eacc73fdcce", "created": "2020-10-08T21:43:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 836ee7ec4a", "created": "2020-10-12T15:31:00.000000"}], "components": [], "created": "2020-09-15T17:32:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1c5bd91c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10668"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o041xc:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Add a `server` run mode that behaves like `master`. External applications can set the run mode using both values. Internally, Puppet applications have been updated to use the `server` run mode as needed."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_467559950_*|*_1_*:*_1_*:*_1244377021_*|*_10007_*:*_2_*:*_102363147_*|*_3_*:*_1_*:*_79332526_*|*_10009_*:*_1_*:*_35598120_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_432197748"}], "description": "Add \"server\" run mode that behaves like \"master\"\n\nIt should be possible to set the run mode (eg in an external application) using the \"server\" or \"master\" run mode.\n\nUpdate applications in puppet to use the \"server\" run mode as neeed, such as \"puppet lookup\".", "epicLinkSummary": "Puppet Main Terminology", "estimate": "PT0S", "externalId": "22315", "fixedVersions": ["PUP 6.19.0"], "id": "22315", "issueType": "Task", "key": "PUP-10671", "labels": [], "originalEstimate": "PT0S", "parent": "29749", "parentSummary": "Puppet Main Terminology", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-10-13T01:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Add server runmode and alias", "timeSpent": "PT0S", "updated": "2020-10-13T01:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in https://github.com/puppetlabs/puppet/commit/a2230bc8f3dab86a6b72c67a9373eab06f01cccd", "created": "2020-10-06T15:46:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The original change was reverted in dfc365b5c3 and new changes merged to master in https://github.com/puppetlabs/puppet/commit/1d9d86f933453f360f9253259ac037948ae93e1a", "created": "2020-10-12T15:29:00.000000"}], "components": [], "created": "2020-09-15T17:30:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4baad872"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10668"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o041x4:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Add a `serverport` setting which behaves like `masterport`. If both settings are set, Puppet will prefer `serverport` over `masterport`."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_265874457_*|*_1_*:*_1_*:*_1244317023_*|*_10007_*:*_2_*:*_504963071_*|*_3_*:*_1_*:*_261584785_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_170770440"}], "description": "In lib/puppet/defaults.rb, create \"serverport\" setting (to replace \"masterport\")\n\nIt should be possible to specify either on the command line, puppet.conf or in code.", "epicLinkSummary": "Puppet Main Terminology", "estimate": "PT0S", "externalId": "21368", "fixedVersions": ["PUP 6.19.0"], "id": "21368", "issueType": "Task", "key": "PUP-10670", "labels": [], "originalEstimate": "PT0S", "parent": "29749", "parentSummary": "Puppet Main Terminology", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-10-14T01:21:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Create \"serverport\" setting and alias", "timeSpent": "PT0S", "updated": "2020-10-14T01:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "attachments": [], "comments": [], "components": [], "created": "2020-09-15T17:27:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7f41353"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10668"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o041ww:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "As master section is replaced with server section, for now\nmaster section is still allowed in puppet.conf, but when\nadding/updating a setting from the master section, the action\nwill be done on the server section instead, and the setting from [master]\nwill be removed."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_60458325_*|*_1_*:*_1_*:*_1244325160_*|*_10007_*:*_1_*:*_349562968_*|*_3_*:*_1_*:*_343302644_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_449971221"}], "description": "Update lib/puppet/defaults.rb so settings are added to the \"server\" section instead of \"master\".\n\nIt should be possible to get/set/remove settings based on the \"server\" section or \"master\" so as to not break existing applications/code.", "epicLinkSummary": "Puppet Main Terminology", "estimate": "PT0S", "externalId": "20293", "fixedVersions": ["PUP 6.19.0"], "id": "20293", "issueType": "Task", "key": "PUP-10669", "labels": [], "originalEstimate": "PT0S", "parent": "29749", "parentSummary": "Puppet Main Terminology", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-10-14T01:21:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Create \"server\" section and add alias", "timeSpent": "PT0S", "updated": "2020-10-14T01:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-09-15T17:23:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Night's Watch"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@29a5ad52"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-3"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Main Terminology"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "yellow"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o041wo:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2316769020_*|*_10014_*:*_1_*:*_0"}], "description": "This epic contains tickets relating to terminology changes for the puppet repo which should land in the 6.y series.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29749", "fixedVersions": [], "id": "29749", "issueType": "Epic", "key": "PUP-10668", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Done", "resolutionDate": "2021-02-03T17:59:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Puppet Main Terminology", "timeSpent": "PT0S", "updated": "2021-06-07T03:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "The {{HI}} project is for the deprecated hiera 3 gem. Please move this ticket to Puppet since this is for hiera 5.\n\nI think that in order to support this there would need to be something like a {{mapped_globs}} as it would not otherwise be 100 backwards compatible (risk of expanding glob when this is not wanted).", "created": "2020-09-16T06:27:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Having {{mapped_globs}} makes sense, and seems pretty easy to add to [{{Puppet::Pops::Lookup::LocationResolver}}|https://github.com/puppetlabs/puppet/blob/ac1e01e521f5fde3cd129c610169f3d01f78933e/lib/puppet/pops/lookup/location_resolver.rb#L38]", "created": "2020-11-17T14:11:00.000000"}], "components": ["Hiera & Lookup"], "created": "2020-09-15T09:57:00.000000", "creator": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@42666c39"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0411s:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Sep/20"}], "description": "It would be helpful for breaking out files into more manageable chunks, if hiera's mapped_paths option would permit use of globs for expansion.\n\nFor example:\n\n\u00a0\n\u00a0\n{code:yaml}\n- name: Example\n   mapped_paths: [services, tmp, \"service/%\\{tmp}/*.yaml\"]\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21366", "fixedVersions": [], "id": "21366", "issueType": "Improvement", "key": "PUP-10718", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Hiera5 mapped_paths should permit glob expansion", "timeSpent": "PT0S", "updated": "2022-07-22T12:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:63d40628f6e1b543161789a7], while digging in the code to properly implement this (since basic implementation from https://github.com/puppetlabs/puppet/pull/8328/files will show to the user that the use of cached catalog was requested, due to https://github.com/puppetlabs/puppet/blob/84bf2d8607a6ac9ffde4a061d25016afc06165b5/lib/puppet/configurer.rb#L74), I think we open the door to problems similar to the initial ticket.\n\n1. ignore_plugin_errors==true could lead to inconsistencies between modules and catalog, since we might have new catalog and old modules on the agent - problem solved with ignore_plugin_errors==false\n2. ignore_plugin_errors==false and using cached catalog could lead to similar inconsistencies, since modules could be partly updated (downloaded failed on latest file) and cached catalog will be run.\n\n\n", "created": "2020-09-15T03:26:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "About https://github.com/puppetlabs/puppet/blob/84bf2d8607a6ac9ffde4a061d25016afc06165b5/lib/puppet/configurer.rb#L74, the issue is we can't differentiate between the user wanted to used a cached catalog {{puppet agent --use_cached_catalog}} vs we're falling back to using the cached catalog. Can we modify the configurer so it uses {{Puppet[:use_cached_catalog]}} to determine what the initial intent was, while it uses a local variable to determine which mode we're currently in. And then if pluginsync fails, we change the local variable, but not {{Puppet[:use_cached_catalog]}}?\n\nAbout the inconsistencies when {{ignore_plugin_errors==false}} due to partial downloads, yeah, we have that issue now (prior to the ignore_plugin_errors when falling back to cached catalog). For example, normal daemonized agent does pluginsync, fails and the failure is ignored, agent requests catalog, which fails and falls back to cached catalog, but plugins may not match. I think to fix this plugins need to be downloaded in an atomic way. One option is to create a secure directory with the same parent as {{Puppet[:libdir]}} and use it to pluginsync. To avoid downloading files we already have, you'd have to copy everything from {{Puppet[:libdir]}} to libnew. So maybe something like:\n\n1. create lib.new using ruby equivalent of {{mktemp -d lib.new}} and restrict permissions so only the current user can write\n2. Pluginsync to lib.new\n3. Rename Puppet[:libdir] to lib.old\n4. Rename lib.new to Puppet[:libdir]\n5. Delete lib.old recursively\n\nIt's possible for puppet to crash/ctrl-c between any of those points. If it occurs between 3 and 4, then puppet will have lost all of its plugins. To account for that, if puppet starts and lib.old exists, but Puppet[:libdir] doesn't, then have recover its plugins by renaming lib.old  to Puppet[:libdir].\n\nIf the crash occurs between 4 and 5, then the new plugins have been committed. So when puppet starts, if Puppet[:libdir] exists, have it delete the stale lib.old.\n\nThat said, I'm thinking we should file a separate ticket to ensure pluginsync is atomic (since there's always been an opportunity for inconsistent plugins when falling back to a cached catalog). Thoughts?", "created": "2020-09-15T10:29:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "https://github.com/puppetlabs/puppet/pull/8328", "created": "2020-09-16T08:13:00.000000"}], "components": [], "created": "2020-09-15T03:11:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@419c9d3c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o040ug:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "In case pluginsync fails and ignore_plugin_errors is false, Puppet will \napply cached catalog if usecacheonfailure is true"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Sep/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_142584368_*|*_1_*:*_1_*:*_86646302_*|*_10007_*:*_1_*:*_274886930_*|*_3_*:*_1_*:*_172117451_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_7506117"}], "description": "This ticket relates to https://puppet.atlassian.net/browse/PUP-1763 and https://puppet.atlassian.net/browse/PUP-10598\n\nIn the case we have ignore_plugin_errors==false and usecacheonfailure==true, puppet should apply cached catalog when pluginsync fails", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20292", "fixedVersions": ["PUP 5.5.22", "PUP 6.19.0"], "id": "20292", "issueType": "Bug", "key": "PUP-10667", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "resolution": "Fixed", "resolutionDate": "2020-09-23T01:07:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "if pluginsync fails puppet should apply cached catalog", "timeSpent": "PT0S", "updated": "2020-10-13T09:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "It'd be fairly easy to add a puppet setting, something like {{agent_disabled_required_message = true|false}} to complement {{agent_disabled_lockfile}}. If the setting was true and you ran {{puppet agent --disable}} then have the agent print an error that a message is required and error, leaving the agent in whatever state it was in previously.", "created": "2020-11-17T13:56:00.000000"}, {"author": "5abd613dd4cf3c56be24b70d", "body": "Hi [~accountid:70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de]\n\nThank you for filing this issue. We agree it is likely an improvement, but due to other issues demanding precedence, we don\u2019t anticipate being able to address this any time soon. If you are interested in submitting a patch to the repository for this project at\u00a0[https://github.com/puppetlabs/puppet|https://github.com/puppetlabs], please open a pull request.", "created": "2020-12-01T09:03:00.000000"}], "components": [], "created": "2020-09-14T08:14:00.000000", "creator": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@111d3477"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0409k:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Nov/20"}], "description": "Hello,\n\n\u00a0\n\nCould a config option be added for the puppet agent to require a message when running `puppet agent --disable`?\u00a0 For larger sites with multiple admins, it would be helpful to have a way to force this best practice.\u00a0 I don't expect it to stop `puppet agent --disable ' '` but in that instance the admin knows they are leaving a useless message against the policy.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25507", "fixedVersions": [], "id": "25507", "issueType": "New Feature", "key": "PUP-10666", "labels": ["beginner", "help_wanted"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "puppet-agent config option require message for disable", "timeSpent": "PT0S", "updated": "2020-12-01T09:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "Is the case \"resource must be there, but don't propagate errors\" valid? Seems like {{optionally_requires}} and {{do_not_propagate}} are separate things.\nMaybe these concepts are:\n* optionally_before, optionaly_after (since optionally_require is a bit of an oxymoron) - this is a soft dependency, no error if missing\n* isolated_before, isolated_after - this does not propagate errors (isolated == isolated from errors) and implies optionality unless resource is also listed as required.\n\nJust a thought.", "created": "2020-09-14T08:37:00.000000"}, {"author": "557058:e0340dee-9d48-48c3-8c6a-02597af847c9", "body": "I like the idea above from [~accountid:70121:81a73de1-7f52-49cd-b0b0-46c1b147202a]. It is true that {{optionally_requires}} is not the same as {{isolated_before}}. (I warned people that I was bad at naming things).\n\nTechnically, {{optionally_before}} is what I expected the regular {{before}} to be when I started using the language but I think that ship has sailed.\n\nEven though it's a bit more wordy, I think that this is probably better than my original idea.\n\nThe {{optionally_*}} stuff is actually easy to implement because it's identical to the {{auto*}} (autorequires, etc...) portions of custom types that already exist.\n\nI think may be borrowing from {{systemd}} and using {{wants}} and {{wanted_by}} would be a bit easier to wrap our heads around than the {{isolated_*}} naming scheme.\n\nI'll update the description with these ideas.", "created": "2020-09-15T06:12:00.000000"}, {"author": "557058:e0340dee-9d48-48c3-8c6a-02597af847c9", "body": "Changed {{optionally}} to {{optional}} because it's easier to type :D", "created": "2020-09-15T09:39:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "Language check: to match existing grammar (require, subscribe, before, notify), the suggested weak dependency keywords should be singular, not plural. For {{want}} and ilk, that would be e.g.\n * {{want}}\n * {{wanted_by}}\n\nAdditionally, or alternatively, maybe we can we re-use Puppet's existing idea of an \"auto-require\"? If we did, and with the singularization, we might get:\n * {{auto_notify}}\n * {{auto_subscribe}}\n * {{auto_require}}\n * {{auto_required_by (see next comment)}}\n\n[Edited to pair idea with follow-on comment below]", "created": "2021-09-23T14:51:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "It's really too bad we can't use {{before}} and {{after}} for weak ordering. {{isolated_*}} isn't exactly intuitive. Maybe instead we could for those ones do\n * {{order_before}}\n * {{order_after}}\n\nIt's true we can never remove the original {{before}}, but it might be a good idea to introduce a new alias for that functionality which we can recommend new code use instead. We have {{require}}, which is good", "created": "2021-09-24T15:23:00.000000"}], "components": ["Language"], "created": "2020-09-12T18:22:00.000000", "creator": "557058:e0340dee-9d48-48c3-8c6a-02597af847c9", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@65a9363c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0404w:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Sep/20"}], "description": "After [a long discussion in Slack|https://puppetcommunity.slack.com/archives/C0W1X7ZAL/p1599682853112600], I was asked to create a ticket around adding 'weak dependencies' to puppet resources.\n\nWeak dependencies work like the {{wants}} keyword in {{systemd}} in that resources will be ordered after other resources that they {{want}} but failures in earlier resources will not cause cascading errors into resources that {{want}} them.\n\nThis would be useful in cases like the {{yumrepo}} resource which may cascade down to packages that do not actually reside in that repository.\n\nPer the Slack discussion, it looks like implementing this in the compiler is going to be the best case for backwards compatibility and could constitute a non-breaking feature enhancement.\n\nAn example of what this might look like is: (updated from comments below)\n{code}exec { 'ping host':\n  command => 'ping 1.2.3.4'\n}\n\nexec { 'ping other host':\n  command => 'ping 2.3.4.5'\n}\n\nfile { '/tmp/foo':\n  owner => 'root',\n  mode => '0640',\n  requires => [ File['/tmp'], Exec['ping host'] ],\n  # Add these items to the autorequires list\n  optional_requires => [File['/dev/shm']],\n  # Do not fail if these resources fail\n  wants => [ Exec['ping other host'] ]\n}\n{code}\nThe pairings would be:\n * {{optional_requires}} => {{optional_notifies}}\n * {{wants}} => {{wanted_by}}\n\nPotential symbols (Stretch Goal):\n * {{optional_requires}} => {{*>}}\n ** Denotes the 'match anything' regex marker\n * {{wants}} => {{+>}}\n ** Denotes a broken line == broken dependency\n In this case, {{requires}} would work as usual and {{wants}} would use the resource if present, ignore it if not, and not cascade resource failures.\n\nIf something exists in both {{requires}} and {{wants}} then the stronger dependency ({{requires}}) should win.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24483", "fixedVersions": [], "id": "24483", "issueType": "New Feature", "key": "PUP-10665", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:e0340dee-9d48-48c3-8c6a-02597af847c9", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Add weak dependencies to puppet resources", "timeSpent": "PT0S", "updated": "2021-09-24T15:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "There are two parts to this:\n\nFirst, the current intended behavior is to not log errors if we eventually find a server to connect to. In other words, only log the exceptions at the error level if we exhaust the server list:\n\n{noformat}\n$ bx puppet agent -t --server_list localhost:8141,localhost:8140\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\n..\n{noformat}\n\nBut if you run with debugging you'll see the first failure followed by the second success:\n\n{noformat}\n$ bx puppet agent -td --server_list localhost:8141,localhost:8140\n...\nDebug: Resolving service 'puppet' using Puppet::HTTP::Resolver::ServerList\nDebug: Creating new connection for https://localhost:8141\nDebug: Starting connection for https://localhost:8141\nDebug: Unable to connect to server from server_list setting: Request to https://localhost:8141/status/v1/simple/master failed after 0.002 seconds: Failed to open TCP connection to localhost:8141 (Connection refused - connect(2) for \"localhost\" port 8141)\nDebug: Creating new connection for https://localhost:8140\nDebug: Starting connection for https://localhost:8140\nDebug: Using TLSv1.2 with cipher DHE-RSA-AES128-GCM-SHA256\nDebug: HTTP GET https://localhost:8140/status/v1/simple/master returned 200 OK\nDebug: Caching connection for https://localhost:8140\nDebug: Resolved service 'puppet' to https://localhost:8140/puppet/v3\n...\n{noformat}\n\nThe second part is if the server_list is exhausted, then the code that would normally log the exceptions at error level is bypassed.\n\nTo confirm the expected behavior, are asking for puppet to log at error level any/all exceptions that occur during server list resolution, even if the resolution is eventually successful for that run? Or should it only log the exceptions if resolution fails?", "created": "2020-09-14T18:44:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Yes, I think we should log all errors that result in the agent failing over to the next server in the list even if the run is ultimately successful. The error messages have important context that may be needed to restore the first server in the list to a healthy state.", "created": "2020-09-15T12:06:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in https://github.com/puppetlabs/puppet/commit/23402d8b0085db5f17e9ad2e1267e28e6dcd729d", "created": "2020-09-16T11:12:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in c1cd3f8c5f", "created": "2020-09-28T12:40:00.000000"}], "components": [], "created": "2020-09-11T14:54:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@14145e37"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03z50:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet agents now always log errors that occur when trying to connect to each server in its \"server_list\" setting at the \"err\" level. Previously, the errors were only logged at the \"debug\" level or at the \"err\" level if the no servers were available."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Sep/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1042267881_*|*_1_*:*_1_*:*_237863819_*|*_10007_*:*_1_*:*_72797796_*|*_3_*:*_1_*:*_72831621_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_35244641"}], "description": "At the beginning of each run, the Puppet agent performs a health check to locate a functional Puppet Server to make API calls to. If this health check fails, the run fails with the following message:\n\n{noformat}\nError: Could not run Puppet configuration client: Could not select a functional puppet master from server_list: 'localhost:8140'\n{noformat}\n\nIn order to facilitate troubleshooting, the messages logged at error level should include some detail of what happened to the health check.\n\nh2. Reproduction Case\n\n  - Install Puppet 6 on CentOS 7:\n\n{code:bash}\nyum install -y http://yum.puppetlabs.com/puppet6-release-el-6.noarch.rpm\nyum install -y puppetserver\n{code}\n\n  - Configure the agent to check in locally and bootstrap the Puppet Server CA:\n\n{code:bash}\nsource /etc/profile.d/puppet-agent.sh\n\npuppet config set server $(hostname -f)\npuppetserver ca setup\n\nsystemctl start puppetserver\n{code}\n\n  - Provoke a health check failure by running the Puppet agent with the server url set to {{localhoost}}:\n\n{code:bash}\npuppet agent -t --server_list=localhost:8140\n{code}\n\nh3. Outcome\n\nThe error message is very terse and just states that a healthy server could not be found:\n\n{noformat}\n# puppet --version\n6.18.0\n\n# puppet agent -t --server_list=localhost:8140\nError: Could not run Puppet configuration client: Could not select a functional puppet master from server_list: 'localhost:8140'\n{noformat}\n\nh3. Expected Outcome\n\nRaising the log level to DEBUG reveals that the health check failed due to a SSL validation error. These details should be logged at ERROR level so that the root cause of connection failures is visible for post-mortem debugging:\n\n{noformat}\n# puppet agent -t --server_list=localhost:8140 --debug\n...\nDebug: Unable to connect to server from server_list setting: Server hostname 'localhost' did not match server certificate; expected one of dull-sanatorium.delivery.puppetlabs.net, DNS:puppet, DNS:dull-sanatorium.delivery.puppetlabs.net\n...\nError: Could not run Puppet configuration client: Could not select a functional puppet master from server_list: 'localhost:8140'\n{noformat} ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28686", "fixedVersions": ["PUP 6.19.0"], "id": "28686", "issueType": "Improvement", "key": "PUP-10664", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "resolution": "Fixed", "resolutionDate": "2020-09-28T12:44:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Puppet 6 should log connection error details when a functional puppet master cannot be located", "timeSpent": "PT0S", "updated": "2020-10-12T07:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:623a4b549b54ec0068b0738b] thanks for the information, but it'd be good to update the existing ticket with these additional details instead of creating a new ticket. I'm going to mark this as a dup of the other one.", "created": "2020-09-11T12:14:00.000000"}], "components": [], "created": "2020-09-11T07:41:00.000000", "creator": "623a4b549b54ec0068b0738b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Affects Build", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "5.3.10, 5.3.1"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6ac8b4af"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "RHEL 7 (x86_64)"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Customer Feedback"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03zc0:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Sep/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_16380869_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 5.5.18 (but unrelated to the issue)*\n *Puppet Server Version: 5.3.1/5.3.10*\n *OS Name/Version: RHEL 7*\n\nThis is an extension of PUP-10233 that I've continued to break down and make \"less ambiguous\" We have a larger environment which makes use of the environment classes cache (Foreman Integrated).\n\nWhen we \"update code\" we hit the \"environment_classes\" api endpoint to refresh the environment classes cache. [https://puppet.com/docs/puppetserver/5.3/puppet-api/v3/environment_classes.html]\n\n\u00a0\n\nSpecifically - i see this spawn a \"process\" in the \"/status/v1/services/jruby-metrics?level=debug\" output on the puppet master.\n\nThis can take \"forever\" (400 seconds or more) during which the cache doesn't return as its still \"processing/building/whatever\". I can check CPU/Memory/Disk IOPS and see \"nothing constrained\" - borderline idle for this entire time.\n\nExample from the jruby-metrics endpoint - specifically under:\n\nstatus -> experimental -> metrics -> borrowed_instances\n{\n \"time\": 1599830351410,\n \"reason\": {\n \"request\": {\n \"uri\": \"/puppet/v3/environment_classes\",\n \"request-method\": \"get\",\n \"route-id\": \"puppet-v3-environment_classes-/*/\"\n }\n },\n \"duration-millis\": 296094\n },\n\n\"Eventually\" - 300-400 seconds after called it will finish. and the environment_classes endpoint will return proper cached data.\n\n*Desired Behavior:*\n\nI realize generating a cache isn't instant. But 400 seconds seems obscenely long - particularly when im finding no resource bottleneck. I do have hunddres of modules/thousands of classes across each environment. HOWEVER - even with that - I guess my desired behavior is \"60 seconds or less - even in extreme scenarios\"\n\n\u00a0\n\nI'm not above this potentially being an issue with my config/setup, or even \"bad inefficient classes\" we have in use on our end contributing here. My problem is knowing where or what to check. This call seems like a \"black box\" that takes 400 seconds but produces no output/logging/progress.\n\nIs there any way to enable some type of \"debug logging\" on the environment_classes endpoint so i can see exactly \"what its doing/processing\" to possibly identify bottlenecks? Is there known JVM args that can possibly help here? should i be doing this on a \"dedicated\" puppetmaster not also serving catalog traffic? would more IOPS help even though i see all disk(s) essentially idle? I've googled this extensively - and haven't found much there either....\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23434", "fixedVersions": [], "id": "23434", "issueType": "Bug", "key": "PUP-10662", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4b549b54ec0068b0738b", "resolution": "Duplicate", "resolutionDate": "2020-09-11T12:14:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "environment_classes API Endpoint takes minutes to return/update", "timeSpent": "PT0S", "updated": "2020-09-11T12:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c0c68761efb0069ce0283", "attachments": [], "comments": [{"author": "623e74bfee1b5a00702a71c3", "body": "Is this the same problem here? someone managed to resolve it at the bottom of the page.\n\n[https://ask.puppet.com/question/34141/warning-ssl_connect-returned1-errno0-stateerror/]", "created": "2020-09-10T22:39:00.000000"}, {"author": "623c0c68761efb0069ce0283", "body": "[~accountid:623e74bfee1b5a00702a71c3], the explanation to solve not really accurate.", "created": "2020-09-11T00:28:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "By default, a new install of puppetserver 6 will create root and intermediate CA certificates, and issue the pupetserver certificate from the intermediate. See https://puppet.com/blog/certificate-improvements-puppet-6/ However, puppet 5 agents do not support CA chains leading to the above error. I suggest following up in #puppet in slack to see how others have handled this.", "created": "2020-09-11T12:06:00.000000"}, {"author": "623e74bfee1b5a00702a71c3", "body": "Thanks [~accountid:63d40628f6e1b543161789a7]\n\nI believe [~accountid:623c0c68761efb0069ce0283]\u00a0has solved it once he used puppet-agent v6\n\nNow that it's solved, we also now know why it didn't work. Thanks again", "created": "2020-09-11T17:43:00.000000"}, {"author": "623c0c68761efb0069ce0283", "body": "Hi [~accountid:63d40628f6e1b543161789a7] ,\n\nIssue was fixed. After further investigation puppet-agent and puppet-master is not in the same range of versioning. I will close this ticket.\n\nThank you.", "created": "2020-09-13T19:08:00.000000"}, {"author": "623c0c68761efb0069ce0283", "body": "Make sure puppet-agent and puppet-master in the same version range.", "created": "2020-09-13T19:10:00.000000"}], "components": [], "created": "2020-09-10T20:55:00.000000", "creator": "623c0c68761efb0069ce0283", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4f79e19a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03z5k:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Sep/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_54684111_*|*_5_*:*_1_*:*_0_*|*_6_*:*_1_*:*_198151010_*|*_10005_*:*_1_*:*_50553"}], "description": "Hi Team,\n\n\u00a0\n\n+Master+:\n\n*Puppet Server Version*: 6.13.0\n\n*Puppet Master Version*: 6.18.0\n\n\u00a0\n\n+Agent+:\n\n*Puppet Agent Version*: 5.5.21\n\n\u00a0\n\n+*Issue*+:\n\nIn puppet agent I ran this command /opt/puppetlabs/bin/puppet agent --test for ubuntu 18 but the error still have and no connection to master.\n\n+*Action Taken*+:\n\nRegenerated SSL cert for agent and remove old cert at master. Repetitive action a few times but still same\n\n+*Error*+:\n\nWarning: Unable to fetch my node definition, but the agent run will continue:\nWarning: SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get issuer certificate for /CN=Puppet CA: server.foreman.local]\nInfo: Retrieving pluginfacts\nError: /File[/opt/puppetlabs/puppet/cache/facts.d]: Failed to generate additional resources using 'eval_generate': SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get issuer certificate for /CN=Puppet CA: server.foreman.local]\nError: /File[/opt/puppetlabs/puppet/cache/facts.d]: Could not evaluate: Could not retrieve file metadata for puppet:///pluginfacts: SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get issuer certificate for /CN=Puppet CA: server.foreman.local]\nInfo: Retrieving plugin\nError: /File[/opt/puppetlabs/puppet/cache/lib]: Failed to generate additional resources using 'eval_generate': SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get issuer certificate for /CN=Puppet CA: server.foreman.local]\nError: /File[/opt/puppetlabs/puppet/cache/lib]: Could not evaluate: Could not retrieve file metadata for puppet:///plugins: SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get issuer certificate for /CN=Puppet CA: server.foreman.local]\nError: Could not retrieve catalog from remote server: SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get issuer certificate for /CN=Puppet CA: server.foreman.local]\nWarning: Not using cache on failed catalog\nError: Could not retrieve catalog; skipping run\nError: Could not send report: SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get issuer certificate for /CN=Puppet CA: server.foreman.local]\n\n\u00a0\n\nThank you", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23433", "fixedVersions": [], "id": "23433", "issueType": "Bug", "key": "PUP-10663", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0c68761efb0069ce0283", "resolution": "Fixed", "resolutionDate": "2020-09-13T19:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "SSL cert agent cannot verify from host.", "timeSpent": "PT0S", "updated": "2020-09-13T19:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/e565c0d86805ef7ae7a1f00d26e0b418ae25e677", "created": "2020-09-16T11:13:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in c1cd3f8c5f", "created": "2020-09-28T12:39:00.000000"}], "components": [], "created": "2020-09-10T19:34:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2301bdd8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03z4w:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "This issue was introduced and fixed in the main branch, so it was only included in nightly puppet7 builds and never a released artifact."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1041882858_*|*_1_*:*_1_*:*_8582_*|*_10007_*:*_1_*:*_148048716_*|*_3_*:*_1_*:*_340373942_*|*_5_*:*_1_*:*_0"}], "description": "Commit ca36093089d90da1659e0bba1e0e3d76a1ab1c04 removed explicit response body decompression, but missed two lines. As a result, if a rest request returns a response whose content-type header is missing or is not P/JSON, then it will fail with an error that the {{uncompress_body}} method is undefined.\n\nThat commit was never released and will be fixed before puppet 7 is released.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20291", "fixedVersions": ["PUP 7.0.0"], "id": "20291", "issueType": "Task", "key": "PUP-10661", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-09-28T12:40:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Undefined method uncompress_body can occur for some rest responses", "timeSpent": "PT0S", "updated": "2020-09-28T12:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "It is actually that way by design. The {{epp()}} function does not have access to the calling scope as it is evaluated in the top scope, and all variables must be given to it. In contrast {{inline_epp}} has access to the variables in the calling scope. \n\nThe {{$modulename}} is a special variable that is not really a top scope var - it cannot be since it since it has a different value depending on scope.", "created": "2020-09-07T13:16:00.000000"}, {"author": "70121:777dd69d-f17a-4920-87d4-c304130fe175", "body": "If it's not in the scope then I think that the epp() should complain that is not available at all and not just return an empty string.", "created": "2020-09-10T06:47:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "That is also by design (ancient design decision that all variables that does not exist resolve to undef which renders as empty string). You can turn on \"strict variables\" as that would make it error instead. It is not on by default due to backwards compatibility reasons and if you turn it on you may find that the code you are running needs to be modified.", "created": "2020-09-11T07:53:00.000000"}, {"author": "70121:777dd69d-f17a-4920-87d4-c304130fe175", "body": "For other unknown variables in the epp-file a get a warning that it does not exist but $module_name is just \"\" without any notifiation.", "created": "2020-09-11T08:06:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "Ah, yes... the global scope is actually named \"\" (nothing). Also an ancient design decision.", "created": "2020-09-11T12:56:00.000000"}], "components": [], "created": "2020-09-07T03:11:00.000000", "creator": "70121:777dd69d-f17a-4920-87d4-c304130fe175", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7749f14c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03xns:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Sep/20"}], "description": "*Puppet Version: 6.17.0*\n *Puppet Server Version: N/A*\n *OS Name/Version: Ubuntu 16.04*\n\nAccessing the global (compiler) variabel $module_name in epp() does return an empty string. It does not generate an error/warning that is does not exist.\n\nIt is working in inline_epp().\n\nThe documentations indicates that this should work. See last paragraph of [https://puppet.com/docs/puppet/6.18/lang_template_epp.html#epp_variables]\n\nExample module to repoduce:\n\nthe file: '{color:#ce9178}epp-modulename-file.txt{color}' has the same content as $inl\n\n\u00a0\n{quote}class eppmnbug {\n\n$mn = $module_name\n\n$inl = @(INL)\n modulename: <%= $module_name %>\n noop: <%= $clientnoop %>\n mn: <%= $eppmnbug::mn %>\n mn: <%= $mn %>\n INL\n\nnotice(\n \u00a0\u00a0 epp(\"$module_name/epp-modulename-file.txt\")\n )\n notice(\n \u00a0\u00a0 inline_epp($inl)\n )\n }\n{quote}\n*Desired Behavior:*\n\nmodulename: eppmnbug\n noop: true\n mn: eppmnbug\n\n*Actual Behavior:*\n\nmodulename: \n noop: true\n mn: eppmnbug\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27616", "fixedVersions": [], "id": "27616", "issueType": "Bug", "key": "PUP-10660", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:777dd69d-f17a-4920-87d4-c304130fe175", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "$module_name is not available up in epp()", "timeSpent": "PT0S", "updated": "2020-11-10T03:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [{"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "The cause of this appears to be two behaviors in the following section of code in {{lib/puppet/functions/new.rb}}:\n\n{code:ruby}\ndef new_function_for_type(t, scope)\n  @new_function_cache ||= Hash.new() {|hsh, key| hsh[key] = key.new_function.new(scope, loader) }\n  @new_function_cache[t]\nend\n{code}\n\nhttps://github.com/puppetlabs/puppet/blob/6.18.0/lib/puppet/functions/new.rb\n\nThis maintains a cache of constructor functions for each datatype: new String, new Integer, etc. The two issues are:\n\n  - The cache is a Hash instance with a lambda function that creates constructor functions as they are requested. This lambda closes over the Compiler {{scope}} value passed the first time {{new()}} is called, which keeps that scope in memory.\n\n  - The Compiler {{scope}} value passed the first time {{new()}} is called is further passed into the constructor function when it is created. The function then stores it as a local variable: https://github.com/puppetlabs/puppet/blob/6.18.0/lib/puppet/pops/functions/function.rb#L23\n\nAside from the memory leak, it seems wrong to be using the scope of the first Compiler that happens to call {{new()}} to provide data for subsequent compilations.", "created": "2020-09-04T10:50:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "The following re-factor of the {{new_function_for}} method appears to solve the leak:\n\n{code:ruby}\ndef new_function_for_type(t, scope)\n  @new_function_cache ||= {}\n\n  if ! @new_function_cache.key?(t)\n    @new_function_cache[t] = t.new_function.new(nil, loader)\n  end\n\n  @new_function_cache[t]\nend\n{code}\n\nThe main functional change is passing {{nil}} when creating the constructor function instead of passing {{scope}}. It seems like this should be fine as functions will fall back to using the current Compiler's global scope if the value previously populated by {{scope}} is referenced:\n\nhttps://github.com/puppetlabs/puppet/blob/6.18.0/lib/puppet/pops/functions/function.rb#L78-L79\n\nAlso, having constructor functions created in subsequent compilations be dependent on the scope of the first Compiler ever created seems like it would be a bug.", "created": "2020-09-04T11:36:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Initializing the constructor functions with the current compilers scope seems to echo PUP-6582. This commit in Puppet changed most function initialization to use {{nil}} as the closure scope:\n\nhttps://github.com/puppetlabs/puppet/commit/915d934ad06\n\nUnless {{new()}} is special in some way, it seems like the same rationale would apply.", "created": "2020-09-04T13:15:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "[~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b]I think you are right.", "created": "2020-09-05T10:29:00.000000"}], "components": ["Functions"], "created": "2020-09-04T09:51:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27791018"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Customer Feedback"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03x0w:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fix Data Type casting retaining Compiler instances when running under JRuby"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "40701,41223"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Sep/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_455133849_*|*_1_*:*_1_*:*_486639091_*|*_10007_*:*_1_*:*_175053966_*|*_3_*:*_1_*:*_321338651_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_24286804"}], "description": "Casting between Puppet Data Types, such as {{Integer(\"9\")}}, will cause Puppet Server to retain {{Puppet::Parser::Catlog}} objects in memory after requests finish.\n\nSee SERVER-2874 for more context and PE reproduction case.\n\nh2. Reproduction Case\n\n  - Install Puppet Server on CentOS 7 along with the Java development tools:\n\n{code:bash}\nyum install -y http://yum.puppetlabs.com/puppet6-release-el-7.noarch.rpm\nyum install -y puppetserver java-devel\nsource /etc/profile.d/puppet-agent.sh\n{code}\n\n  - Install the `pupeptlabs-inifile` module and use it to enable JRuby class reification. This allows Ruby objects, like {{Puppet::Parser::Compiler}}, to be identified easily in the Java heap:\n\n{code:bash}\npuppet module install puppetlabs-inifile\n\npuppet apply <<'EOF'\nini_subsetting { 'Enable JRuby reify.classes':\n  ensure            => present,\n  path              => '/etc/sysconfig/puppetserver',\n  section           => '',\n  key_val_separator => '=',\n  setting           => 'JAVA_ARGS',\n  subsetting        => '-Djruby.reify.classes',\n  value             => '=true',\n}\nEOF\n{code}\n\n  - Bootstrap the CA, configure the agent, and start the {{puppetserver}} service:\n\n{code:bash}\npuppetserver ca setup\npuppet config set server $(hostname -f)\nsystemctl start puppetserver\n{code}\n\n  - Give the service a trivial catalog to compile:\n\n{code:bash}\ncat <<'EOF' > /etc/puppetlabs/code/environments/production/manifests/site.pp\nnode default {\n  $string_version = \"9\"\n  $version = Integer($string_version)\n}\nEOF\n{code}\n\n  - Run {{puppet}} a couple of times:\n\n{code:bash}\npuppet agent -t\npuppet agent -t\n{code}\n\n  - Check the number of {{Puppet::Parser::Compiler}} instances retained in Puppet Server memory:\n\n{code:bash}\nsudo -u puppet jmap -histo:live $(systemctl show -p MainPID puppetserver|cut -d= -f2)|fgrep 'rubyobj.Puppet.Parser.Compiler'\n{code}\n\nh3. Outcome\n\nAfter running the agent twice, the {{puppetserver}} service is retaining two Compiler instances in memory:\n\n{noformat}\n# sudo -u puppet jmap -histo:live $(systemctl show -p MainPID puppetserver|cut -d= -f2)|fgrep 'rubyobj.Puppet.Parser.Compiler'\n5871:             2             64  rubyobj.Puppet.Parser.Compiler\n{noformat}\n\nh3. Expected Outcome\n\nNo compiler instances should be retained as the compiler is discarded at the end of the request and the {{-histo:live}} flag forces a full garbage collection.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21395", "fixedVersions": ["PUP 5.5.22", "PUP 6.19.0"], "id": "21395", "issueType": "Bug", "key": "PUP-10659", "labels": ["doc_reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "resolution": "Fixed", "resolutionDate": "2020-09-21T08:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Data Type casts cause Puppet Server to retain Compiler instances", "timeSpent": "PT0S", "updated": "2020-11-10T09:42:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "attachments": [], "comments": [{"author": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "body": "Hi [~accountid:557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68],\n\nIndeed the regex seems a bit loose, but changing the ensure regex to have an exact match may have breaking changes.\n\nI recommend using the\u00a0[pattern attribute|[https://puppet.com/docs/puppet/6.18/types/service.html#service-attribute-pattern]], where you can place an exact regex to match the 'ps -ef' result, like:\n\nservice { 'bird':\n\u00a0 ensure => 'running',\n\u00a0 enable => true,\n\u00a0 hasstatus => false,\n\u00a0 pattern => '*bird/s*'\n}", "created": "2020-09-16T05:44:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "I agree that this might break existing setups that worked by accident. I was hoping this will be fixed for Puppet 7.", "created": "2020-09-16T05:56:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Hi [~accountid:557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68],\n\nI investigated this issue a bit more and I was in favor of it initially.\n However, I think it's a bit of a grey area. The code involving {{getpid}} is quite primitive, and the fix is not as simple as enclosing the service name between {{^}} and {{$}}.\n\nSince we're parsing the output of {{ps -ef}}, processes can show up in a variety of ways. Here are some EL 6 examples:\n\nService: abrtd\n ps output:\n {{root 6509 1 0 09:35 ? 00:00:00 /usr/sbin/abrtd}}\n\nService: syslog\n ps output:\n {{root 1671 1 0 09:35 ? 00:00:00 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5}}\n\nService: rpcbind\n ps output:\n {{rpc 1723 1 0 09:35 ? 00:00:00 rpcbind}}\n\nI think messing with the check by trying to more closely match the process name could open up a whole can of worms (some processes have arguments, others run under an absolute path). I agree that the current behavior is a bit counterintuitive, but it does work the way it's documented:\n{quote}As a last resort, Puppet will attempt to search the process table by calling whatever command is listed in the `ps` fact. The default search pattern is the name of the service, but you can specify it with the `pattern` attribute.\n{quote}\n[https://puppet.com/docs/puppet/6.18/types/service.html#service-description]", "created": "2020-09-24T07:47:00.000000"}], "components": [], "created": "2020-09-04T04:04:00.000000", "creator": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6312f54d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03rhz:zr"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Sep/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_362912568_*|*_10007_*:*_1_*:*_1046499784_*|*_3_*:*_1_*:*_96337957_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_583517611"}], "description": "*Puppet Version:* 6.18.0\n*Puppet Server Version:* 6.12.0\n*OS Name/Version:* CentOS 6\n\nHello, I've got two services running, bird and bird6. their processes are also named bird and bird6. If I manage the service via puppet and set hasstatus to false, puppet will parse ps -ef: https://github.com/puppetlabs/puppet/blob/main/lib/puppet/provider/service/base.rb#L37\n\nIf I want to manage the bird service and it's currently not running, but bird6 is running, but will assume that the bird6 process relates to the bird service:\n\nfrom the debug output:\n{code}\nDebug: Service[bird](provider=redhat): Executing 'ps -ef'\nDebug: Executing: 'ps -ef'\nDebug: Service[bird](provider=redhat): Process matched: bird6      10046       1  0 Aug28 ?        00:16:23 /usr/sbin/bird6 -u bird6 -g bird6\n{code}\n\n\n\n*Desired Behavior:*\n\nI would like to see that the regex won't match, puppet detects the service as off and starts it\n\n*Actual Behavior:*\n\npuppet assumes that the bird service is running and won't start it\n\n\ntestcode\n\n\n* install bird and bird6 from epel on centos 6\n* stop bird\n* start bird6\n\n{code}\nservice { 'bird':\n  ensure => 'running',\n  enable => true,\n  hasstatus => false,\n}\n{code}\n\nI know that birds init script has a status command, but using that would be a workaround for the bug and won't fix the regex in puppet", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22313", "fixedVersions": [], "id": "22313", "issueType": "Bug", "key": "PUP-10658", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "resolution": "Won't Fix", "resolutionDate": "2020-09-28T08:25:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet service ps parsing using too loose regex", "timeSpent": "PT0S", "updated": "2020-09-28T08:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [{"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "This leak is caused by the following lines of code in the Resource Collector implementation:\n\n{code:ruby}\n      overrides[:source].meta_def(:child_of?) do |klass|\n        true\n      end\n{code}\n\nhttps://github.com/puppetlabs/puppet/blob/6.18.0/lib/puppet/pops/evaluator/collectors/abstract_collector.rb#L48-L50\n\nThat loops over resources the collector is operating on and modifies their {{child_of?}} methods to always return true. This forces the collector overrides to be merged in later by short-circuiting the logic in Puppet::Parser::Resource that only accepts overrides from a parent scope:\n\n  - https://github.com/puppetlabs/puppet/blob/6.18.0/lib/puppet/parser/resource.rb#L167-L169\n  - https://github.com/puppetlabs/puppet/blob/6.18.0/lib/puppet/parser/resource.rb#L361\n\nHowever, overriding a method like this results in the creation of a Ruby \"eigenclass\" to hold the new method definition. The body of the method, which accepts {{klass}} and always returns {{true}}, is provided by Ruby block. This block is an instance of a Proc, which means that it closes over all variables that happen to be in scope. One of those variables is {{@scope}}, which is a reference to the compiler scope.\n\nJRuby doesn't always free eigenclass instances when the objects they were created to modify go out of scope:\n\nhttps://github.com/jruby/jruby/issues/4968\n\nSo, whenever a Resource Collector is used to override parameters, we end up with unused eigenclasses that hold onto references for one or more compilers.", "created": "2020-09-02T17:30:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Nice find [~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b]! Looks like it has been this way since [3.7.4|https://github.com/puppetlabs/puppet/blob/3.7.4/lib/puppet/pops/evaluator/collectors/abstract_collector.rb#L48-L50]", "created": "2020-09-03T09:18:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Ideally, we wouldn't override the {{child_of?}} method to short-circuit the logic. Something like a {{force: true}} option on methods that add overrides to resources would be a much nicer way of doing this.\n\nThat said, using {{instance_eval}} to re-define the method seems to produce the same effect as {{meta_def}} but without leaving a reference to the Proc binding on the eigenclass. So, this may be a quick solution that requires fewer modifications:\n\n{code:ruby}\noverrides[:source].instance_eval do\n  def child_of?(klass)\n    true\n  end\nend\n{code}", "created": "2020-09-03T09:39:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 5.5.x in https://github.com/puppetlabs/puppet/commit/ace9a9f7903e05d48e62aeb3df446740cc968db1", "created": "2020-09-16T15:23:00.000000"}], "components": [], "created": "2020-09-02T17:15:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@443ac62a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Customer Feedback"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03w6w:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fix resource collector overrides retaining Compiler instances when running under JRuby"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "40701"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Sep/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_405704365_*|*_1_*:*_1_*:*_57521106_*|*_10007_*:*_1_*:*_224437186_*|*_3_*:*_1_*:*_346193835_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_574726431"}], "description": "Use of a resource collector with an override block will cause Puppet Server to retain {{Puppet::Parser::Catlog}} objects in memory after requests finish.\n\nSee SERVER-2874 for more context and PE reproduction case.\n\nh2. Reproduction Case\n\n  - Install Puppet Server on CentOS 7 along with the Java development tools:\n\n{code:bash}\nyum install -y http://yum.puppetlabs.com/puppet6-release-el-7.noarch.rpm\nyum install -y puppetserver java-devel\nsource /etc/profile.d/puppet-agent.sh\n{code}\n\n  - Install the `pupeptlabs-inifile` module and use it to enable JRuby class reification. This allows Ruby objects, like {{Puppet::Parser::Compiler}}, to be identified easily in the Java heap:\n\n{code:bash}\npuppet module install puppetlabs-inifile\n\npuppet apply <<'EOF'\nini_subsetting { 'Enable JRuby reify.classes':\n  ensure            => present,\n  path              => '/etc/sysconfig/puppetserver',\n  section           => '',\n  key_val_separator => '=',\n  setting           => 'JAVA_ARGS',\n  subsetting        => '-Djruby.reify.classes',\n  value             => '=true',\n}\nEOF\n{code}\n\n  - Bootstrap the CA, configure the agent, and start the {{puppetserver}} service:\n\n{code:bash}\npuppetserver ca setup\npuppet config set server $(hostname -f)\nsystemctl start puppetserver\n{code}\n\n  - Give the service a trivial catalog to compile:\n\n{code:bash}\ncat <<'EOF' > /etc/puppetlabs/code/environments/production/manifests/site.pp\nnode default {\n  notify { 'test message':\n    message => 'Hello, world!',\n  }\n\n  Notify <| title == 'test message' |> {\n    message => 'collector override',\n  }\n}\nEOF\n{code}\n\n  - Run {{puppet}} a couple of times:\n\n{code:bash}\npuppet agent -t\npuppet agent -t\n{code}\n\n  - Check the number of {{Puppet::Parser::Compiler}} instances retained in Puppet Server memory:\n\n{code:bash}\nsudo -u puppet jmap -histo:live $(systemctl show -p MainPID puppetserver|cut -d= -f2)|fgrep 'rubyobj.Puppet.Parser.Compiler'\n{code}\n\nh3. Outcome\n\nAfter running the agent twice, the {{puppetserver}} service is retaining two Compiler instances in memory:\n\n{noformat}\n# sudo -u puppet jmap -histo:live $(systemctl show -p MainPID puppetserver|cut -d= -f2)|fgrep 'rubyobj.Puppet.Parser.Compiler'\n\n5895:             2             64  rubyobj.Puppet.Parser.Compiler\n{noformat}\n\nh3. Expected Outcome\n\nNo compiler instances should be retained as the compiler is discarded at the end of the request and the {{-histo:live}} flag forces a full garbage collection.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24481", "fixedVersions": ["PUP 5.5.22", "PUP 6.19.0"], "id": "24481", "issueType": "Bug", "key": "PUP-10657", "labels": ["doc_reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "resolution": "Fixed", "resolutionDate": "2020-09-21T08:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Resource collector overrides cause Puppet Server to retain Compiler instances", "timeSpent": "PT0S", "updated": "2020-10-12T07:16:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "70121:19693836-ec35-44b8-b9fb-10c69f35fd4e", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Thanks for filling (y) Reminds me of PUP-3538, what is old is new again!", "created": "2020-09-02T12:23:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Would be good to provide JSON termini for {{node}}\u00a0and {{report}}", "created": "2020-10-12T11:27:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/2ef8a7539294808b98ba3ced8b4aee069efba953", "created": "2020-10-23T10:22:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Backported to master in https://github.com/puppetlabs/puppet/commit/ccb0c4537517d131c16ec9f75c89ad9baad04229", "created": "2020-10-26T21:20:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in d61cf32faa", "created": "2020-11-02T18:18:00.000000"}], "components": [], "created": "2020-09-02T12:04:00.000000", "creator": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": ["ghost"]}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@51602efe"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzvq87:2i6000000i42090401o"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "This adds a new JSON terminus for facts allowing them to be stored and loaded as json. Puppet agents will continue to default to YAML, but JSON can be used by configuring the \"agent\" application in routes.yaml:\n\n---\nagent:\n  facts:\n    terminus: facter\n    cache: json\n\nIn addition, Puppetserver 7 caches facts *by default* as JSON instead of YAML. The old yaml terminus can be reenabled via `routes.yaml`."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Sep/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_896206878_*|*_1_*:*_1_*:*_10135584_*|*_3_*:*_1_*:*_179192969_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_4210940010"}], "description": "We have a YAML terminus for facts, however YAML can problematic for hexadecimal numbers (see PUP-9505).\n\nAdditionally, JSON is generally a better serialization format for machines to understand, is a smaller spec than YAML, has a relatively mature ecosystem in Java around parsing/serializing, and is backwards compatible with YAML for recent YAML parsers (YAML has become a superset of JSON).\n\nFor these reasons we should implement a JSON terminus for facts (there already exists one for catalogs) and users should be encouraged to use it instead of the YAML terminus.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29742", "fixedVersions": ["PUP 6.20.0", "PUP 7.0.0"], "id": "29742", "issueType": "Improvement", "key": "PUP-10656", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2020-11-02T18:19:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Provide a JSON terminus for facts", "timeSpent": "PT0S", "updated": "2021-01-13T07:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:623c13e0a1d81f0069d8e29a] I moved to PUP project as all of Hiera5 is implemented in the puppet project.\n\nWe intentionally restricted the set of classes that are allowed to be loaded to prevent future security issues. That said we probably want to allow {{Regexp}}. Can you confirm that adding {{Regexp}} to https://github.com/puppetlabs/puppet/blob/17b2735731f6468aef92a5540b35292e056726e3/lib/puppet/functions/yaml_data.rb#L25 solves the issue?", "created": "2020-09-01T10:43:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "We also had a similar issue in PUP-10585", "created": "2020-09-01T12:13:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "You can achieve the same by using a hiera lookup option to convert a string to a Regexp. Then you alias the typecasted key. For example for a parameter {{foo::bar}}, if value should be a string, just bind it to a string, if you wanted to be a regexp bind it to\n{code}\n\"%{alias(\"foo::bar::regexp\")}\"\n{code}\nand bind the regexp string to that key and associate a lookup_option that converts it to a Regexp.\n\nYou could also have your own backed function if you have lots of these.\n\n[~accountid:63d40628f6e1b543161789a7] A cool feature for hiera would be to support pcore serialization as a data format. This could be an option to json/yaml backends or a separate backend - it would read json/yaml, and then run that through pcore deserialize before returning the data hash. That way it would be possible to safely produce and return any pcore compatible data type.", "created": "2020-09-01T16:55:00.000000"}, {"author": "623c13e0a1d81f0069d8e29a", "body": "Thanks for you input!\n\n{quote}\nI moved to PUP project as all of Hiera5 is implemented in the puppet project.\n{quote}\n\nSorry about that, I was not sure :)\n\n{quote}\nCan you confirm that adding Regexp to https://github.com/puppetlabs/puppet/blob/17b2735731f6468aef92a5540b35292e056726e3/lib/puppet/functions/yaml_data.rb#L25 solves the issue?\n{quote}\n\nYes, the catalog compiles and the catalog diff is empty :)", "created": "2020-09-02T02:23:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "[~accountid:63d40628f6e1b543161789a7] IMHO it is a mistake to allow any non YAML/JSON supported data types into the data as that prohibits a standard reader from reading the data. So... no ruby specific extensions should be allowed.", "created": "2020-09-02T12:26:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "{quote}IMHO it is a mistake{quote}\n\nYeah I had a similar thought last night. Adding a builtin {{rich_data}} backend to complement {{yaml_data}}, etc makes sense to me. Better that than trying to shoehorn non-YAML/JSON data into the {{yaml_data}}, etc backends.\n\nAssuming there was a {{rich_data}} backend, then you could specify the following:\n\n{code:json}\n{\"foo::bar::my_param\"=>\n  [\n    \"foo/\",\n    \"bar/\", \n    {\"__ptype\"=>\"Regexp\", \"__pvalue\"=>\"baz(|-cool)\"}\n  ]\n}\n{code}", "created": "2020-09-02T14:55:00.000000"}, {"author": "623c13e0a1d81f0069d8e29a", "body": "Thanks both for your input.\n\nI agree it makes sense to respect the native data types of the data backend and use a richer backend for these cases. Technically speaking is the correct path to take, however in our environment introducing an extra backend would add complexity for our users, more training to do and more things to maintain so I think we're just going to split the parameter in this particular case. It's a pity given the existence of a type system but it's the simplest approach at the moment so we can carry on with the upgrade.\n\nAs a side note perhaps this behavior change should have been explained in more detail in the release notes. As mentioned above there's of course [a bit that explains that the parser is stricter|https://puppet.com/docs/puppet/6.17/release_notes_puppet.html#unsafe-yaml-data-could-be-loaded] but more info and examples would have helped greatly.\n\nThanks again.", "created": "2020-09-03T01:36:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "I also think a RichData backend could be difficult for people to adopt especially since you may want this support for both yaml, json, and eyaml. This is why I suggested adding deserialization as an option to existing backends. RichData is really an encoding on top of an existing data format, so this is a natural fit.\n\nThis could also be done at the lookup_option level similar to how convert_to works. Unfortunately it cannot be done with convert_to since IIRC there is no data type that accepts Pcore as input to its new() and that would return a deserialized value - one could be created though.\n\nA general lookup_option feature would be to add a {{convert_with}} which has the name of a function as its value. It would be called before a {{convert_to}} if both are used. The {{convert_with}} would take RichData as an argument and produce Any (although in hiera it would be restricted to returning RichData. Then you can plug in a function like this one: https://github.com/hlindberg/tahu/blob/master/lib/puppet/functions/tahu/convert_from_rich_data.rb to do the deserialization. Or users can do their own simple conversion per key.\n\nThe same feature could be added as an option to backends. The hiera implementation would then call the given function for every value the backend returns. This way the backend implementations does not have to change.", "created": "2020-09-03T04:27:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "Possibly hacky suggestion... The {{RichData}} datatype could be given a {{new}} function that takes two parameters, a value, and an extra argument {{\"encode\"}} or {{\"decode\"}} - then it would either \"serialize\" or \"deserialize\".", "created": "2020-09-03T04:32:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Could we just add a {{lookup_option}} like {{supports_pcore: true}}. If set, then deserialize whatever the lookup returns to an instance of {{Puppet::LookupValue}} (currently defined as RichData). Then pass that through the normal {{convert_to}} logic in: https://github.com/puppetlabs/puppet/blob/d567575ba8c5b2c903044b80b0adaab176c8da5d/lib/puppet/pops/lookup/lookup_adapter.rb#L72", "created": "2021-08-18T15:51:00.000000"}], "components": ["Hiera & Lookup"], "created": "2020-09-01T03:00:00.000000", "creator": "623c13e0a1d81f0069d8e29a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2d0aa3f0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03v7s:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Sep/20"}], "description": "*Puppet Version:* 6.15.0\n *Puppet Server Version:* 6.11.1\n *OS Name/Version:* CentOS7\n\nHi,\n\nWe're upgrading to Puppet6 and we encountered an interesting situation we'd like to discuss with you. Please note that as explained below this is not a blocker for us but we believe it's worth discussing it to know what's the best path to take in terms of patching our code.\n\nWe've got this in our code base:\n{noformat}\nclass foo::bar (\n  Array[Variant[String, Regexp]] $my_param,\n...\n{noformat}\n\nAllowing us to use a single parameter to later on apply configuration depending on the type of the element of the collection:\n\n{noformat}  $_directories = map($my_param) | Variant[String, Regexp] $_url | {\n    {\n      provider       => $_url ? {\n        String  => 'directory',\n        Regexp  => 'directorymatch',\n      },\n      path           => $_url ? {\n        String  => \"${something}/${_url}\",\n        Regexp  => $_url,\n      },\n...\n  }\n{noformat}\n\nTo finally inject data into that class using Hiera (YAML backend) like this:\n\n{noformat}foo::bar::my_param:\n    - 'foo/'\n    - 'bar/'\n    - !ruby/regexp '/baz(|-cool)/'\n{noformat}\n\nThis is handy, kind of tidy and working code in Puppet5. We're basically taking advantage of the existence of type system to map Puppet types to configuration (Strings map to an Apache {{Directory}} match whereas regular expressions create {{DirectoryMatch}} directives)\n\nHowever, as stated in the release notes, Puppet6 introduces [a stricter YAML parser configuration|https://github.com/puppetlabs/puppet/commit/92cf2625769b2a7fd59c8a7b9f332b3daa70cc48] forbidding this, leading to a compile-time server-side error:\n\n{noformat}\nTried to load unspecified class: Regexp (file: /somewhere.pp, line: XX, column: YY) on node node.example.org\n{noformat}\n\nThe obvious workaround we came up with is to use separate class parameters, one for {{String}} values and another one for {{Regexp}} values.\n\nAs mentioned above this is not a blocker for us however we'd like to understand if perhaps this case has been overlooked when making the parser stricter or this is totally intentional (if this is the case perhaps a more detailed release notes would have helped). We'd be happy as well to know if you have any other suggestion apart from the parameter split to accomplish the same goal.\n\nThanks.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20289", "fixedVersions": [], "id": "20289", "issueType": "Improvement", "key": "PUP-10654", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c13e0a1d81f0069d8e29a", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Supplying data of mixed data types (Variant) via Hiera (YAML backend)", "timeSpent": "PT0S", "updated": "2022-07-22T12:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/e677808a0ec761e54ad07dcfc6467a29eed39f71\n\n[~accountid:70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56] could you add release notes?", "created": "2020-09-10T12:04:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in e2a883df7e", "created": "2020-09-14T19:31:00.000000"}], "components": [], "created": "2020-09-01T03:00:00.000000", "creator": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1ac71b34"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-9120"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02vin:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Remove external dependency on the win32/dir gem and replace the usage of CSIDL constants with environment variables"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Sep/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_372416785_*|*_1_*:*_1_*:*_76816657_*|*_10007_*:*_1_*:*_625636584_*|*_3_*:*_1_*:*_344514_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_107405123"}], "description": "We removed our external dependency on the win32-dir gem in PUP-6184 by pulling the gem code in puppet. However, it seems that win32-dir features are scarcely used outside of constants which can all be replaced by environment variables.\n\nWe need to check if we're actually using anything from the {{dir}} monkey-patch. If not, we should remove it entirely.", "epicLinkSummary": "Puppet 7.0.0 Removals", "estimate": "PT0S", "externalId": "29741", "fixedVersions": ["PUP 7.0.0"], "id": "29741", "issueType": "Improvement", "key": "PUP-10653", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": "23142", "parentSummary": "Puppet 7.0.0 Removals", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "resolution": "Fixed", "resolutionDate": "2020-09-14T19:31:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Remove the Dir monkey-patch from Puppet if not used", "timeSpent": "PT0S", "updated": "2020-11-09T09:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "623c12ff94742a00683e41fd", "body": "As described in PA-3427, updated\u00a0[https://confluence.puppetlabs.com/display/PROD/Currently+Supported+OS+Platforms]\u00a0accordingly.\n\ncc [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] this platform will be included in the 6.19.0 release\u00a0", "created": "2020-10-15T08:36:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Note from agent team: No changes needed because only a new CPU architecture was added in this release. RedHat 8 already appears as a supported/tested platform.", "created": "2020-10-19T02:59:00.000000"}], "components": [], "created": "2020-08-28T08:44:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@745069a3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3384"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o040s8:i"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1558_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_4472143179"}], "description": "Update Public-facing Puppet docs to include this platform\n", "epicLinkSummary": "Add redhat8-aarch64 FOSS support", "estimate": "PT0S", "externalId": "22312", "fixedVersions": [], "id": "22312", "issueType": "Task", "key": "PUP-10651", "labels": [], "originalEstimate": "PT0S", "parent": "56280", "parentSummary": "Add redhat8-aarch64 FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Won't Fix", "resolutionDate": "2020-10-19T02:59:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Update Public-facing Puppet docs to include redhat8-aarch64", "timeSpent": "PT0S", "updated": "2020-10-19T02:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "See comments on the PR. Basically the {{instance?}} method on TypeSet should only accept a typeset instance and not use the default {{instance?}} version (in super) that first infers the type and then compares that against that against a target type. ", "created": "2020-08-28T06:03:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "PUP-10628 will eliminate the type inference, so the presence of {{Type}} and {{TypeSet}} in {{RichData}} should not harm anything. If needed we can revisit restricting lookup keys and values to a subset of {{RichData}}.", "created": "2020-09-01T10:29:00.000000"}], "components": [], "created": "2020-08-27T17:03:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2715eb3f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03tg0:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_26503_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_60992547_*|*_10005_*:*_1_*:*_347224984"}], "description": "The {{PTypeSetType}} class defines a namespace for a set of PCore types. Internally puppet uses {{PTypeSetType}} when registering all of the AST model classes. See\n{{Puppet::Pops::Mode.register_pcore_types}}. At one point we considered serializing type information, for example the catalog could contain rich data and the type information needed by the receiver to deserialize. However, the type information was too verbose.  So when serializing, we just send the type names, e.g. {{Sensitive}}, and assume the receiver knows how to deserialize.\n\nCommit [0a195ef6d6|https://github.com/puppetlabs/puppet/commit/0a195ef6d6] defined {{RichData}} as:\n\n{code:ruby}        Variant[Scalar,SemVerRange,Binary,Sensitive,Type,TypeSet,Undef,Hash[RichDataKey,RichData],Array[RichData]]\n{code}\n\nThe {{TypeSet}} above refers to the {{PTypeSetType}} class. The commit also changed the lookup {{DataProvider}} to accept all {{RichData}}. However, lookup also validates that the data it receives from the data provider contains only {{RichData}}. As a result, puppet could perform full type interference on the entire hash. That was optimized in PUP-10628, but it's based on a heuristic, detecting if the {{pcore_version}} key exists. There's no reason currently to include {{TypeSet}} in {{RichData}}, so we should remove that to avoid performance issues.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22311", "fixedVersions": [], "id": "22311", "issueType": "Task", "key": "PUP-10650", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Won't Do", "resolutionDate": "2020-09-01T10:27:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Remove TypeSetType from RichData", "timeSpent": "PT0S", "updated": "2020-09-01T10:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-08-27T13:41:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1a372b01"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-14"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "URL Encoding"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_orange"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03t54:"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23431", "fixedVersions": [], "id": "23431", "issueType": "Epic", "key": "PUP-10649", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "URL Encoding", "timeSpent": "PT0S", "updated": "2020-10-20T09:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "attachments": [], "comments": [{"author": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "body": "resolv.conf is managed by the tempate\n{code:java}\n# This file is managed by Puppet\n<%- if $dns::domain { -%>\ndomain <%= $dns::domain %>\n<% } -%>\n<% if $dns::search { -%>\nsearch <%= $dns::search.join(\" \") %>\n<% } -%>\n<% $dns::nameservers.each |$ns| { -%>\nnameserver <%= $ns %>\n<% } -%>\n<% if $dns::options { -%>\noptions <%= $dns::options.join(\" \") %>\n<% } -%>\n\n{code}", "created": "2020-08-27T10:30:00.000000"}, {"author": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "body": "FYI, if I remove server_list configuration from puppet.conf and replace it with random server config, file gets restored\n\n\u00a0\n\n\u00a0", "created": "2020-08-27T10:37:00.000000"}, {"author": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "body": "This looks to be an issue with {{server_list}} as it works for me when just using {{server}}\n\n{noformat}\n[root@blank ~]# sudo puppet agent --onetime --no-daemonize --verbose --usecacheonfailure\nError: Request to https://master.vagrant:8140/puppet/v3 failed after 0.004 seconds: Failed to open TCP connection to master.vagrant:8140 (getaddrinfo: Name or service not known)\nWrapped exception:\nFailed to open TCP connection to master.vagrant:8140 (getaddrinfo: Name or service not known)\nWarning: Unable to fetch my node definition, but the agent run will continue:\nWarning: No more routes to puppet\nInfo: Retrieving pluginfacts\nError: Request to https://master.vagrant:8140/puppet/v3 failed after 0.001 seconds: Failed to open TCP connection to master.vagrant:8140 (getaddrinfo: Name or service not known)\nWrapped exception:\nFailed to open TCP connection to master.vagrant:8140 (getaddrinfo: Name or service not known)\nError: /File[/opt/puppetlabs/puppet/cache/facts.d]: Failed to generate additional resources using 'eval_generate': No more routes to fileserver\nError: Request to https://master.vagrant:8140/puppet/v3 failed after 0.002 seconds: Failed to open TCP connection to master.vagrant:8140 (getaddrinfo: Name or service not known)\nWrapped exception:\nFailed to open TCP connection to master.vagrant:8140 (getaddrinfo: Name or service not known)\nError: /File[/opt/puppetlabs/puppet/cache/facts.d]: Could not evaluate: Could not retrieve file metadata for puppet:///pluginfacts: No more routes to fileserver\nInfo: Retrieving plugin\nError: Request to https://master.vagrant:8140/puppet/v3 failed after 0.001 seconds: Failed to open TCP connection to master.vagrant:8140 (getaddrinfo: Name or service not known)\nWrapped exception:\nFailed to open TCP connection to master.vagrant:8140 (getaddrinfo: Name or service not known)\nError: /File[/opt/puppetlabs/puppet/cache/lib]: Failed to generate additional resources using 'eval_generate': No more routes to fileserver\nError: Request to https://master.vagrant:8140/puppet/v3 failed after 0.003 seconds: Failed to open TCP connection to master.vagrant:8140 (getaddrinfo: Name or service not known)\nWrapped exception:\nFailed to open TCP connection to master.vagrant:8140 (getaddrinfo: Name or service not known)\nError: /File[/opt/puppetlabs/puppet/cache/lib]: Could not evaluate: Could not retrieve file metadata for puppet:///plugins: No more routes to fileserver\nInfo: Loading facts\nError: Request to https://master.vagrant:8140/puppet/v3 failed after 0.001 seconds: Failed to open TCP connection to master.vagrant:8140 (getaddrinfo: Name or service not known)\nWrapped exception:\nFailed to open TCP connection to master.vagrant:8140 (getaddrinfo: Name or service not known)\nError: Could not retrieve catalog from remote server: No more routes to puppet\nInfo: Using cached catalog from environment 'production'\nInfo: Caching catalog for blank.vagrant\nInfo: Applying configuration version '1598546211'\nNotice: Applied catalog in 0.27 seconds\nError: Request to https://master.vagrant:8140/puppet/v3 failed after 0.001 seconds: Failed to open TCP connection to master.vagrant:8140 (getaddrinfo: Name or service not known)\nWrapped exception:\nFailed to open TCP connection to master.vagrant:8140 (getaddrinfo: Name or service not known)\nError: Could not send report: No more routes to report\n{noformat}\n\nAnd here's the same thing when using {{server_list}}, which reproduces your problem\n{noformat}\n[root@blank ~]# sudo puppet agent --onetime --no-daemonize --verbose --usecacheonfailure --server_list master.vagrant\nError: Could not run Puppet configuration client: Could not select a functional puppet master from server_list: 'master.vagrant'\n{noformat}", "created": "2020-08-27T10:40:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This was broken in the following commit and first released in 5.5.11, 6.0.7, 6.4.0:\n\n{noformat}\ncommit 2e24fb76c84c8604da3606967f69a0a29b85f265\nAuthor: Melissa Stone <melissa@puppet.com>\nDate:   Fri Feb 15 15:39:58 2019 -0800\n\n    (PUP-9076) Do not push nil on server context\n\n    and fail if none of the servers in `server_list` are reachable\n\n:040000 040000 85e374f3c6c205f0d591f57e8d5a52ab04bc116c 5cbdef33008c604f599eafa8337adcdbbb15a42e M\tlib\n:040000 040000 16c9a771f8f9f2a5f0cd56bd9c6e2a15e8516cac 0491538df3b80e5f96bdf00b36f17fd3a41a4d7f M\tspec\n{noformat}\n\nPreviously if we failed to connect to a valid server, we pushed [nil, nil] on the context and then tried to connect to \":8140\" for the node, catalog, etc requests, which of course failed. We then failed back to the cached catalog.\n\nAfter this commit, we raise if we can't resolve a valid server, never giving the agent a chance to use its cached catalog.", "created": "2020-09-09T20:42:00.000000"}], "components": [], "created": "2020-08-27T10:27:00.000000", "creator": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@739f510e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Other"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o04a8n:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Previously, when server_list is used while no server is accessible puppet run will fail even if usecacheonfailure is set to true.\n\nAfter this commit, when server_list is used while no server is accessible puppet will use cached catalog if usecacheonfailure is set to true and fail only if usecacheonfailure is set to false"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_50880636_*|*_1_*:*_1_*:*_26294422_*|*_10007_*:*_1_*:*_619683244_*|*_3_*:*_2_*:*_515561353_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1336087327_*|*_10005_*:*_1_*:*_1561515689"}], "description": "*Puppet Version:*\u00a06.17.0 (PE2019.8.1)\n *Puppet Server Version: \u00a02019.8.0.37*\n *OS Name/Version: RHEL8*\n\nHad a case where /etc/resolv.conf was accidentally removed and puppet agent hasn't recovered it for unknown reason. \u00a0usecacheonfailure is set to true\n\n\u00a0\n\n\u00a0\n\nEasy to reproduce, manage /etc/resolv.conf by puppet, remove the file, puppet agent will start failing and not recovering the file. The log entry :\n\n\u00a0\n{noformat}\nCould not run Puppet configuration client: Could not select a functional puppet master from server_list:{noformat}\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25501", "fixedVersions": ["PUP 6.19.0", "PUP 7.0.0"], "id": "25501", "issueType": "Bug", "key": "PUP-10648", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "resolution": "Fixed", "resolutionDate": "2020-10-14T00:08:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "puppet 6 agent doesn't honor usecacheonfailure setting when using server_list", "timeSpent": "PT0S", "updated": "2020-11-09T09:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623c1489a1d81f0069d8e30a", "body": "It is already done", "created": "2020-09-30T07:54:00.000000"}], "components": [], "created": "2020-08-25T15:08:00.000000", "creator": "6007ea942a6b66006902c024", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": ["ghost"]}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@15cca269"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03r5s:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Sep/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_42062015_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3042323929"}], "description": "The format of puppet facts application should be improved to match facter output (json, yaml and hocon-like).\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22310", "fixedVersions": [], "id": "22310", "issueType": "Task", "key": "PUP-10647", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6007ea942a6b66006902c024", "resolution": "Done", "resolutionDate": "2020-09-30T07:54:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Improve output format for puppet facts application", "timeSpent": "PT0S", "updated": "2020-09-30T07:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6007ea942a6b66006902c024", "attachments": [], "comments": [{"author": "623c1489a1d81f0069d8e30a", "body": "The work is already done in PUP-10644", "created": "2020-09-16T07:14:00.000000"}], "components": [], "created": "2020-08-25T15:06:00.000000", "creator": "6007ea942a6b66006902c024", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": ["ghost"]}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@575bed7b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzvq87:2i6000001"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Sep/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_42193867_*|*_3_*:*_1_*:*_10269582_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_2_*:*_1820036214"}], "description": "Comand line arguments should be extended to support the same arguments as facter. Those arguments should be passed back to facter (when facter terminus class is used).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21394", "fixedVersions": [], "id": "21394", "issueType": "Task", "key": "PUP-10646", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6007ea942a6b66006902c024", "resolution": "Won't Do", "resolutionDate": "2020-09-16T07:14:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Extend puppet facts application arguments", "timeSpent": "PT0S", "updated": "2020-09-16T07:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623c1489a1d81f0069d8e30a", "body": "We are already using the formatted output from Facter 4.", "created": "2020-09-09T07:52:00.000000"}], "components": [], "created": "2020-08-25T15:03:00.000000", "creator": "6007ea942a6b66006902c024", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": ["ghost"]}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2f9edfcc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03r54:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Sep/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_42327231_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1227834015"}], "description": "The output is an Puppet::Node::Facts object that contains some \u2018noise\u2019\u00a0 instead of\u00a0 just a list of facts:\u00a0\n{code:java}\n{ \n\"name\": \"node name the facts is for\", \n\"timestamp\": \"when the facts were retrieved\", \n\"expiration\": \"time when another puppet run will happpend\",\n \"values\": { ..... these are the actual available facts .... }\n}\n{code}\n\u00a0\n\nIn order to provide the same functionality as the current facter -p command, there is a need for some sanitization of the extra metadata (node name, timestamp and expiration) at the puppet facts application layer if facter terminus is used.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29740", "fixedVersions": [], "id": "29740", "issueType": "Task", "key": "PUP-10645", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6007ea942a6b66006902c024", "resolution": "Won't Do", "resolutionDate": "2020-09-09T07:52:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Sanitize output of puppet facts application", "timeSpent": "PT0S", "updated": "2020-09-09T07:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6007ea942a6b66006902c024", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "https://github.com/puppetlabs/puppet/commit/a3da3cd354f0abb27e8a88f10f8ae8627625ece6", "created": "2020-10-02T18:22:00.000000"}], "components": [], "created": "2020-08-25T14:50:00.000000", "creator": "6007ea942a6b66006902c024", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": ["ghost"]}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1b4fb339"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzvq87:2i6000002"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "A new action was added for `puppet facts` : `puppet facts show`. This action is more user configurable: it can query only one or a list of facts or all of them; by default this action does not display the legacy facts but they can be enable with `--show legacy` option. There are options for providing a config file, custom and external directories to Facter."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_195098249_*|*_1_*:*_1_*:*_43180727_*|*_3_*:*_1_*:*_231187291_*|*_10009_*:*_1_*:*_2548330048_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_473210877"}], "description": "Currently\u00a0_puppet facts_ application retrieve all facts (including legacy facts). This mechanism should be extended to be able to retrieve a list of facts if that is requested.\n\n\u00a0\n\nA non invasive solution for this could be implementing another action for facts application (see _upload_\u00a0action).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28624", "fixedVersions": ["PUP 7.0.0"], "id": "28624", "issueType": "Task", "key": "PUP-10644", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6007ea942a6b66006902c024", "resolution": "Done", "resolutionDate": "2020-10-05T00:33:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Puppet facts should be able to retrieve just a list of facts if that is requested", "timeSpent": "PT0S", "updated": "2021-01-27T11:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-08-25T06:19:00.000000", "creator": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@627eae90"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03qts:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fixed an issue where setting the `mark` parameter to `none` always reported changes on Debian-based platforms"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_96349921_*|*_1_*:*_1_*:*_70597658_*|*_5_*:*_1_*:*_0"}], "description": "*Puppet Version: 5.5.21/6.18.0*\n *Puppet Server Version: n/a*\n *OS Name/Version: Debian/Ubuntu (any)*\n\nWhen explicitly specifying {{hold => none}} in a manifest, puppet will always report changes. Sample resource:\n{code}package { 'mc':\n    ensure => present,\n    mark   => none,\n}\n{code}\n*Desired Behavior:*\n\nPuppet should set mark to none and not report any subsequent changes.\n\n*Actual Behavior:*\n\nPuppet sets mark to none on each run.\n\n----------------------------\n\nSolved by the following patch:\n{code}--- a/lib/puppet/provider/package/dpkg.rb\n+++ b/lib/puppet/provider/package/dpkg.rb\n@@ -74,7 +74,7 @@ Puppet::Type.type(:package).provide :dpkg, :parent => Puppet::Provider::Package\n       elsif ['config-files', 'half-installed', 'unpacked', 'half-configured'].include?(hash[:status])\n         hash[:ensure] = :absent\n       end\n-      hash[:mark] = :hold if hash[:desired] == 'hold'\n+      hash[:mark] = hash[:desired] == 'hold' ? :hold : :none\n     else\n       Puppet.debug(\"Failed to match dpkg-query line #{line.inspect}\")\n     end\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20288", "fixedVersions": ["PUP 6.19.0"], "id": "20288", "issueType": "Bug", "key": "PUP-10643", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "resolution": "Fixed", "resolutionDate": "2020-08-27T04:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "hold => none not idempotent with dpkg provider", "timeSpent": "PT0S", "updated": "2020-10-13T09:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "An uppercase bare word like {{Default}} is a reference to a datatype. There happens to be a datatype named {{Default}} and it matches the value that results when you type {{default}}. So - the example will either match a literal {{default}} (with the {{Default}} entry), or a missing value (the {{default}} entry).\n\nWhile not wrong per se. if that is what the documentation is trying to show it should say so, otherwise it is just cryptic.", "created": "2020-08-25T05:20:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I think this is accidental in this case. We'll take a look, thanks for letting us know.", "created": "2020-08-25T13:09:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:63d40628f6e1b543161789a7]\u00a0just to confirm, `Default` should have a lower case `d`? Thanks!", "created": "2020-09-02T10:17:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "The docs shows two examples", "created": "2020-09-02T12:22:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:70121:81a73de1-7f52-49cd-b0b0-46c1b147202a], so would you remove the entire case statement example:\n\nA case statement evaluates a list of cases against a control expression, and executes the first code block where the case value matches the control expression. This example declares a role class on a node, but which role class it declares depends on what operating system the node runs:\n\n{{}}\n{code:java}\ncase $facts['os']['name'] {\n    'Solaris': { \n         include role::solaris \n    }\n    'RedHat', 'CentOS':  {\n         include role::redhat\n    }\n    /^(Debian|Ubuntu)$/:  {\n         include role::debian  \n    }\n    Default:  {\n         include role::generic \n    }\n}\n{code}\n{{}}", "created": "2020-09-11T04:25:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "The intention was probably to have this (with a lower case {{default}}:\n{code}\ncase $facts['os']['name'] {\n    'Solaris': { \n         include role::solaris \n    }\n    'RedHat', 'CentOS':  {\n         include role::redhat\n    }\n    /^(Debian|Ubuntu)$/:  {\n         include role::debian  \n    }\n    default:  {\n         include role::generic \n    }\n}\n{code}\nBecause while an upper case {{Default}} as the last case option is not illegal it means something completely different. The lower case {{default}} means \"take this option if none of the other matches\", and the upper case {{Default}} means \"take this option if the fact \"os.name\" is set to an instance of the {{Default}} data type\" - and that does not make sense as the name of the os will never be an instance of that data type. The only way to hit such an option is to do something like this:\n{code}\n$x = default  # yes, default is a value that can be assigned\ncase $x {\n  \"some string\": {\u00a0notice(\"it is the string 'some string'\") }\n  Default:  { notice(\"it is a literal default\") }\n  default: { notice(\"it is something else\") }\n}\n{code}\n\nSo... just change it to a lower case {{default}} to make the example make sense.\n\nThat you can do matching of values against data types is a valuable feature but it is not what the example in the doc is about.\n\nHope that helps...", "created": "2020-09-11T16:13:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "There should be more examples showing those other types of matches.\n{code}\n# matching value against data types\ncase $x {\n  Integer: { ... }              # x is an Integer value\n  String[10]: { ...}            # x is a string 10 or more chars long\n  String: { ... }                 # x is a string short than 10 (since option above took the longer ones}}\n}\n{code}\nif that is not already in the documentation, it should be.\n{code}\n# matching multiple values at once\ncase [$x, $y] {\n  [String, Integer]: { ... } # x is String and y is an Integer\n  [10, \"hello\"]: { ... } # x is the integer 10, and y the string \"hello\"\n  [1, default]: { ... } # x is the integer 1, and y can be any value (could also have been written Any)\n}\n{code}\n\n\u00a0", "created": "2020-09-11T16:21:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Thanks [~accountid:70121:81a73de1-7f52-49cd-b0b0-46c1b147202a]!", "created": "2020-09-14T03:40:00.000000"}], "components": ["Docs"], "created": "2020-08-25T01:50:00.000000", "creator": "623c1068d32a94006a6497b3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5d087e7f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03qo0:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_40820074_*|*_10007_*:*_1_*:*_81974530_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1694084075"}], "description": "*Puppet Version: 6.17*\n\n{{Starting with 6.x it seems the [documentation for case conditionals|https://puppet.com/docs/puppet/6.17/lang_conditional.html]}} shows an uppercase `Default` as catch-call value. Since this doesn't work and would also be inconsistent to the selector statement I'm carefully assuming it's a (grave) typo?\n\n{{This test seems to confirm:}}\n\n\u00a0\n{code:java}\nclass test {\n  case $facts['os']['name'] {\n    Default:  { notify {'uppercase default':} }\n  }\n  case $facts['os']['name'] {\n    default:  { notify {'lowercase default':} }\n  }\n}\ninclude test\n{code}\n\u00a0\n\n\u00a0\n\n{{And the log:}}\n{noformat}\nroot@host:~# puppet  apply test.pp \nNotice: Compiled catalog for host in environment production in 0.02 seconds\nNotice: lowercase default\nNotice: /Stage[main]/Test/Notify[lowercase default]/message: defined 'message' as 'lowercase default'\nNotice: Applied catalog in 0.06 seconds\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21393", "fixedVersions": [], "id": "21393", "issueType": "Bug", "key": "PUP-10642", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c1068d32a94006a6497b3", "resolution": "Fixed", "resolutionDate": "2020-09-15T02:31:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Uppercase Default value in conditional documentation a typo?", "timeSpent": "PT0S", "updated": "2021-07-07T17:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Thanks for the information [~accountid:6243b554fd5e4500704352a1], I'm going to close this as a dup of PUP-3116.", "created": "2022-04-01T18:22:00.000000"}], "components": [], "created": "2020-08-24T03:23:00.000000", "creator": "6243b554fd5e4500704352a1", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@59c69381"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03q00:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Apr/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6743063207_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_43854840593"}], "description": "It seems that for almost every file that puppet encounters, it checks for selinux attributes, and by doing so it will scan the complete /proc/mounts in chunks of 1024 bytes to try to determine the filesystem type.\u00a0\n\n\u00a0\n\nSo on any server that has selinux activated and more than 1000 mounts, puppet will use huge amounts of CPU and take ages\u2026\n\n\u00a0\n\nI've created a a small patch that caches results. On some servers puppet run went from 2 hours to 10 minutes!\n\n\u00a0\n\n$ diff /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/selinux.rb selinux_patched.rb\n16c16,18\n< def self.selinux_support?\n---\n> $mounts = {}\n>\n> def selinux_support?\n24,27d25\n< def selinux_support?\n< Puppet::Util::SELinux.selinux_support?\n< end\n<\n209,211c207\n< loop do\n< mounts += mountfh.read_nonblock(1024)\n< end\n---\n> mounts += mountfh.read_nonblock(1024) while true\n241c237,244\n< return nil unless mounts = read_mounts\n---\n>\n> if $mounts.empty?\n> # fill $mounts hash if still empty.\n> # Most probably only executed the first time this function is called.\n> $mounts = {} unless $mounts = read_mounts\n> end\n>\n> return nil if mounts.empty?\n254c257\n< return mounts[segment.to_s] if mounts.has_key?(segment.to_s)\n---\n> return $mounts[segment.to_s] if $mounts.has_key?(segment.to_s)\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20287", "fixedVersions": [], "id": "20287", "issueType": "Bug", "key": "PUP-11501", "labels": ["selinux"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6243b554fd5e4500704352a1", "resolution": "Duplicate", "resolutionDate": "2022-04-01T18:22:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "extreme long puppet run in case of selinux and lots of mounts", "timeSpent": "PT0S", "updated": "2022-04-01T18:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5b9fcedc03b52466f05c4510", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged test cleanup to master in https://github.com/puppetlabs/puppet/commit/83652cdd0588b8bca122289abf5e00d133c28641", "created": "2020-10-02T12:46:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged GH Actions to master in https://github.com/puppetlabs/puppet/commit/50e844271f9688f2f0e02c604e1e70aadd5c02d1\nMerged GH Actions to main in https://github.com/puppetlabs/puppet/commit/257043d222ba85f63c12aa0fd74c60353f935c36\n\nI updated the branch protection rules for master and main. Unfortunately you have to choose which axes must pass and the list is different for each branch.\n\nI left the travis/appveyor integrations as is, because they are still needed with 5.5.x. Once that branch goes EOL we can delete the integrations.", "created": "2020-10-02T13:52:00.000000"}], "components": [], "created": "2020-08-20T06:00:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@42159228"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzffl0:i"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_503302160_*|*_10007_*:*_1_*:*_240801887_*|*_3_*:*_1_*:*_782100762_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2430839333"}], "description": "On Puppet we currently use Travis for Linux unit testing and appvayor for Windows unit testing.\n\nHaving two different providers is hard to maintain.\n\nAlso as noted in this PR:\u00a0[https://github.com/puppetlabs/puppet/pull/8282]\u00a0updating some of their dependencies causes the tests to take longer.\n\nWe've implemented github actions on facter and they seem to provide a stable, multi-OS, and performant platform for running unit tests.\n\nWe should move the Puppet PR testing to Github Actions.\n\n\u00a0\n\nThis should be available on all supported Puppet streams.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29739", "fixedVersions": ["PUP 6.19.0", "PUP 7.0.0"], "id": "29739", "issueType": "Task", "key": "PUP-10640", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Fixed", "resolutionDate": "2020-10-05T01:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Move Puppet PR testing to Github Actions", "timeSpent": "PT0S", "updated": "2022-07-12T12:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Updating the local CA file when the file doesn't exist yet (new agent) is a weak link in puppet's security model, because it's the only time that puppet agents don't authenticate the server (VERIFY_NONE). To avoid MITM attacks, puppet has a {{ca_fingerprint}} command line argument which can be used to verify the contents of the CA file over an untrusted channel. The argument accepts the SHA256 digest of the CA file, which can be computed on the CA server as:\n{noformat}# openssl dgst -sha256 -r /etc/puppetlabs/puppet/ssl/certs/ca.pem | cut -f1 -d' '\n6e09bc3e6778d6b497d233a49f9906b95adc212468d9d3e260398f093badaf03\n{noformat}\nThen on the agent, pass the CA fingerprint when bootstrapping the agent (or running {{puppet agent -t}}. Puppet will reject the file if the digests don't match:\n{noformat}# puppet ssl bootstrap --ca_fingerprint FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\nError: CA bundle with digest (SHA256) 6E:09:BC:3E:67:78:D6:B4:97:D2:33:A4:9F:99:06:B9:5A:DC:21:24:68:D9:D3:E2:60:39:8F:09:3B:AD:AF:03 did not match expected digest FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF\n{noformat}\nSo if we allow agents to refresh an expired CA certificate, then we have two problems:\n\n1. If {{ca_fingerprint}} is not set (the default), then it expands the window of opportunity when an agent could be vulnerable to MITM.\n 2. If {{ca_fingerprint}} is set, then won't match the new CA file.\n\nThe first issue could be handled by ignoring the expiration date of the CA certificate for the TLS connection that downloads the new CA certificate. All other errors (like bad signature would continue to fail the connection). This could be done by passing a custom {{Puppet::SSL::Verifier}}.\n\nThe second issue could be handled by only applying the {{ca_fingerprint}} to the very first CA file download. Once we have a trust anchor, then we can use that CA to download the next once (ignoring the expiration date issue above), preserving the chain of trust.", "created": "2020-08-20T11:57:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "Hi,\nas a first step, what about a refresh interval, like we have it for the CRL, to update a not expired CA cert? The agent can establish the usual HTTPS connection and if that works, download a new CA cert. That would enable people to use short-lived certificated and automate their rollover.", "created": "2023-01-05T02:35:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Yep, that makes sense to me.", "created": "2023-01-05T10:21:00.000000"}], "components": [], "created": "2020-08-20T05:40:00.000000", "creator": "557058:1577af4b-80df-445b-a17c-f09b2ef915d2", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The Puppet client does never fail, because of expired local cached CA File, if the CA used by the configured `ca_server` was renewed before expiration."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@20d5d968"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03p4w:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Aug/20"}], "description": "*Puppet Version:* all\n *Puppet Server Version:* irrelevant\n *OS Name/Version:*\u00a0irrelevant\n\nCurrently the Puppet agent/client does cache the Puppet CA file it first received forever. When this CA expires and get renewed on the configured `ca_server` or Puppetserver the cache still does not get updated with the new CA.\n\n#puppet slack channel discussion:\u00a0[https://puppetcommunity.slack.com/messages/C0W298S9G/p1597402361432800]\n\n*Desired Behavior:*\n * add sane defaults that would recheck if the cached local CA does differ from the one used by the configured `ca_server` (e.g. 1 week or 2 weeks before CA expiration date)\n * add Puppet client config settings to specify intervals for this CA check\n * if the local cached CA file is expired check if the configured `ca_server` uses a different one and replace the local\u00a0\u00a0cached CA file\n\n*Actual Behavior:*\n\nCurrently the client does use the cached CA file forever even when the CA file has expired or the used CA file of\u00a0the configured `ca_server` or Puppetserver was renewed.\n\nThis results in completely failed Puppet runs, which will never recover without external/manual intervention (removing the expired locally cached CA file)", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28622", "fixedVersions": [], "id": "28622", "issueType": "New Feature", "key": "PUP-10639", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:1577af4b-80df-445b-a17c-f09b2ef915d2", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "renew cached Puppet CA on Puppet client", "timeSpent": "PT0S", "updated": "2023-02-28T12:24:00.000000", "votes": "4", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-08-19T18:38:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@46b76a42"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10629"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03ouw:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1321_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3815082714"}], "description": "(Initial planned release date: 2020-08-25)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2020-08-26T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "estimate": "PT0S", "externalId": "23430", "fixedVersions": [], "id": "23430", "issueType": "Task", "key": "PUP-10638", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22308", "parentSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2020-10-02T22:23:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 6.18.0)", "timeSpent": "PT0S", "updated": "2020-10-02T22:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-08-19T18:38:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2a93d7e6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10629"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03ouo:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1280_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1880533349"}], "description": "(Initial planned release date: 2020-08-25)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n", "duedate": "2020-08-26T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "estimate": "PT0S", "externalId": "22309", "fixedVersions": [], "id": "22309", "issueType": "Task", "key": "PUP-10637", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22308", "parentSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-09-10T13:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 6.18.0)", "timeSpent": "PT0S", "updated": "2020-09-10T13:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "attachments": [], "comments": [], "components": [], "created": "2020-08-19T18:38:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@13149552"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10629"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03oug:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1237_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_502255690"}], "description": "(Initial planned release date: 2020-08-25)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 6.18.0 is now available\".\n", "duedate": "2020-08-25T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "estimate": "PT0S", "externalId": "21392", "fixedVersions": [], "id": "21392", "issueType": "Task", "key": "PUP-10636", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22308", "parentSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-08-25T14:09:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Send release announcement (Puppet Platform 6.18.0)", "timeSpent": "PT0S", "updated": "2020-08-25T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5b5a27ad106ec32d95ea277d", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Release notes ready for merge:\u00a0[https://10.234.5.14/docs/puppet/latest-preview/release_notes_puppet.html.|https://10.234.5.14/docs/puppet/latest-preview/release_notes_puppet.html]\n\n[~accountid:5b5a27ad106ec32d95ea277d]\u00a0will merge these next week when I'm on PTO.\u00a0", "created": "2020-08-21T02:28:00.000000"}], "components": [], "created": "2020-08-19T18:38:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@22e9f845"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10629"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03ou0:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1298_*|*_10007_*:*_1_*:*_1765930693_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_114630932"}], "description": "(Initial planned release date: 2020-08-25)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2020-08-25T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "estimate": "PT0S", "externalId": "29738", "fixedVersions": [], "id": "29738", "issueType": "Task", "key": "PUP-10635", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22308", "parentSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-09-10T13:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 6.18.0)", "timeSpent": "PT0S", "updated": "2020-09-10T13:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-08-19T18:38:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@504ca8a5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10629"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03ots:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1334_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_428749459"}], "description": "(Initial planned release date: 2020-08-25)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2020-08-24T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "estimate": "PT0S", "externalId": "28621", "fixedVersions": [], "id": "28621", "issueType": "Task", "key": "PUP-10634", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22308", "parentSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-08-24T17:44:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 6.18.0)", "timeSpent": "PT0S", "updated": "2020-08-24T17:44:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5b5a27ad106ec32d95ea277d", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Here are the release notes:\u00a0[https://10.234.5.14/docs/puppet/latest-preview/release_notes_puppet.html]\n\n[~accountid:999854:191ed73b-6251-4dec-84ff-45f07d9b8e9c]\u00a0will review the release announcement, as I'll be on PTO next week.\u00a0", "created": "2020-08-21T02:27:00.000000"}, {"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "The next release in the Puppet 6 series, Puppet 6.18.0, is now available!\n\nThe release contains bug fixes and minor improvements, including:\n * New property and parameter to manage user rights on\u00a0Windows\n\n * Curl upgraded to 7.71.1\n\n * Allow running\u00a0Puppet\u00a0commands via\u00a0AWS\u00a0Session Manager on\u00a0Windows\u00a02019\n\nFor the full list of changes, check out the release notes:\u00a0[https://puppet.com/docs/puppet/latest/release_notes_puppet.html]\n\n\u00a0\n\n[~accountid:5b5a27ad106ec32d95ea277d] to review before shipping cc/[~accountid:557058:9e548bcc-dbc3-4c04-a047-0344921dbb97]\u00a0\u00a0", "created": "2020-08-24T17:57:00.000000"}, {"author": "5b5a27ad106ec32d95ea277d", "body": "_This version is ready to ship, cc/_[~accountid:557058:9e548bcc-dbc3-4c04-a047-0344921dbb97]:\u00a0\u00a0\n\nThe next release in the Puppet 6 series, Puppet 6.18.0, is now available!\n\nThe release contains bug fixes and minor improvements, including:\n * New property and parameters for managing user rights on\u00a0Windows\n\n * Upgrade to Curl 7.71.1\n\n * Puppet\u00a0commands allowed to run via\u00a0AWS\u00a0Session Manager on\u00a0Windows\u00a02019\n\nFor the full list of changes, check out the release notes:\u00a0[https://puppet.com/docs/puppet/latest/release_notes_puppet.html]\n\n\u00a0", "created": "2020-08-25T10:25:00.000000"}, {"author": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "body": "Thanks [~accountid:5b5a27ad106ec32d95ea277d]!", "created": "2020-08-25T11:33:00.000000"}], "components": [], "created": "2020-08-19T18:38:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@23c4afcf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10629"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03otc:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1193_*|*_3_*:*_1_*:*_73601383_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_428796815"}], "description": "(Initial planned release date: 2020-08-25)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2020-08-24T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "estimate": "PT0S", "externalId": "26623", "fixedVersions": [], "id": "26623", "issueType": "Task", "key": "PUP-10633", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22308", "parentSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-08-25T14:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare release announcement (Puppet Platform 6.18.0)", "timeSpent": "PT0S", "updated": "2020-08-25T14:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "The release notes are ready on the preview site:\u00a0[https://10.234.5.14/docs/puppet/latest-preview/release_notes_puppet.html#new_features_puppet_x-16-0]", "created": "2020-08-21T01:38:00.000000"}], "components": [], "created": "2020-08-19T18:38:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@175c6625"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10629"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03ot4:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1326_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_111580485"}], "description": "(Initial planned release date: 2020-08-25)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\n For X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n\n\u00a0\n\nDraft: [https://docs.google.com/document/d/1jttwqo-uQwIt3yFQYsa7hs_SwFp-SZls_tSATgD9AvM/edit]", "duedate": "2020-08-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "estimate": "PT0S", "externalId": "25499", "fixedVersions": [], "id": "25499", "issueType": "Task", "key": "PUP-10632", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22308", "parentSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-08-21T01:38:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 6.18.0)", "timeSpent": "PT0S", "updated": "2020-08-21T01:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-08-19T18:38:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1cbe35d0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10629"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03osw:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1280_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_428781965"}], "description": "(Initial planned release date: 2020-08-25)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2020-08-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "estimate": "PT0S", "externalId": "24478", "fixedVersions": [], "id": "24478", "issueType": "Task", "key": "PUP-10631", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22308", "parentSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-08-24T17:44:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 6.18.0)", "timeSpent": "PT0S", "updated": "2020-08-24T17:44:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-08-19T18:38:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4d07daba"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10629"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03oso:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1382_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_428791403"}], "description": "(Initial planned release date: 2020-08-25)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 6.18.0 and puppet-agent 6.18.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2020-08-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "estimate": "PT0S", "externalId": "23429", "fixedVersions": [], "id": "23429", "issueType": "Task", "key": "PUP-10630", "labels": ["release"], "originalEstimate": "PT0S", "parent": "22308", "parentSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-08-24T17:44:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 6.18.0)", "timeSpent": "PT0S", "updated": "2020-08-24T17:44:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-08-19T18:38:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5acdb424"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-3"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 6.18.0 Release - 2020-08-25\n"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "yellow"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03osg:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3815136684_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "duedate": "2020-08-25T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22308", "fixedVersions": [], "id": "22308", "issueType": "Epic", "key": "PUP-10629", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2020-10-02T22:23:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "timeSpent": "PT0S", "updated": "2020-10-02T22:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [{"attacher": "63d40628f6e1b543161789a7", "created": "2020-08-19T23:46:00.000000", "name": "rbspy-2020-08-20-gAPdCc51RI.flamegraph.svg", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12120"}], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Thanks [~accountid:62439ec7fd5e450070434992]! I was able to reproduce using your instructions:\n{noformat}# puppet --version\n6.17.0\n# cd /etc/puppetlabs/puppet\n# cat hiera.yaml\n---\nversion: 5\ndefaults:\n  datadir: .\n  data_hash: yaml_data\nhierarchy:\n  - name: test\n    path: test.yaml\n# echo -e 'hash1:\\n  hash2:\\n    hash3:' > test.yaml\n# for i in {1..2000}", "created": "2020-08-19T23:47:00.000000"}, {"author": "62439ec7fd5e450070434992", "body": "Looks like same problem exists for facter code.\n\nOn some node I have 270 IP addresses. --profile shows:\n{code:java}\n[puppetserver] Puppet functions -> net::ipaddresses4_list: 6.164248 s (5 calls)\n{code}\nOn a node with 3 IPs:\n{code:java}\n[puppetserver] Puppet functions -> net::ipaddresses4_list: 0.075847 s (5 calls)\n{code}\nnet::ipaddresses4_list only works with fact\u00a0$::networking:\n{code:java}\nfunction net::ipaddresses4_list() >>Array[String] {\n  $::networking['interfaces'].filter|$v|{ 'bindings' in $v[1] }.reduce([])|$memo, $v|{ $memo + $v[1]['bindings'].map()|$i|{ $i['address']} }\n}\n{code}", "created": "2020-08-20T01:21:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This can be reproduced using:\n\n{code:ruby}\nrequire 'puppet'\nrequire 'puppet/pops'\n\nPuppet.initialize_settings\nPuppet::Util::Log.newdestination(:console)\n\nvalues = 0.upto(2000).inject({}) do |memo, i|\n  memo[\"key#{i}\"] = \"value#{i}\"\n  memo\nend\n\nhash = { 'hash2' => { 'hash3' => values } }\n\nPuppet::Util.benchmark(:notice, \"Inferred hash is an instance of #{Puppet::Pops::Lookup::DataProvider.value_type.name} in %{seconds}\") do\n  Puppet::Pops::Lookup::DataProvider.value_type.instance?(hash)\nend\n{code}\n\n{noformat}\n$ bx ruby slow_infer.rb\nNotice: Inferred hash is an instance of RichData in 3.60\n{noformat}\n\nThe bulk of the time is spent calculating if the hash is an instance of PTypeSetType. And it does this 3 times, once for each level of the hash. The PTypeSetType was added in PUP-6220 and is included in {{RichData}}:\n\n{noformat}\n'RichData' => 'Variant[Scalar,SemVerRange,Binary,Sensitive,Type,TypeSet,URI,Object,Undef,Default,Hash[RichDataKey,RichData],Array[RichData]]'\n{noformat}\n\nI can't imagine it would make sense for lookup to return {{TypeSet}} types? One option might be to check if the hash is an instance of {{RichData - TypeSet}}? Also wonder if facts have the same problem in PUP-9577.", "created": "2020-08-20T12:42:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Excluding {{TypeSet}} from the list of possible data provider values types is about 300x faster:\n\n{code:diff}\ndiff --git a/lib/puppet/pops/loader/static_loader.rb b/lib/puppet/pops/loader/static_loader.rb\nindex 3e6b78ce4c..8faca4e84f 100644\n--- a/lib/puppet/pops/loader/static_loader.rb\n+++ b/lib/puppet/pops/loader/static_loader.rb\n@@ -29,6 +29,7 @@ class StaticLoader < Loader\n     'Data' => 'Variant[ScalarData,Undef,Hash[String,Data],Array[Data]]',\n     'RichDataKey' => 'Variant[String,Numeric]',\n     'RichData' => 'Variant[Scalar,SemVerRange,Binary,Sensitive,Type,TypeSet,URI,Object,Undef,Default,Hash[RichDataKey,RichData],Array[RichData]]',\n+    'LookupDataValue' => 'Variant[Scalar,SemVerRange,Binary,Sensitive,Type,URI,Object,Undef,Default,Hash[RichDataKey,LookupDataValue],Array[LookupDataValue]]',\n \n     # Backward compatible aliases.\n     'Puppet::LookupKey' => 'RichDataKey',\ndiff --git a/lib/puppet/pops/lookup/data_provider.rb b/lib/puppet/pops/lookup/data_provider.rb\nindex 6fdb9fa757..2446f35fb3 100644\n--- a/lib/puppet/pops/lookup/data_provider.rb\n+++ b/lib/puppet/pops/lookup/data_provider.rb\n@@ -13,7 +13,8 @@ module DataProvider\n   def self.register_types(loader)\n     tp = Types::TypeParser.singleton\n     @key_type = tp.parse('RichDataKey', loader)\n-    @value_type = tp.parse('RichData', loader)\n+    # exclude TypeSet\n+    @value_type = tp.parse('LookupDataValue', loader)\n   end\n \n   # Performs a lookup with an endless recursion check.\n\n{code}\n\nBefore\n\n{noformat}\n$ bx ruby slow_infer.rb\nNotice: Inferred hash is an instance of RichData in 3.23\n{noformat}\n\nAfter\n\n{noformat}\n$ bx ruby slow_infer.rb\nNotice: Inferred hash is an instance of LookupDataValue in 0.01\n{noformat}", "created": "2020-08-20T13:11:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "RichData as a format allows for types to be embedded in the serialization of data - that way, a serialization can be self describing. In serialization it is optional to use this, or to simply include types as reference via their name (i.e. \"hoping\" that the other side has the same definition of the type). Early on in the implementation of rich-data support in the catalog we did include the serialized types - but this proved to be too bulky. \n\nThere is currently no other data type (alias) defined for RichData without the Type and Type set types, but one could be created. Don't see it is of much practical use to support Type/TypeSet in hiera data, you would get the same if types were returned as strings and then turned into types dynamically - rather than a hiera backend returning an instance of Type/TypeSet. Not sure if dropping them from RichData would cause problems - probably not that difficult to test.\n\nSpeeding up the inference is still of value - there may be some obvious things that can be done to make it faster to discriminate if a hash could possibly represent a type or typeset. \n\n", "created": "2020-08-20T13:22:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "An optimization that was done in other places were that instead of inferring the type of the value and then matching the inferred against the desired you ask if it is an instance of the desired type - not sure if there is something like that going on here, or if also asking if it is an instance requires a deep recursion.", "created": "2020-08-20T13:26:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Tests pass for me locally when Type and TypeSet are removed, so I submitted a PR https://github.com/puppetlabs/puppet/pull/8294. \n\nIt looks like {{TypeSet#instance?}} could be optimized to reject the value if the required {{pcore_version}} key is missing, but I'm not sure which keys are actually required based on the way __pcore_init_hash optionally parses the hash: https://github.com/puppetlabs/puppet/blob/main/lib/puppet/pops/types/p_type_set_type.rb#L174-L180.", "created": "2020-08-21T17:22:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "[~accountid:63d40628f6e1b543161789a7] I think it is may be as easy as checking if it has the key {{\"pcore_uri\"}} - which should be present and signifies that \"this is something that has to do with pcore\" - but it could be that actual usage is too relaxed with the formalities of declaring this (or the {{pcore_version}} for that matter). Apart from Puppet core and possibly Bolt, I don't think there is any use of `TypeSet` in the wild - if so, the worst case would be that manually authored typeset files would need to be updated with the {{pcore_uri}}.\n\nWould need to ask Thomas Hallgren to get all the details.", "created": "2020-08-22T12:27:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I modified {{TypeSetType#instance?}} so inference is skipped if the object isn't a hash or if the {{pcore_version}} key is missing. The was merged to 5.5.x in https://github.com/puppetlabs/puppet/commit/d00f2a6a23f6a98daf2b954aea2e1bf01c020c17.\n\nI'm going to file a separate ticket to remove {{TypeSetType}} from {{RichData}} to be fixed in Puppet 7.", "created": "2020-08-27T16:52:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Follow up merged to 5.5.x https://github.com/puppetlabs/puppet/commit/6f168e901fae4a3b8593a342f4df54044fed22dd. We now verify the object is an instance of (or subclass) of {{PTypeSetType}}.", "created": "2020-09-01T12:18:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 3b720e6e2e", "created": "2020-09-03T11:29:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This also fixes the issue where the hash is validated multiple times for each level of the hash. \n\nPreviously {{PTypeSetType#instance?}} was three times with the following object {{o}}:\n\n{code:json}\n{'hash2' => {'hash3' => { 'key1' => ..., ... } } }\n{'hash3' => { 'key1' => ..., ... } } \n{'key1' => ... }\n{code}\n\nWith the new code, the {{instance?}} is still called three times, but it returns immediately due to the object not being an instance of {{PTypeSetType}}.", "created": "2020-09-03T11:46:00.000000"}], "components": ["Hiera & Lookup"], "created": "2020-08-19T08:55:00.000000", "creator": "62439ec7fd5e450070434992", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1b4420df"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03o48:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fixes a performance regression in 5.5.x and up which affected hiera lookups in large hashes."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_241000040_*|*_1_*:*_1_*:*_53664975_*|*_3_*:*_1_*:*_344467859_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_666152971"}], "description": "*Puppet Version: starting from 5.0.0*\n**\n\nAfter upgrading our Puppet installation from\u00a04.10 to 6.x I found large catalog compile time increasing (over 300 seconds) for some nodes.\n\nProfiling shows problem with large hashes in Hiera yamls.\n\n\u00a0\n\nGood case:\n\n\u00a0\n{code:java}\n$ sudo yum downgrade -y http://yum.puppetlabs.com/el/6x/PC1/x86_64/puppet-agent-1.10.14-1.el6.x86_64.rpm\n$ puppet --version\n4.10.12\n$ time puppet lookup --hiera_config hiera.yaml hash1.hash2.hash3.key1\n--- value1\n...\nreal    0m2.195s\nuser    0m2.010s\nsys     0m0.181s{code}\nBad cases:\n\n\u00a0\n\n\u00a0\n{code:java}\n$ sudo yum update -y http://yum.puppetlabs.com/puppet5/el/6/x86_64/puppet-agent-5.0.0-1.el6.x86_64.rpm\n$ puppet --version\n5.0.0\n$ time puppet lookup --hiera_config hiera.yaml hash1.hash2.hash3.key1\n--- value1\n...\nreal    0m9.837s\nuser    0m9.623s\nsys     0m0.207s{code}\n{code:java}\n$ sudo yum update -y puppet-agent\n$ puppet --version\n6.17.0\n$ time puppet lookup --hiera_config hiera.yaml hash1.hash2.hash3.key1\n--- value1\nreal    0m9.788s\nuser    0m9.494s\nsys     0m0.296s{code}\nMy research ended on follow debug points:\n\n\u00a0\n{code:java}\n$ patch /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/data_provider.rb <<EOF\n--- data_provider.rb\n+++ data_provider.rb\n@@ -80,11 +80,14 @@\n   # @param data_provider [DataProvider] The data provider that produced the hash\n   # @return [Object] The data value\n   def validate_data_value(value, &block)\n+require 'time'\n+print \"data_provider.rb::validate_data_value::1 \", ::Time.now.to_f, \"\\n\"\n     # The DataProvider.value_type is self recursive so further recursive check of collections is needed here\n     unless value_is_validated? || DataProvider.value_type.instance?(value)\n       actual_type = Types::TypeCalculator.singleton.infer(value)\n       raise Types::TypeAssertionError.new(\"#{yield} has wrong type, expects Puppet::LookupValue, got #{actual_type}\", DataProvider.value_type, actual_type)\n     end\n+print \"data_provider.rb::validate_data_value::2 \", ::Time.now.to_f, \"\\n\"\n     value\n   end\n end\nEOF{code}\nRun with debug timestamps on 6.17.0:\n{code:java}\n$ time puppet lookup --hiera_config hiera.yaml hash1.hash2.hash3.key1\ndata_provider.rb::validate_data_value::1 1597847682.16178\ndata_provider.rb::validate_data_value::2 1597847689.6889844\n--- value1\nreal    0m9.819s\nuser    0m9.557s\nsys     0m0.261s{code}\nRun with debug timestamps on 4.10.12:\n{code:java}\n$ time puppet lookup --hiera_config hiera.yaml hash1.hash2.hash3.key1\ndata_provider.rb::validate_data_value::1 1597847876.923722\ndata_provider.rb::validate_data_value::2 1597847876.9429817\n--- value1\n...\nreal    0m2.206s\nuser    0m2.050s\nsys     0m0.151s\n{code}\nSlowdown from 19ms to 7.5s (390 times) on 2000 items.\n\n\u00a0\n\n\u00a0\n\nFor 4000 items - slowndown from 38ms to 31s (800 times)\n\n\u00a0", "environment": "Test configuration (2000 items hash):\n{code:java}\n$ cat > hiera.yaml <<EOF\n---\nversion: 5\ndefaults:\n  datadir: .\n  data_hash: yaml_data\nhierarchy:\n  - name: test\n    path: test.yaml\nEOF\n$ echo -e 'hash1:\\n  hash2:\\n    hash3:' > test.yaml\n$ for i in {1..2000}; do echo \"      key$i: value$i\" >> test.yaml ; done\n\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24477", "fixedVersions": ["PUP 5.5.22", "PUP 6.19.0"], "id": "24477", "issueType": "Bug", "key": "PUP-10628", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "62439ec7fd5e450070434992", "resolution": "Fixed", "resolutionDate": "2020-09-03T11:30:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Performance regression with large hashes using lookup", "timeSpent": "PT0S", "updated": "2020-10-12T07:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "557058:e0340dee-9d48-48c3-8c6a-02597af847c9", "body": "What's the use case for this?\n\nFrom what I'm seeing, it's a security violation based on pretty much any documentation that I can think of.\n\nBy default, even reports should not be accessible to *all* users. If you want to share this information, it should be isolated to a specific group and then users should be added to that group for access.", "created": "2020-10-27T13:11:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/99355131bcdee5b2a205a92572af0da134020d16", "created": "2020-10-27T17:32:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The description was slightly misleading. Only the {{last_run_summary.yaml}} is written to the public directory, not reports or anything else from the state directory. The summary contains info such as:\n\n{code:yaml}\n---\nversion:\n  config: 1603825976\n  puppet: 6.20.0\nresources:\n  changed: 0\n  corrective_change: 0\n  failed: 0\n  failed_to_restart: 0\n  out_of_sync: 0\n  restarted: 0\n  scheduled: 0\n  skipped: 0\n  total: 7\ntime:\n  catalog_application: 0.010459000244736671\n  config_retrieval: 0.1759160002693534\n  convert_catalog: 0.021530000492930412\n  fact_generation: 1.5078099993988872\n  filebucket: 7.0e-05\n  node_retrieval: 0.10805199947208166\n  plugin_sync: 0.0966600002720952\n  schedule: 0.000407\n  startup_time: 0.395959\n  total: 2.319386\n  transaction_evaluation: 0.007814999669790268\n  last_run: 1603825976\nchanges:\n  total: 0\nevents:\n  failure: 0\n  success: 0\n  total: 0\n{code}\n\nThat said, we may want to set the default permissions of {{last_run_summary.yaml}} to [{{0640}}|https://github.com/puppetlabs/puppet/blob/06b7b17319da0906e77f3d2e3e40fe0ee2666337/lib/puppet/defaults.rb#L1772] and if folks want to make it visible to publicly, such as for monitoring, then they could specify the mode in puppet.conf:\n\n{code:ini}\n [main]\n last_run_summary = $publicdir/last_run_summary.yaml { mode = 0644 }\n{code}\n\nThoughts?", "created": "2020-10-27T17:38:00.000000"}, {"author": "557058:e0340dee-9d48-48c3-8c6a-02597af847c9", "body": "[~accountid:63d40628f6e1b543161789a7] That information is sufficient to provide data as to how well automated/secured the system is over time ({{noop}}, etc...), what version (potentially exploitable) of puppet is being run, and the general load of the system.\n\nNone of this information should be exposed by default to anyone besides {{root}}. Start locked down and allow for loosening restrictions if at all possible.\n\nTo me, this information is like a system log. You don't expose your system logs to all users but you may allow some users, by group, to access certain logs for their job functions.", "created": "2020-10-28T05:52:00.000000"}, {"author": "623c12ff94742a00683e41fd", "body": "Great catch [~accountid:557058:e0340dee-9d48-48c3-8c6a-02597af847c9]! Opened https://github.com/puppetlabs/puppet/pull/8433 for this.", "created": "2020-11-04T03:36:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Follow up PR merged to main in https://github.com/puppetlabs/puppet/commit/f664d6a21656f80b54b396529c84ee7e24108921", "created": "2020-11-04T10:24:00.000000"}, {"author": "557058:9d1d227b-434f-481d-8279-a026a8ca4bbd", "body": "Came across this since the initial request that put the file here was PA-3253 and that created the \"public\" directory, now we have 0640 files in a public directory, which doesnt seem like the right thing to do and again makes it so that monitoring the puppet system can only be done as root?", "created": "2021-05-13T04:21:00.000000"}, {"author": "557058:dca64d54-09f0-4382-bfcb-be39b7f1090a", "body": "It's very concerning that this \"improvement\" request was implemented without a second thought. 755 and 644 on a file that could get someone hacked? People are trusting your software to run on their systems, and careless changes like this erode that trust really quickly. It wasn't a \"great catch\" by Trevor, it was common sense.\u00a0\n\nPlease keep in mind that people use puppet to install software, and that software has an attack surface. If a hacker gains a limited shell on the machine and sees that puppet is running an outdated and vulnerable version then that is an easy way to escalate privileges.", "created": "2021-05-14T14:34:00.000000"}, {"author": "557058:9d1d227b-434f-481d-8279-a026a8ca4bbd", "body": "The file was not executable.\n\nIt doesn\u2019t indicate what the load of the system is and there are far simpler ways to determine what version of puppet is being run.\n\nIt holds SIGNIFICANTLY less information than a report - as a response to \u201cby default even reports should be accessible\u201d. You are right which is why they are not. This summary file is not nearly as big a deal as suggested here. And those who are in highly controlled environments are used to tightening things down. This file has a very useful utility - and that is so that monitoring tools monitoring the health of puppet does not need to be run as root.", "created": "2021-05-14T14:54:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:9d1d227b-434f-481d-8279-a026a8ca4bbd] I think you meant \"by default even reports should *NOT* be accessible?\n\n[~accountid:557058:dca64d54-09f0-4382-bfcb-be39b7f1090a] The reason for the path change is because the old parent directory {{/opt/puppetlabs/puppet/cache}} is not read/executable by {{other}}. So in order to make the {{last_run_summary.yaml}} readable by monitoring software, you'd have to relax the permissions on the parent {{cache}} as well. But that directory can contain sensitive information {{last_run_report.yaml}}, so a bigger change was required.\n\nThe new {{public}} directory is read/executable by other, but the {{last_run_summary.yaml}} file is not readable, because we are following secure by default practices. If you are an advanced user and want to allow a specific user/group access to the summary file, then it's up to you.\n\nI understand the concern around the version number and correlating that with known exploits, but the version number is not a secret. It's literally one command away:\n\n{noformat}\n$ cat /opt/puppetlabs/puppet/VERSION\n7.6.1\n{noformat}\n\nand there are about 6 other ways to get the same information.\n\nAlso know that this feature wasn't \"implemented without a second thought.\" We actually did put a lot of thought into this, but sometimes oversights happen, and we welcome feedback.", "created": "2021-05-14T17:22:00.000000"}, {"author": "557058:dca64d54-09f0-4382-bfcb-be39b7f1090a", "body": "[~accountid:63d40628f6e1b543161789a7]\u00a0Thanks for the quick response. I did see that the original 644 change was caught and changed to 640, which is fine. I was more concerned about the original 644 permission. Fair point about the version being accessible elsewhere, although some of the other info in the file such as failed runs and last_run is a bit sensitive as well. Honestly, I was less concerned about the somewhat-sensitive information in the file, and more concerned with the permissions that the file was given. It's just a bad look, you know? It made me wonder, \"What else on my system has similar permissions that I didn't happen to read about in the change logs?\"", "created": "2021-05-14T17:55:00.000000"}, {"author": "557058:9d1d227b-434f-481d-8279-a026a8ca4bbd", "body": "Yeah, sorry I copied down from Trevor incorrectly, indeed reports should be not be accessible as they hold vast troves of information. But the point I was making was that I agree with Trevor about needing to be super selective - and we are being so by creating this directory and putting one file in there.\u00a0\n\nThe whole reason this public directory was even made was due to the request - by many people over the years - to restore last run summary to world readable as it was in the distant past. It was great to see that was done as it solved a security issue for many enabling monitoring as non root. The ability to control file modes in config files is known by very few people ime based on chat history etc\n\nnow we are back where we started - hard to use defaults for the majority average users. And more confusingly a public directory that holds a non public file\u00a0", "created": "2021-05-14T22:54:00.000000"}, {"author": "557058:dca64d54-09f0-4382-bfcb-be39b7f1090a", "body": "[~accountid:557058:9d1d227b-434f-481d-8279-a026a8ca4bbd]\u00a0>\u00a0The ability to control file modes in config files is known by very few people ime based on chat history etc\n\nI hate to sound like an elitist jerk, but why should other people's ignorance dictate how a product is secured by default? It begs the question, how far are we willing to go to accomodate the weakest link? If someone doesn't understand how groups work, then in my opinion they shouldn't be anywhere near puppet code that will presumably be run on many systems.", "created": "2021-05-17T07:24:00.000000"}, {"author": "557058:9d1d227b-434f-481d-8279-a026a8ca4bbd", "body": "The product is secure, the information in this file is not a security risk for the vast number of users.\u00a0 Those who function in repressive security environments can carry the cost associated with learning every minute detail and tweaking it all to their exact needs - as they already do for everything they use.\u00a0 Leaving sane defaults for the majority of users.\n\n\u00a0\n\nThats why this directory was made to specifically make it easy and obvious where and what puppet is providing as public - the problem is a) a file in there is not public b) it's not public because 1 user decided its a risk while 10s felt its good use to make that data public.\n\nWhen picking defaults its common for those to be picked in a way to serve the majority and then allow the minorities who do need things at a much more restrictive level to adjust things.\n\nCatering to new users with sane defaults the promote a safe use of the product is not their \"ignorance\", it's just how new users are and how people who do not make a product their entire life exist. It's a careful balance in product design. Another tenet of product design is that of consistency and obviousness and now we have a non public file in a public directory which is not consistent or obvious.\n\nAnd yes, every response by you so far has been that of a Jerk [~accountid:557058:dca64d54-09f0-4382-bfcb-be39b7f1090a] I'd appreciate if you can tone it down a bit to a more civil level. It would also help if you didnt edit out entire comments so that when people respond to you others can see what the responses are about.\n\n\u00a0", "created": "2021-05-18T01:58:00.000000"}, {"author": "557058:59af4a7d-2deb-40f0-904d-0d47ef61ad04", "body": "I have tried to make the last_run_summary.yaml public by adding the following to puppet.conf (as per the [7.0.0 release notes|https://puppet.com/docs/puppet/7/release_notes_puppet.html#new_features_puppet_7-0-0]):\n{code:java}\n[agent]\nlastrunsummary = $publicdir/last_run_summary.yaml { owner = root, group = root, mode = 0644 }\n{code}\n\u00a0\n\nBut it makes no difference. I have restarted the agent and replaced $publicdir with the actual value but nothing changes about the file when the agent runs. What am I doing wrong?", "created": "2021-08-09T01:00:00.000000"}, {"author": "623c12ff94742a00683e41fd", "body": "[~accountid:557058:59af4a7d-2deb-40f0-904d-0d47ef61ad04], a bit confusing, I know, but it's actually called [lastrunfile|https://puppet.com/docs/puppet/7/configuration.html#lastrunfile]. Running *puppet config print* shows all the available settings.", "created": "2021-08-09T02:16:00.000000"}, {"author": "557058:59af4a7d-2deb-40f0-904d-0d47ef61ad04", "body": "Thanks [~accountid:623c12ff94742a00683e41fd]. Explains why I couldn't find the lastrunsummary setting mentioned in the release notes.\n\nAlso, the docs you linked to have a mistake I think. For lastrunfile it says the default is in $statedir, I think that should be $publicdir. ", "created": "2021-08-09T12:41:00.000000"}], "components": [], "created": "2020-08-19T03:31:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@207c363f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03rhy:8"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "A new folder named `public`, with 0755 access rights, has been added and is now the default location for the 'last_run_summary.yaml' report which now has `640` file permissions."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_590933521_*|*_1_*:*_1_*:*_16242_*|*_10007_*:*_1_*:*_620534010_*|*_3_*:*_1_*:*_572046761_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_23621723"}], "description": "Puppet needs a new folder called `public` which should be accessible by everyone (public user class) and have the public puppet files such as last run summary (without sensitive data in them) stored there. Default location proposed is `/opt/puppetlabs/puppet/public` on Linux and `C:\\ProgramData\\PuppetLabs\\puppet\\public` on Microsoft Windows. Both the folder and containing files should have `0755` (rwxr-xr-x) permissions set. Installation/upgrade of puppet-agent should ensure the existence of this folder.\n\nCustom path for this folder should be possible through custom settings in `puppet.conf` or using the `puppet config set publicdir <custom_path>` cli command. Current implementation should only include the `last_run_summary.yaml` file in said folder (which is currently located in `/opt/puppetlabs/puppet/cache/state` on Linux and `C:\\ProgramData\\PuppetLabs\\puppet\\cache\\state` on Microsoft Windows).\n\nChanges needed in Puppet Agent (regarding the new cli parameter setting and folder packaging) should be covered in PA-3253.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25497", "fixedVersions": ["PUP 7.0.0"], "id": "25497", "issueType": "Improvement", "key": "PUP-10627", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Fixed", "resolutionDate": "2020-09-09T01:30:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "write public information to puppet_dir/public", "timeSpent": "PT0S", "updated": "2021-08-09T12:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "623c0dfe50bb2b0070b6b0b3", "created": "2020-08-24T03:40:00.000000", "name": "puppet.conf", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11789"}, {"attacher": "623c0dfe50bb2b0070b6b0b3", "created": "2020-08-24T03:40:00.000000", "name": "trace.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11866"}], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:623c0dfe50bb2b0070b6b0b3]\u00a0could you run with {{--trace}} and include the backtrace? Also can you include the {{puppet.conf}} on the node where you're running {{puppet node}}? I'm guessing this is related to http client changes in puppet, but the deactivate action comes from the puppetdb repo, so it could be a combination of things. /cc [~accountid:557058:613151bd-b161-4bc3-9e32-335fdcef4d89]", "created": "2020-08-20T11:18:00.000000"}, {"author": "623c0dfe50bb2b0070b6b0b3", "body": "Thanks for replying,\n\nA bit more info.\n\nIt seems to be more to do with CRL download then certificate revoke.\n\nAttached configuration and trace of a node deactivate.\n\nIt's probably also worth adding that\u00a0\n\npuppet agent -t -v\n\nresults in a warning.\n\nInfo: Certificate revocation is disabled, skipping CRL download and checking\u00a0\n\npuppet agent --genconfig | grep certificate_revoca\n\ncertificate_revocation = false\n\nwhich is guess default for\u00a0 agent section of configuration file.\n\nNow\u00a0\n\npuppet node deactivate webafs617.cern.ch\n\ndoes work if I explicitly add\u00a0\n\n\u00a0\n\npuppet node deactivate webafs617.cern.ch\n\ncertificate_revocation = false\n\nto the main section.\n\nSo if anything the only problem is that default value for puppet agent\u00a0 and puppet node deactivate seems to be different.\n\nIn real life not actual problem here for us. We can set \"certificate_revocation = false\" . We shoudl probably actually enable\u00a0 CRLs of course\nbut that is a different problem.\n\n\u00a0\n\n\u00a0\n\n\u00a0\n\n\u00a0\n\n[^puppet.conf]\u00a0\u00a0[^trace.txt]\n\n\u00a0\n\n\u00a0\n\n\u00a0\n\n\u00a0\n\n\u00a0\n\n\u00a0\n\n\u00a0\n\n\u00a0\n\n\u00a0\n\n\u00a0", "created": "2020-08-24T03:43:00.000000"}, {"author": "623c0dfe50bb2b0070b6b0b3", "body": "Close this.", "created": "2020-09-07T02:02:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Ok, thanks for letting us know!", "created": "2020-09-08T23:20:00.000000"}], "components": [], "created": "2020-08-19T03:08:00.000000", "creator": "623c0dfe50bb2b0070b6b0b3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7536f0e8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03o00:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1800733282_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:\u00a06.15.0*\n *Puppet Server Version:\u00a06.11.1*\n *OS Name/Version: CentOS 7*\n\nWhen using an external certificate authority it's assumed that a working \n puppet-ca endpoint is not required.\n\nHowever {{puppet node deactivate}} always attempts a revocation and fails\n as a result.\n\n*Desired Behavior:*\n\n{{puppet node deactivate foo.example.org}} should delete node from PDB as is the case with puppetdb 5\n\n*Actual Behavior:*\n\nWith puppet 6\n{noformat}puppet node deactivate b7g19n0014.cern.ch\nError: Request to https://puppet:8140/puppet-ca/v1 failed after 0.004 seconds: Failed to open TCP connection to puppet:8140 (getaddrinfo: Name or service not known)\nWrapped exception:\n{noformat}\nwe have no configuration for ca_server so default puppet is chosen.\n\nFor info we are running pupetserver with:\n{noformat}# cat /etc/puppetlabs/puppetserver/services.d/ca.cfg \npuppetlabs.services.ca.certificate-authority-disabled-service/certificate-authority-disabled-service\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21391", "fixedVersions": [], "id": "21391", "issueType": "Bug", "key": "PUP-10626", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0dfe50bb2b0070b6b0b3", "resolution": "Incomplete", "resolutionDate": "2020-09-08T23:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "puppet node deactivate and external CA - cert revocation can't be disabled", "timeSpent": "PT0S", "updated": "2020-09-08T23:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/507d8cc1c1ae0cfdcb7f3f2f33faef985058e225", "created": "2020-08-21T16:01:00.000000"}], "components": [], "created": "2020-08-18T02:32:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@48dbe497"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03n54:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The minimum Ruby version required to run Puppet was updated to 2.5 for Puppet 7"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_292643514_*|*_1_*:*_1_*:*_22800093_*|*_10007_*:*_1_*:*_36359545_*|*_3_*:*_1_*:*_164649857_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_83905887"}], "description": "On Platform 7 we will no longer support versions of Ruby that have gone end of life: 2.3 and 2.4.\n\nTo achieve this we need to do the following on the Puppet main stream:\n * update the Puppet gemspec: [https://github.com/puppetlabs/puppet/blob/main/.gemspec#L21]\n * update the Travis configuration:\u00a0https://github.com/puppetlabs/puppet/blob/main/.travis.yml\n * update project_data:\u00a0https://github.com/puppetlabs/puppet/blob/main/ext/project_data.yaml#L17", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28620", "fixedVersions": ["PUP 7.0.0"], "id": "28620", "issueType": "Task", "key": "PUP-10625", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Fixed", "resolutionDate": "2020-08-25T01:18:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Bump minimum required version to Ruby 2.5", "timeSpent": "PT0S", "updated": "2020-11-09T09:44:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in https://github.com/puppetlabs/puppet/commit/12956c616dcf2c7cf070776ee796e2e907363c6c", "created": "2020-08-21T16:03:00.000000"}], "components": [], "created": "2020-08-18T02:20:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@352b0166"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03n4w:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The Locker#running? method is still in use and it was decided to keep it, remove deprecation message"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_466120504_*|*_1_*:*_1_*:*_23439686_*|*_10007_*:*_1_*:*_121433264_*|*_3_*:*_1_*:*_2329628_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_161331345"}], "description": "Puppet::Agent::Locker#running? is still being used. We do not plan to remove it from Platform 7.\n\nWe need to remove the deprecation warning from Puppet 6.x.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26620", "fixedVersions": ["PUP 6.19.0"], "id": "26620", "issueType": "Task", "key": "PUP-10624", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Fixed", "resolutionDate": "2020-08-27T01:31:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet::Agent::Locker#running? deprecation warning", "timeSpent": "PT0S", "updated": "2020-10-12T07:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [], "components": [], "created": "2020-08-17T08:45:00.000000", "creator": "5b9fcedc03b52466f05c4510", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@fd38a9b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03lu0:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_19632_*|*_1_*:*_1_*:*_86704445_*|*_10007_*:*_1_*:*_500217788_*|*_3_*:*_1_*:*_163323811_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_87668999"}], "description": "EOL platforms:\nEl-5-x86_64/centos-5\nDebian-8-x86_64\nSLES-11-x86_64\nSolaris-10-i386\nSolaris-10-x86_64\nSolaris-10-sparc\nUbuntu-14-04-x86_64\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22306", "fixedVersions": ["PUP 7.0.0"], "id": "22306", "issueType": "Task", "key": "PUP-10623", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5b9fcedc03b52466f05c4510", "resolution": "Fixed", "resolutionDate": "2020-08-27T01:31:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Audit acceptance tests and remove confines to EOL platforms", "timeSpent": "PT0S", "updated": "2021-06-10T23:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [{"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Hi [~accountid:623c16e6a2f6400069eb7e2d],\n\nWe managed to narrow down the issue to a specific function call in win32-dir, and opened a PR to fix the issue: [https://github.com/chef/win32-dir/pull/28]\n\nAs a side note, our next major release, Puppet 7, no longer has a dependency on win32-dir so it's not affected by the issue described in the ticket. Puppet 7 has not been officially released yet, but nightly builds are available here: http://nightlies.puppet.com/downloads/windows/puppet7-nightly/", "created": "2020-09-25T08:11:00.000000"}, {"author": "623c16e6a2f6400069eb7e2d", "body": "[~accountid:70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56] Thanks for the analysis. From my side, this issue can be closed then. ", "created": "2020-10-02T00:12:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Closing the ticket as the reporter requested. If/when our PR on win32-dir is merged we will bump the gem in puppet-agent.", "created": "2020-10-06T06:06:00.000000"}], "components": ["Windows"], "created": "2020-08-17T02:58:00.000000", "creator": "623c16e6a2f6400069eb7e2d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4e5f90a1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzffl0:9"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Sep/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_107403349_*|*_3_*:*_1_*:*_600596977_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_430009267_*|*_10005_*:*_1_*:*_3193250707"}], "description": "*Puppet Version:* 6.17\n*Puppet Server Version:* -\n*OS Name/Version:* Windows 10 x64 (2004)\n\nIn my company someone (more paranoid) in the IT department decided that on all of our machines the Windows exploit protection settings have to be changed to:\n\n* Randomize memory allocations (Bottom-up ASLR): On by default\n* High-entropy ASLR: On by default\n\nWith these settings enabled, running even the simplest puppet commands (like `puppet --version`) fails with a segmentation fault:\n\n{code}\n$ puppet --version\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/win32-dir-0.4.9/lib/win32/dir.rb:84: [BUG] Segmentation fault\nruby 2.5.8p224 (2020-03-31 revision 67882) [x64-mingw32]\n\n-- Control frame information -----------------------------------------------\nc:0034 p:---- s:0203 e:000202 CFUNC  :initialize\nc:0033 p:---- s:0200 e:000199 CFUNC  :new\nc:0032 p:0089 s:0195 e:000194 BLOCK  C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/win32-dir-0.4.9/lib/win32/dir.rb:84 [FINISH]\nc:0031 p:---- s:0185 e:000184 CFUNC  :each\nc:0030 p:0288 s:0181 e:000180 CLASS  C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/win32-dir-0.4.9/lib/win32/dir.rb:74\nc:0029 p:0028 s:0177 e:000176 TOP    C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/win32-dir-0.4.9/lib/win32/dir.rb:5 [FINISH]\nc:0028 p:---- s:0174 e:000173 CFUNC  :require\nc:0027 p:0091 s:0169 e:000168 RESCUE C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:135\nc:0026 p:0378 s:0165 e:000164 METHOD C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:39\nc:0025 p:0103 s:0153 e:000152 CLASS  C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows.rb:29\nc:0024 p:0021 s:0150 e:000149 TOP    C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows.rb:2 [FINISH]\nc:0023 p:---- s:0147 e:000146 CFUNC  :require\nc:0022 p:0110 s:0142 e:000141 METHOD C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59\nc:0021 p:0013 s:0130 e:000129 TOP    C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/file_system/windows.rb:2 [FINISH]\nc:0020 p:---- s:0127 e:000126 CFUNC  :require\nc:0019 p:0110 s:0122 e:000121 METHOD C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59\nc:0018 p:0064 s:0110 e:000109 CLASS  C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/file_system.rb:11\nc:0017 p:0012 s:0107 e:000106 TOP    C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/file_system.rb:1 [FINISH]\nc:0016 p:---- s:0104 e:000103 CFUNC  :require\nc:0015 p:0110 s:0099 e:000098 METHOD C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59\nc:0014 p:0006 s:0087 e:000086 TOP    C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/file_system/uniquefile.rb:1 [FINISH]\nc:0013 p:---- s:0084 e:000083 CFUNC  :require\nc:0012 p:0110 s:0079 e:000078 METHOD C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59\nc:0011 p:0062 s:0067 e:000066 TOP    C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util.rb:11 [FINISH]\nc:0010 p:---- s:0064 e:000063 CFUNC  :require\nc:0009 p:0110 s:0059 e:000058 METHOD C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59\nc:0008 p:0161 s:0047 e:000046 TOP    C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet.rb:17 [FINISH]\nc:0007 p:---- s:0044 e:000043 CFUNC  :require\nc:0006 p:0110 s:0039 e:000038 METHOD C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59\nc:0005 p:0025 s:0027 e:000026 TOP    C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:12 [FINISH]\nc:0004 p:---- s:0024 e:000023 CFUNC  :require\nc:0003 p:0110 s:0019 e:000018 METHOD C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59\nc:0002 p:0006 s:0007 E:0013d8 EVAL   C:/Program Files/Puppet Labs/Puppet/puppet/bin/puppet:3 [FINISH]\nc:0001 p:0000 s:0003 E:000860 (none) [FINISH]\n\n-- Ruby level backtrace information ----------------------------------------\nC:/Program Files/Puppet Labs/Puppet/puppet/bin/puppet:3:in `<main>'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:12:in `<top (required)>'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet.rb:17:in `<top (required)>'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util.rb:11:in `<top (required)>'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/file_system/uniquefile.rb:1:in `<top (required)>'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/file_system.rb:1:in `<top (required)>'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/file_system.rb:11:in `<module:FileSystem>'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/file_system/windows.rb:2:in `<top (required)>'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows.rb:2:in `<top (required)>'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows.rb:29:in `<module:Windows>'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:39:in `require'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:135:in `rescue in require'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:135:in `require'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/win32-dir-0.4.9/lib/win32/dir.rb:5:in `<top (required)>'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/win32-dir-0.4.9/lib/win32/dir.rb:74:in `<class:Dir>'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/win32-dir-0.4.9/lib/win32/dir.rb:74:in `each'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/win32-dir-0.4.9/lib/win32/dir.rb:84:in `block in <class:Dir>'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/win32-dir-0.4.9/lib/win32/dir.rb:84:in `new'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/win32-dir-0.4.9/lib/win32/dir.rb:84:in `initialize'\n\n-- C level backtrace information -------------------------------------------\nC:\\WINDOWS\\SYSTEM32\\ntdll.dll(ZwWaitForSingleObject+0x14) [0x00007FFD576CBE44]\nC:\\WINDOWS\\System32\\KERNELBASE.dll(WaitForSingleObjectEx+0x8e) [0x00007FFD551E26EE]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_bugreport+0xa7) [0x000000006BB59367]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_bug_context+0x6b) [0x000000006B9D26AB]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_check_safe_obj+0x439) [0x000000006BACB4B9]\n [0x00000000004023A3]\nC:\\WINDOWS\\System32\\msvcrt.dll(_C_specific_handler+0x98) [0x00007FFD57317FF8]\nC:\\WINDOWS\\SYSTEM32\\ntdll.dll(_chkstk+0x11f) [0x00007FFD576D111F]\nC:\\WINDOWS\\SYSTEM32\\ntdll.dll(RtlRaiseException+0x434) [0x00007FFD5767B474]\nC:\\WINDOWS\\SYSTEM32\\ntdll.dll(KiUserExceptionDispatcher+0x2e) [0x00007FFD576CFC4E]\nC:\\WINDOWS\\System32\\msvcrt.dll(memset+0x56) [0x00007FFD573646D6]\n [0x000000006AD6C68D]\n [0x000000006AD6C8A2]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_eval_string+0x2e1) [0x000000006BB4BB51]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_call+0x584) [0x000000006BB4C494]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_funcallv+0x3a) [0x000000006BB4CB7A]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_undefined_alloc+0x1dd) [0x000000006BA4B6FD]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_error_arity+0x123) [0x000000006BB3C743]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_invoke_proc+0x810) [0x000000006BB4A990]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_localjump_error+0x2e46) [0x000000006BB45876]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_localjump_error+0x6b84) [0x000000006BB495B4]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_localjump_error+0x7465) [0x000000006BB49E95]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_yield_values2+0xd5) [0x000000006BB51495]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_hash_has_key+0x38e) [0x000000006B9F935E]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_hash_values+0x109e) [0x000000006B9FA4CE]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(st_foreach_check+0x74) [0x000000006BAD6314]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_hash_values+0x1034) [0x000000006B9FA464]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_ensure+0x180) [0x000000006B9DDAC0]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_hash_select+0x200) [0x000000006B9FF730]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_error_arity+0x123) [0x000000006BB3C743]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_invoke_proc+0x810) [0x000000006BB4A990]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_localjump_error+0x2c45) [0x000000006BB45675]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_localjump_error+0x6b84) [0x000000006BB495B4]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_iseqw_local_variables+0xc81) [0x000000006BA24C11]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_require_internal+0x612) [0x000000006BA266F2]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_f_require+0x20) [0x000000006BA26940]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_error_arity+0x123) [0x000000006BB3C743]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_localjump_error+0x2e46) [0x000000006BB45876]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_localjump_error+0x6b84) [0x000000006BB495B4]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_iseqw_local_variables+0xc81) [0x000000006BA24C11]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_require_internal+0x612) [0x000000006BA266F2]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_f_require+0x20) [0x000000006BA26940]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_error_arity+0x123) [0x000000006BB3C743]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_localjump_error+0x2e46) [0x000000006BB45876]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_localjump_error+0x6b84) [0x000000006BB495B4]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_iseqw_local_variables+0xc81) [0x000000006BA24C11]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_require_internal+0x612) [0x000000006BA266F2]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_f_require+0x20) [0x000000006BA26940]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_error_arity+0x123) [0x000000006BB3C743]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_localjump_error+0x2e46) [0x000000006BB45876]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_localjump_error+0x6b84) [0x000000006BB495B4]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_iseqw_local_variables+0xc81) [0x000000006BA24C11]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_require_internal+0x612) [0x000000006BA266F2]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_f_require+0x20) [0x000000006BA26940]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_error_arity+0x123) [0x000000006BB3C743]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_localjump_error+0x2e46) [0x000000006BB45876]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_localjump_error+0x6b84) [0x000000006BB495B4]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_iseqw_local_variables+0xc81) [0x000000006BA24C11]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_require_internal+0x612) [0x000000006BA266F2]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_f_require+0x20) [0x000000006BA26940]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_error_arity+0x123) [0x000000006BB3C743]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_localjump_error+0x2e46) [0x000000006BB45876]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_localjump_error+0x6b84) [0x000000006BB495B4]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_iseqw_local_variables+0xc81) [0x000000006BA24C11]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_require_internal+0x612) [0x000000006BA266F2]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_f_require+0x20) [0x000000006BA26940]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_error_arity+0x123) [0x000000006BB3C743]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_localjump_error+0x2e46) [0x000000006BB45876]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_localjump_error+0x6b84) [0x000000006BB495B4]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_iseqw_local_variables+0xc81) [0x000000006BA24C11]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_require_internal+0x612) [0x000000006BA266F2]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_f_require+0x20) [0x000000006BA26940]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_error_arity+0x123) [0x000000006BB3C743]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_localjump_error+0x2e46) [0x000000006BB45876]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_localjump_error+0x6b84) [0x000000006BB495B4]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_iseqw_local_variables+0xc81) [0x000000006BA24C11]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_require_internal+0x612) [0x000000006BA266F2]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_f_require+0x20) [0x000000006BA26940]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_error_arity+0x123) [0x000000006BB3C743]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_localjump_error+0x2e46) [0x000000006BB45876]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_vm_localjump_error+0x6b84) [0x000000006BB495B4]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(rb_call_end_proc+0xf9) [0x000000006B9D8929]\nC:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\x64-msvcrt-ruby250.dll(ruby_run_node+0x4b) [0x000000006B9DCB8B]\n [0x0000000000402D44]\n [0x00000000004013E8]\n [0x000000000040151B]\nC:\\WINDOWS\\System32\\KERNEL32.DLL(BaseThreadInitThunk+0x14) [0x00007FFD56776FD4]\n\n-- Other runtime information -----------------------------------------------\n\n* Loaded script: C:/Program Files/Puppet Labs/Puppet/puppet/bin/puppet\n\n* Loaded features:\n\n    0 enumerator.so\n    1 thread.rb\n    2 rational.so\n    3 complex.so\n    4 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/x64-mingw32/enc/encdb.so\n    5 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/x64-mingw32/enc/trans/transdb.so\n    6 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/x64-mingw32/rbconfig.rb\n    7 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/compatibility.rb\n    8 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/defaults.rb\n    9 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/deprecate.rb\n   10 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/errors.rb\n   11 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/version.rb\n   12 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/requirement.rb\n   13 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/platform.rb\n   14 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/basic_specification.rb\n   15 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/stub_specification.rb\n   16 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/util/list.rb\n   17 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/x64-mingw32/stringio.so\n   18 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/uri/rfc2396_parser.rb\n   19 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/uri/rfc3986_parser.rb\n   20 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/uri/common.rb\n   21 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/uri/generic.rb\n   22 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/uri/ftp.rb\n   23 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/uri/http.rb\n   24 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/uri/https.rb\n   25 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/uri/ldap.rb\n   26 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/uri/ldaps.rb\n   27 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/uri/mailto.rb\n   28 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/uri.rb\n   29 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/specification.rb\n   30 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/exceptions.rb\n   31 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/defaults/operating_system.rb\n   32 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/dependency.rb\n   33 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_gem.rb\n   34 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/monitor.rb\n   35 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb\n   36 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems.rb\n   37 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/path_support.rb\n   38 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/did_you_mean-1.2.0/lib/did_you_mean/version.rb\n   39 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/did_you_mean-1.2.0/lib/did_you_mean/core_ext/name_error.rb\n   40 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/did_you_mean-1.2.0/lib/did_you_mean/levenshtein.rb\n   41 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/did_you_mean-1.2.0/lib/did_you_mean/jaro_winkler.rb\n   42 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/did_you_mean-1.2.0/lib/did_you_mean/spell_checker.rb\n   43 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/delegate.rb\n   44 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/did_you_mean-1.2.0/lib/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb\n   45 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/did_you_mean-1.2.0/lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb\n   46 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/did_you_mean-1.2.0/lib/did_you_mean/spell_checkers/name_error_checkers.rb\n   47 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/did_you_mean-1.2.0/lib/did_you_mean/spell_checkers/method_name_checker.rb\n   48 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/did_you_mean-1.2.0/lib/did_you_mean/spell_checkers/key_error_checker.rb\n   49 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/did_you_mean-1.2.0/lib/did_you_mean/spell_checkers/null_checker.rb\n   50 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/did_you_mean-1.2.0/lib/did_you_mean/formatters/plain_formatter.rb\n   51 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/did_you_mean-1.2.0/lib/did_you_mean.rb\n   52 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/version.rb\n   53 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/concurrent/synchronized.rb\n   54 C:/Program Files/Puppet Labs/Puppet/puppet/lib/facter.rb\n   55 C:/Program Files/Puppet Labs/Puppet/puppet/bin/libfacter.so\n   56 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/facter.rb\n   57 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/error.rb\n   58 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/English.rb\n   59 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/execution_stub.rb\n   60 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/x64-mingw32/pathname.so\n   61 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/pathname.rb\n   62 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/ostruct.rb\n   63 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/x64-mingw32/fiddle.so\n   64 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/fiddle/function.rb\n   65 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/fiddle/closure.rb\n   66 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/fiddle.rb\n   67 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/fiddle/value.rb\n   68 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/fiddle/pack.rb\n   69 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/fiddle/struct.rb\n   70 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/fiddle/cparser.rb\n   71 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/fiddle/import.rb\n   72 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/win32/importer.rb\n   73 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/x64-mingw32/enc/utf_16le.so\n   74 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/x64-mingw32/enc/trans/utf_16_32.so\n   75 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/win32/registry.rb\n   76 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/platform.rb\n   77 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/symbolic_file_mode.rb\n   78 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/file_system/path_pattern.rb\n   79 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/file_system/file_impl.rb\n   80 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/file_system/memory_file.rb\n   81 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/file_system/memory_impl.rb\n   82 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/file_system/posix.rb\n   83 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/Win32API.rb\n   84 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/x64-mingw32/win32ole.so\n   85 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/win32ole.rb\n   86 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/rubygems/bundler_version_finder.rb\n   87 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/ffi-1.9.25-x64-mingw32/lib/2.5/ffi_c.so\n   88 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/ffi-1.9.25-x64-mingw32/lib/ffi/platform.rb\n   89 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/ffi-1.9.25-x64-mingw32/lib/ffi/types.rb\n   90 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/ffi-1.9.25-x64-mingw32/lib/ffi/library.rb\n   91 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/ffi-1.9.25-x64-mingw32/lib/ffi/errno.rb\n   92 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/ffi-1.9.25-x64-mingw32/lib/ffi/pointer.rb\n   93 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/ffi-1.9.25-x64-mingw32/lib/ffi/memorypointer.rb\n   94 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/ffi-1.9.25-x64-mingw32/lib/ffi/struct_layout_builder.rb\n   95 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/ffi-1.9.25-x64-mingw32/lib/ffi/struct.rb\n   96 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/ffi-1.9.25-x64-mingw32/lib/ffi/union.rb\n   97 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/ffi-1.9.25-x64-mingw32/lib/ffi/managedstruct.rb\n   98 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/ffi-1.9.25-x64-mingw32/lib/ffi/callback.rb\n   99 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/ffi-1.9.25-x64-mingw32/lib/ffi/io.rb\n  100 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/ffi-1.9.25-x64-mingw32/lib/ffi/autopointer.rb\n  101 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/ffi-1.9.25-x64-mingw32/lib/ffi/variadic.rb\n  102 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/ffi-1.9.25-x64-mingw32/lib/ffi/enum.rb\n  103 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/ffi-1.9.25-x64-mingw32/lib/ffi/ffi.rb\n  104 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/ffi-1.9.25-x64-mingw32/lib/ffi.rb\n  105 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/win32-process-0.7.5/lib/win32/process/functions.rb\n  106 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/win32-process-0.7.5/lib/win32/process/constants.rb\n  107 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/win32-process-0.7.5/lib/win32/process/structs.rb\n  108 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/win32-process-0.7.5/lib/win32/process/helper.rb\n  109 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/win32-process-0.7.5/lib/win32/process.rb\n  110 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/win32-dir-0.4.9/lib/win32/dir/constants.rb\n  111 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/win32-dir-0.4.9/lib/win32/dir/functions.rb\n  112 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/win32-dir-0.4.9/lib/win32/dir/structs.rb\n  113 C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/x64-mingw32/enc/trans/single_byte.so\n\n[NOTE]\nYou may have encountered a bug in the Ruby interpreter or extension libraries.\nBug reports are welcome.\nFor details: http://www.ruby-lang.org/bugreport.html\n{code}\n\nYou can reproduce this problem by settings *both* settings mentioned above in the Exploit Protection settings (simply search for \"exploit\" in Windows search) to *On by default* (which apparently is different from \"Use default (On)\"), then reboot and then call `puppet --version`.\n\nNow I know that one can provide exceptions for these settings (although only at the \"ruby.exe\" level) but in my opinion Puppet should not just crash if these settings are applied (especially since it's not obvious why the crash is happening, especially when these exploit protection settings just get pushed to your device without the user knowing).\n\nAlso, I know (or at least guess) that the problem is actually in the win32-dir gem and not in Puppet itself. But it would be nice if you guys could handle the communication to the gem authors (as I'm no ruby developer and would need to learn ruby from scratch to provide a reproducer for the problem - and even then, Puppet is still using the out-dated version 0.4.9 of win32-dir, so Puppet would still need to update its internal gem).\n\n*Desired Behavior:* Puppet should work\n\n*Actual Behavior:* Puppet crashes\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25496", "fixedVersions": [], "id": "25496", "issueType": "Bug", "key": "PUP-10622", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c16e6a2f6400069eb7e2d", "resolution": "Won't Fix", "resolutionDate": "2020-10-06T06:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Segmentation fault on start whith high-entropy ASLR", "timeSpent": "PT0S", "updated": "2020-10-06T06:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "We don't have plans on fixing this anytime soon, so I'm going to close. Please reopen as needed.", "created": "2021-06-15T12:51:00.000000"}], "components": [], "created": "2020-08-16T05:26:00.000000", "creator": "557058:295d7a84-a09b-4348-8961-a1e1764c190e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@c2c907c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk67q:6"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_184767224_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_26021134914"}], "description": "*Puppet Version: 6.17.0\n*Puppet Server Version: 6.12.1\n*OS Name/Version: Windows 2019 French\n\nTest case failure on the following:\n* Test Case tests/windows/PUP-9719_windows_system_first_pa_run.rb\n* Test Case tests/windows/enable_password_changes_special_users.rb\n* Test line: tests/windows/enable_password_changes_special_users.rb\n\nSummary failures are below but all of these look to be either language or date formatting errors.\n\n{noformat}\n\n00:45:51.080 Errored Tests Cases:\n00:45:51.080   Test Case tests/windows/PUP-9719_windows_system_first_pa_run.rb reported: #<Beaker::Host::CommandFailure: Host 'ov463fsqczy5rqd' exited with 5 running:\n00:45:51.080  \n00:45:51.080         schtasks /create /tn PuppetSystemRun /RL HIGHEST /RU SYSTEM /F /SC ONCE /SD         08/16/2020 /ST 23:59 /TR         'cmd /c \"%ProgramFiles%\\Puppet Labs\\Puppet\\bin\\puppet.bat\" agent -t'\n00:45:51.080       \n00:45:51.080 Last 10 lines of output were:\n00:45:51.080 \tErreur : date de dbut incorrecte.>\n00:45:51.080     Test line: tests/windows/PUP-9719_windows_system_first_pa_run.rb:34:in `block (4 levels) in run_test'\n00:45:51.080   Test Case tests/windows/enable_password_changes_special_users.rb reported: #<Beaker::Host::CommandFailure: Host 'ov463fsqczy5rqd' exited with 2 running:\n00:45:51.080  cmd.exe /c net user pl536292 iP@ssword /expires:08/14/20 /add\n00:45:51.080 Last 10 lines of output were:\n00:45:51.080 \tFormat de date non autoris.\n00:45:51.080 \t\n00:45:51.080 \tVous obtiendrez une aide supplmentaire en entrant NET HELPMSG 3767.>\n00:45:51.080     Test line: tests/windows/enable_password_changes_special_users.rb:51:in `block (4 levels) in run_test'\n00:45:51.080   Test Case tests/resource/exec/should_run_command_in_cwd.rb reported: #<Beaker::Host::CommandFailure: Host 'ov463fsqczy5rqd' exited with 2 running:\n00:45:51.080  cmd.exe /c \"puppet apply C:/cygwin64/tmp/apply_manifest.pp.e0sACP --detailed-exitcodes\"\n00:45:51.080 Last 10 lines of output were:\n00:45:51.080 \tNotice: Compiled catalog for ov463fsqczy5rqd.ops.puppetlabs.net in environment production in 0.11 seconds\n00:45:51.080 \tNotice: /Stage[main]/Main/Exec[run_test_command]/returns: executed successfully\n00:45:51.080 \tNotice: Applied catalog in 0.10 seconds>\n00:45:51.080     Test line: tests/resource/exec/should_run_command_in_cwd.rb:155:in `block (4 levels) in run_test'\n\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28618", "fixedVersions": [], "id": "28618", "issueType": "Bug", "key": "PUP-10621", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:295d7a84-a09b-4348-8961-a1e1764c190e", "resolution": "Won't Fix", "resolutionDate": "2021-06-15T12:51:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Windows 2019 French Puppet Acceptance Test failures", "timeSpent": "PT0S", "updated": "2021-06-15T12:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "We haven't seen issues with this test in awhile, so I'm going to close this. Please reopen if it's still an issue.", "created": "2021-06-15T15:14:00.000000"}], "components": [], "created": "2020-08-16T05:16:00.000000", "creator": "557058:295d7a84-a09b-4348-8961-a1e1764c190e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5decd8cf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk67q:3"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_185295878_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_26029759947"}], "description": "*Puppet Version: 6.17.0\n*Puppet Server Version: 6.12.1\n*OS Name/Version: Windows - Various including Windows 8.1\n\nTest case failure on: tests/windows/enable_password_changes_special_users.rb\nRekicking the test suite - test passed ok.\n\nSee log extract at end of description.\n\nThis was found during imaging acceptance test runs during new windows image prep.\n\n\n*Desired Behavior: Test Passes\n\n\n*Actual Behavior: Test fails occasionally - passes on suite rekick\n\n\nPlease take a moment and attach any relevant log output and/or manifests. This will help us immensely when troubleshooting the issue.\n\n{noformat}\n00:51:59.312 Begin tests/windows/enable_password_changes_special_users.rb\n00:51:59.313 \n00:51:59.313 Puppet should change passwords for disabled, expired, or locked out Windows user accounts\n00:51:59.313   \n00:51:59.313   * Create a disabled user account\n00:51:59.313     \n00:51:59.313     e3tx2pftydfb0vy (e3tx2pftydfb0vy) 23:53:24$ cmd.exe /c net user pl909995 iP@ssword /active:no /add\n00:51:59.468       The command completed successfully.\n00:51:59.499     \n00:51:59.499     e3tx2pftydfb0vy (e3tx2pftydfb0vy) executed in 0.19 seconds\n00:51:59.499   \n00:51:59.499   * Change the disabled user account's password with puppet\n00:51:59.499     \n00:51:59.499     e3tx2pftydfb0vy (e3tx2pftydfb0vy) 23:53:24$ cygpath -m $(mktemp -t apply_manifest.pp.XXXXXX)\n00:51:59.687       C:/cygwin64/tmp/apply_manifest.pp.By3h5R\n00:51:59.702     \n00:51:59.702     e3tx2pftydfb0vy (e3tx2pftydfb0vy) executed in 0.20 seconds\n00:51:59.702     localhost $ scp /tmp/beaker20200815-9032-1akxg44 e3tx2pftydfb0vy:C:/cygwin64/tmp/apply_manifest.pp.By3h5R {:ignore => }\n00:51:59.968     \n00:51:59.968     e3tx2pftydfb0vy (e3tx2pftydfb0vy) 23:53:24$ cmd.exe /c puppet apply --verbose C:/cygwin64/tmp/apply_manifest.pp.By3h5R\n00:52:05.109       Notice: Compiled catalog for e3tx2pftydfb0vy.ops.puppetlabs.net in environment production in 0.03 seconds\n00:52:05.422       Info: Applying configuration version '1597560809'\n00:52:05.453       Info: User[pl909995](provider=windows_adsi): The user account 'pl909995' is disabled; The password will still be changed\n00:52:05.484       Notice: /Stage[main]/Main/User[pl909995]/password: changed [redacted] to [redacted]\n00:52:05.549       Notice: Applied catalog in 0.14 seconds\n00:52:05.688     \n00:52:05.688     e3tx2pftydfb0vy (e3tx2pftydfb0vy) executed in 5.72 seconds\n00:52:05.688   \n00:52:05.688   * Enabling the user account as the AccountManagement context can't verify disabled users\n00:52:05.688     \n00:52:05.688     e3tx2pftydfb0vy (e3tx2pftydfb0vy) 23:53:30$ cmd.exe /c net user pl909995 /active:yes\n00:52:05.859       The command completed successfully.\n00:52:05.874     \n00:52:05.874     e3tx2pftydfb0vy (e3tx2pftydfb0vy) executed in 0.19 seconds\n00:52:05.874   \n00:52:05.875   * Ensure the password was changed\n00:52:05.875     localhost $ scp /tmp/beaker20200815-9032-z75wl0 e3tx2pftydfb0vy:beaker_powershell_script_1597560810.ps1 {:ignore => }\n00:52:06.156     \n00:52:06.156     e3tx2pftydfb0vy (e3tx2pftydfb0vy) 23:53:30$ powershell.exe -ExecutionPolicy Bypass -InputFormat None -NoLogo -NoProfile -NonInteractive -File beaker_powershell_script_1597560810.ps1\n00:52:09.167       True\n00:52:09.230     \n00:52:09.230     e3tx2pftydfb0vy (e3tx2pftydfb0vy) executed in 3.07 seconds\n00:52:09.230   \n00:52:09.230   * Create an expired user account\n00:52:09.231     \n00:52:09.231     e3tx2pftydfb0vy (e3tx2pftydfb0vy) 23:53:33$ cmd.exe /c net user pl837418 iP@ssword /expires:08/14/20 /add\n00:52:09.390       The command completed successfully.\n00:52:09.422     \n00:52:09.422     e3tx2pftydfb0vy (e3tx2pftydfb0vy) executed in 0.19 seconds\n00:52:09.422   \n00:52:09.422   * Change the expired user's password with puppet\n00:52:09.422     \n00:52:09.422     e3tx2pftydfb0vy (e3tx2pftydfb0vy) 23:53:34$ cygpath -m $(mktemp -t apply_manifest.pp.XXXXXX)\n00:52:09.609       C:/cygwin64/tmp/apply_manifest.pp.IaLH74\n00:52:09.609     \n00:52:09.609     e3tx2pftydfb0vy (e3tx2pftydfb0vy) executed in 0.19 seconds\n00:52:09.610     localhost $ scp /tmp/beaker20200815-9032-1mhrht e3tx2pftydfb0vy:C:/cygwin64/tmp/apply_manifest.pp.IaLH74 {:ignore => }\n00:52:09.860     \n00:52:09.860     e3tx2pftydfb0vy (e3tx2pftydfb0vy) 23:53:34$ cmd.exe /c puppet apply --verbose C:/cygwin64/tmp/apply_manifest.pp.IaLH74\n00:52:15.016       Notice: Compiled catalog for e3tx2pftydfb0vy.ops.puppetlabs.net in environment production in 0.03 seconds\n00:52:15.328       Info: Applying configuration version '1597560819'\n00:52:15.375       Info: User[pl837418](provider=windows_adsi): The user account 'pl837418' is expired; The password will still be changed\n00:52:15.406       Notice: /Stage[main]/Main/User[pl837418]/password: changed [redacted] to [redacted]\n00:52:15.488       Notice: Applied catalog in 0.16 seconds\n00:52:15.641     \n00:52:15.641     e3tx2pftydfb0vy (e3tx2pftydfb0vy) executed in 5.78 seconds\n00:52:15.641   \n00:52:15.641   * Make expired user valid, as AccountManagement context can't verify expired user credentials\n00:52:15.641     \n00:52:15.641     e3tx2pftydfb0vy (e3tx2pftydfb0vy) 23:53:40$ cmd.exe /c net user pl837418 /expires:08/16/20\n00:52:15.813       The command completed successfully.\n00:52:15.813     \n00:52:15.813     e3tx2pftydfb0vy (e3tx2pftydfb0vy) executed in 0.17 seconds\n00:52:15.813     \n00:52:15.813     e3tx2pftydfb0vy (e3tx2pftydfb0vy) 23:53:40$ cmd.exe /c net user pl837418 /active:yes\n00:52:15.984       The command completed successfully.\n00:52:16.000     \n00:52:16.000     e3tx2pftydfb0vy (e3tx2pftydfb0vy) executed in 0.19 seconds\n00:52:16.000   \n00:52:16.000   * Ensure the password was changed\n00:52:16.000     localhost $ scp /tmp/beaker20200815-9032-1prtrop e3tx2pftydfb0vy:beaker_powershell_script_1597560820.ps1 {:ignore => }\n00:52:16.281     \n00:52:16.281     e3tx2pftydfb0vy (e3tx2pftydfb0vy) 23:53:41$ powershell.exe -ExecutionPolicy Bypass -InputFormat None -NoLogo -NoProfile -NonInteractive -File beaker_powershell_script_1597560820.ps1\n00:52:21.672       Exception calling \"ValidateCredentials\" with \"2\" argument(s): \"An extended \n00:52:21.672       error has occurred.\n00:52:21.672       \"\n00:52:21.672       At C:\\cygwin64\\home\\Administrator\\beaker_powershell_script_1597560820.ps1:3 \n00:52:21.672       char:3\n00:52:21.672       +   $ctx.ValidateCredentials(\"pl837418\", \"Password-287433\")\n00:52:21.672       +   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n00:52:21.672           + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException\n00:52:21.672           + FullyQualifiedErrorId : PrincipalOperationException\n00:52:21.672        \n00:52:21.766     \n00:52:21.766     e3tx2pftydfb0vy (e3tx2pftydfb0vy) executed in 5.48 seconds\n00:52:21.766 Minitest::Assertion: Expected the expired user account's password to be changed.\n00:52:21.766 Expected /True/ to match # encoding: US-ASCII\n00:52:21.766 #    valid: true\n00:52:21.766 \"\".\n00:52:21.768 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/assertions.rb:183\n00:52:21.769 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/assertions.rb:295\n00:52:21.769 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/lib/puppet/acceptance/windows_utils.rb:26\n00:52:21.769 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/tests/windows/enable_password_changes_special_users.rb:65\n00:52:21.769 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/gems/beaker-4.27.0/lib/beaker/dsl/structure.rb:44\n00:52:21.769 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/gems/beaker-4.27.0/lib/beaker/logger.rb:239\n00:52:21.769 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/gems/beaker-4.27.0/lib/beaker/dsl/structure.rb:43\n00:52:21.769 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/tests/windows/enable_password_changes_special_users.rb:64\n00:52:21.769 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/tests/windows/enable_password_changes_special_users.rb:28\n00:52:21.769 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/tests/windows/enable_password_changes_special_users.rb:28\n00:52:21.769 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/gems/beaker-4.27.0/lib/beaker/dsl/structure.rb:124\n00:52:21.769 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/gems/beaker-4.27.0/lib/beaker/logger.rb:239\n00:52:21.769 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/gems/beaker-4.27.0/lib/beaker/dsl/structure.rb:123\n00:52:21.769 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/tests/windows/enable_password_changes_special_users.rb:1\n00:52:21.769 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/gems/beaker-4.27.0/lib/beaker/test_case.rb:133\n00:52:21.769 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/gems/beaker-4.27.0/lib/beaker/test_case.rb:133\n00:52:21.769 /usr/local/rvm/rubies/ruby-2.7.1/lib/ruby/2.7.0/benchmark.rb:308\n00:52:21.769 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/gems/beaker-4.27.0/lib/beaker/test_case.rb:130\n00:52:21.769 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/gems/beaker-4.27.0/lib/beaker/test_suite.rb:66\n00:52:21.771 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/gems/beaker-4.27.0/lib/beaker/test_suite.rb:63\n00:52:21.771 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/gems/beaker-4.27.0/lib/beaker/test_suite.rb:63\n00:52:21.771 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/gems/beaker-4.27.0/lib/beaker/test_suite.rb:115\n00:52:21.771 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/gems/beaker-4.27.0/lib/beaker/cli.rb:192\n00:52:21.771 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/gems/beaker-4.27.0/lib/beaker/cli.rb:118\n00:52:21.771 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/gems/beaker-4.27.0/lib/beaker/subcommand.rb:199\n00:52:21.771 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/gems/thor-1.0.1/lib/thor/command.rb:27\n00:52:21.771 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/gems/thor-1.0.1/lib/thor/invocation.rb:127\n00:52:21.771 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/gems/thor-1.0.1/lib/thor.rb:392\n00:52:21.771 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/gems/thor-1.0.1/lib/thor/base.rb:485\n00:52:21.771 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/gems/beaker-4.27.0/bin/beaker:7\n00:52:21.771 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/bin/beaker:23\n00:52:21.771 /var/lib/jenkins/workspace/imaging_win-81_x86_64_vmware_vcenter.cygwin_run_pa_component_acceptance_tests_packer/puppet/acceptance/.bundle/gems/ruby/2.7.0/bin/beaker:23\n00:52:21.771 Begin teardown\n00:52:21.771 End teardown\n00:52:21.771 tests/windows/enable_password_changes_special_users.rb failed in 22.46 seconds\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27612", "fixedVersions": [], "id": "27612", "issueType": "Bug", "key": "PUP-10620", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:295d7a84-a09b-4348-8961-a1e1764c190e", "resolution": "Cannot Reproduce", "resolutionDate": "2021-06-15T15:14:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Spurious Acceptance test failure: enable_password_changes_special_users.rb", "timeSpent": "PT0S", "updated": "2021-06-15T15:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Keep the global and per-environment {{environment_timeout}} settings. Remove {{environment_timeout_mode}} setting. Change puppet's behavior so it always evicts environments always (0), never (unlimited), or some number of seconds since it was last used. The {{environment_timeout}} in the REST response, should continue reporting on the current timeout, which may have been set globally or per-environment.", "created": "2020-10-12T11:47:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/34f089db113b83fe12341762fe7277a7d2df5bc8", "created": "2020-10-16T10:58:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 1f93125183", "created": "2020-10-19T12:55:00.000000"}], "components": [], "created": "2020-08-14T12:17:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@d634852"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10593"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03lk0:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet no longer supports environment timeouts based on when the environment was created, as a result the \"environment_timeout_mode\" setting has been removed. In Puppet 7, the \"environment_timeout\" setting is always interpreted as \"0\" (never cache), \"unlimited\" (always cache), or some number of seconds from when the environment was last used."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_266229205_*|*_1_*:*_1_*:*_258561777_*|*_10007_*:*_1_*:*_233960746_*|*_3_*:*_1_*:*_283161395_*|*_10009_*:*_1_*:*_13157_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_4662762342"}], "description": "The {{environment_timeout}} setting is a less-than-ideal way of dealing with environment purging, because it doesn't take into account the actual usage patterns for any given environment, and forces the user to make a call on whether to accept longer load times (timeout of 0), inconsistent state between JRubies (a timeout between 0 and unlimited), and high memory usage (unlimited timeout).\n\nThe {{environment_timeout_mode}} setting was added in PUP-8014, and this ticket is to remove the setting and change the default (and only) behavior so that puppet evicts environments that haven't been used for a certain amount of time.", "epicLinkSummary": "Puppet 7 Server", "estimate": "PT0S", "externalId": "26619", "fixedVersions": ["PUP 7.0.0"], "id": "26619", "issueType": "Task", "key": "PUP-10619", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": "20311", "parentSummary": "Puppet 7 Server", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2020-10-19T12:55:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Remove `environment_timeout_mode` setting", "timeSpent": "PT0S", "updated": "2020-11-09T09:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/0af4e1b89564287a6d560588c0f512281badbc7c", "created": "2020-08-17T12:09:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master (6.x) in https://github.com/puppetlabs/puppet/commit/ee2f5756662a8a73ad291efc11ee417c5b532772", "created": "2020-08-17T13:49:00.000000"}], "components": [], "created": "2020-08-12T09:27:00.000000", "creator": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@169a854a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03juw:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Purely internal, no release notes needed"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_10598714_*|*_1_*:*_1_*:*_441735005_*|*_6_*:*_1_*:*_0"}], "description": "See https://github.com/puppetlabs/bolt/issues/2051 for details", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26618", "fixedVersions": ["PUP 6.18.0"], "id": "26618", "issueType": "Task", "key": "PUP-10618", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "resolution": "Fixed", "resolutionDate": "2020-08-17T15:05:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Use load_as_module? to determine whether to load a Bolt project as a module", "timeSpent": "PT0S", "updated": "2020-08-17T15:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The {{compiler}} service should expose a method for querying the simple status endpoint, and the {{server_list}} resolver should call that instead of making a \"raw\" HTTPS request.", "created": "2020-08-20T12:08:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in https://github.com/puppetlabs/puppet/commit/93fce9135e750c86bc57d64eed3bdc13f583a996", "created": "2020-08-26T10:21:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This causes failures if {{server_list}} is set and you run {{puppet ssl bootstrap}} from with an empty ssl directory:\n\n{noformat}\nDebug: Loading CA certs\nDebug: Loading CRLs\nDebug: Loading/generating private key\nDebug: Generating and submitting a CSR\nInfo: csr_attributes file loading from /etc/puppetlabs/puppet/csr_attributes.yaml\nInfo: Creating a new SSL certificate request for unwed-derelict.delivery.puppetlabs.net\nInfo: Certificate Request fingerprint (SHA256): 15:E8:87:8D:E9:91:D4:D2:F4:00:3F:8C:25:F5:68:8F:EF:5B:0B:25:47:55:B2:5F:FB:93:81:6D:C7:90:19:4F\nDebug: Resolving service 'ca' using Puppet::HTTP::Resolver::ServerList\nError: Failed to initialize SSL: The client certificate is missing from '/etc/puppetlabs/puppet/ssl/certs/unwed-derelict.delivery.puppetlabs.net.pem'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/x509/cert_provider.rb:250:in `load_client_cert'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/ssl/ssl_provider.rb:152:in `load_context'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:254:in `block in base_context'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:164:in `lookup'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:54:in `lookup'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:306:in `lookup'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/http/client.rb:400:in `resolve_ssl_context'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/http/client.rb:79:in `connect'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/http/client.rb:305:in `execute_streaming'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/http/client.rb:129:in `get'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/http/service/puppetserver.rb:27:in `get_simple_status'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/http/resolver/server_list.rb:63:in `block in resolve'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/http/resolver/server_list.rb:57:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/http/resolver/server_list.rb:57:in `resolve'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/http/session.rb:72:in `block in route_to'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/http/session.rb:70:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/http/session.rb:70:in `route_to'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/ssl/state_machine.rb:216:in `next_state'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/ssl/state_machine.rb:472:in `run_step'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/ssl/state_machine.rb:449:in `block in run_machine'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/ssl/state_machine.rb:448:in `loop'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/ssl/state_machine.rb:448:in `run_machine'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/ssl/state_machine.rb:418:in `ensure_client_certificate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/ssl.rb:143:in `main'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:390:in `run_command'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:382:in `block in run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:735:in `exit_on_fail'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:382:in `run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:143:in `run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:77:in `execute'\n/opt/puppetlabs/puppet/bin/puppet:5:in `<main>'\nError: Run `puppet agent -t`\nDebug: Unable to connect to server from server_list setting: Request to https://gold-quality.delivery.puppetlabs.net:8140/status/v1/simple/master failed after 0.002 seconds: The client certificate is missing from '/etc/puppetlabs/puppet/ssl/certs/unwed-derelict.delivery.puppetlabs.net.pem'\nError: Could not select a functional puppet master from server_list: 'gold-quality.delivery.puppetlabs.net'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/http/resolver/server_list.rb:78:in `resolve'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/http/session.rb:72:in `block in route_to'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/http/session.rb:70:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/http/session.rb:70:in `route_to'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/ssl/state_machine.rb:216:in `next_state'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/ssl/state_machine.rb:472:in `run_step'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/ssl/state_machine.rb:449:in `block in run_machine'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/ssl/state_machine.rb:448:in `loop'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/ssl/state_machine.rb:448:in `run_machine'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/ssl/state_machine.rb:418:in `ensure_client_certificate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/ssl.rb:143:in `main'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:390:in `run_command'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:382:in `block in run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:735:in `exit_on_fail'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:382:in `run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:143:in `run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:77:in `execute'\n/opt/puppetlabs/puppet/bin/puppet:5:in `<main>'\nInfo: Will try again in 120 seconds.\n{noformat}", "created": "2020-08-28T13:00:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Follow up merged to main in\u00a0[https://github.com/puppetlabs/puppet/commit/426e375a4bf0d08de1b84f0439f5259c6a415e11]", "created": "2020-08-29T12:26:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed in 426e375a4bf0d08de1b84f0439f5259c6a415e11. Waiting PE validation before resolving.", "created": "2020-08-31T12:34:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Backported above fix to 6.x in https://github.com/puppetlabs/puppet/commit/84755f8557cd84b2d1bf3f1f991e9e928d823880", "created": "2020-09-01T22:55:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed in 3b720e6e2e. Waiting for PE validation before resolving", "created": "2020-09-03T11:29:00.000000"}], "components": [], "created": "2020-08-12T08:00:00.000000", "creator": "623c098ea9575800695ac870", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@346c1b2f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03b7j:r"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "If http_extra_headers is set, puppet will send those headers for each HTTP request it makes when processing the server_list setting, to determine which server to use."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_3_*:*_550633134_*|*_1_*:*_1_*:*_446935418_*|*_10007_*:*_2_*:*_478333265_*|*_3_*:*_1_*:*_8109577_*|*_10009_*:*_2_*:*_601829083_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_305645342"}], "description": "When using server_list, Puppet 6 adds a [new request|https://github.com/puppetlabs/puppet/blob/eadd5474c26e7d28d90de00b9d7a7545ac10e55d/lib/puppet/http/resolver/server_list.rb#L61] to validate that the server is listening. This request is done by using [Puppet::HTTP::Client|https://github.com/puppetlabs/puppet/blob/main/lib/puppet/http/client.rb] which in opposition to [Puppet::HTTP::Service|https://github.com/puppetlabs/puppet/blob/main/lib/puppet/http/service.rb], doesn't have a [proper way to handle the http_extra_headers setting|https://github.com/puppetlabs/puppet/blob/main/lib/puppet/http/service.rb#L110].\n\nThis supposes a problem as I'm redirecting the traffic based on that header. As the header is not present in status requests, the catalog compilation doesn't go through.\n\nFor more information on the extra_header setting refer to\u00a0PUP-9566.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23427", "fixedVersions": ["PUP 6.19.0"], "id": "23427", "issueType": "Bug", "key": "PUP-10617", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c098ea9575800695ac870", "resolution": "Fixed", "resolutionDate": "2020-09-09T00:18:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Request to status endpoint not using extra_headers setting", "timeSpent": "PT0S", "updated": "2021-07-07T17:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I can't reproduce this and the code shows we append the uninstall options to the uninstall command, where the uninstall command is taken from the registry.\n\nhttps://github.com/puppetlabs/puppet/blob/7e6e6c03b28b263548c26288cfa3a4fa5e1d71ce/lib/puppet/provider/package/windows.rb#L89\n\nPlease reopen with steps to reproduce including the manifest and output of {{puppet agent -t --debug}}..", "created": "2022-07-26T15:06:00.000000"}], "components": ["Types and Providers"], "created": "2020-08-11T04:50:00.000000", "creator": "557058:89116718-adb8-45d4-bcd9-1483be79f43a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2051b1d0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk67q:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Jul/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_69436807_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_61657105088"}], "description": "*Puppet Version: 6.17.0*\n *Puppet Server Version: 6.12.1*\n *OS Name/Version: Windows*\n\nIn order to uninstall a package from Windows agents, I created a package resource, which also included specific \"uninstall_options\" for the package. While the correct uninstaller (\"...\\uninstall.exe\", as recorded in the registry) was executed, the package wasn't uninstalled. I checked with Process Explorer and found that the uninstaller was called w/o any option. So I ended up using an exec resource...\n{code:java}package {'Sentinel Agent':\n\u00a0 ensure => absent,\n\u00a0 uninstall_options => ['/uninstall', '/norestart', '/q', \"/k=\\\"${unlock_key}\\\"\"],\n}\n{code}\n\u00a0\n\n*Desired Behavior:*\n\nPuppet should have uninstalled the package by passing the correct options to the uninstaller.\n\n*Actual Behavior:*\n\nOptions were not passed, which lead to package not being uninstalled. (Maybe related: There was also no error in the report, but that might have been caused by the uninstaller itself, which might not have reported one).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28617", "fixedVersions": [], "id": "28617", "issueType": "Bug", "key": "PUP-10616", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:89116718-adb8-45d4-bcd9-1483be79f43a", "resolution": "Cannot Reproduce", "resolutionDate": "2022-07-26T15:06:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Windows: package doesn't pass uninstall_options to uninstaller", "timeSpent": "PT0S", "updated": "2022-07-26T15:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5fff7df991bb2e01082cf9b7", "attachments": [], "comments": [], "components": [], "created": "2020-08-10T14:57:00.000000", "creator": "5fff7df991bb2e01082cf9b7", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@26013d42"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03ijk:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Added local facts back to PAL's script compiler scope."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_17289_*|*_3_*:*_1_*:*_758738847_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_10940"}], "description": "*Puppet Version: 6.15.0 - 6.17.0*\n\nAs part of work on Bolt, PUP-10397 removed vars and facts for the current node from PAL's script compiler. This resulted in a breaking change to a public API, affecting downstream projects that rely on PAL. The script compiler should make the current node's vars and facts available again.\n\n*Desired Behavior:*\n\n**PAL's script compiler should have access to vars and facts for the node running the script.\n\n*Actual Behavior:*\n\nPAL's script compiler does not have access to the vars and facts for the node running the script, causing project's that rely on the PAL API to lose access to this data.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22305", "fixedVersions": ["PUP 6.18.0"], "id": "22305", "issueType": "Bug", "key": "PUP-10615", "labels": ["docs-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5fff7df991bb2e01082cf9b7", "resolution": "Fixed", "resolutionDate": "2020-08-19T09:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Add facts and vars back to PAL ScriptCompiler scope", "timeSpent": "PT0S", "updated": "2020-08-20T02:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "623c12ff94742a00683e41fd", "body": "Hello [~accountid:6220db724160640069c71347],\n\n\u00a0\n\nI would like to make sure first that I understood the ticket's end goal correctly and kindly ask you to correct me if I got something wrong. Let's say that on a node, with the latest puppet installed, where the `ntp` package is already installed with version '1.5.2', we apply the following manifest:\n{code}package { 'ntp':\n\u00a0\u00a0ensure => '1.5.3-1'\n}\n{code}\n\u00a0\n\nThis action upgrades the `ntp` package from '1.5.2' to '1.5.3-1' and, from my current understanding, this happens as desired. The same would go for the scenario in which the `ntp` package was absent on the node when applying the manifest (which would result in a simple installation of '1.5.3-1' version).\n\n\u00a0\n\nThe *issue* appears only when our manifest ensures a lower version than what we already have installed. An example would be:\n{code}package { 'ntp':\n\u00a0\u00a0ensure => '1.4'\n}\n{code}\n\u00a0\n\nThis causes a downgrade of the `ntp` package from version '1.5.2' to '1.4' and that, from my current understanding, is not the desired behaviour. If everything said up to this point is true, then the ticket's feature request is basically finding a way to prevent any downgrade of packages managed with puppet to happen.\n\n\u00a0\n\nA proposed solution would be to use a feature that our team implemented for Puppet 6.15 known as Version Ranges for package providers. This is currently available for the apt, yum, gem and pip package providers and adds the ability to ensure that a package's version satisfies a given range. For example:\n{code}package { 'ntp':\n\u00a0\u00a0ensure => '> 1.4'\n}\n{code}\n\u00a0\n\nIn the scenario where the `ntp` package is already installed with version '1.5.2', this manifest wouldn't do any changes when applied since the ensure property is already satisfied (version '1.5.2' on the box is newer than '1.4' given in the manifest). More information about the Version Ranges feature can be found in our Puppet Blog Post: [https://puppet.com/blog/version-ranges-a-smarter-way-to-manage-packages-with-puppet/].\n\n\u00a0\n\nIf that alone wouldn't quite qualify as a solution then we could try implementing one of the improvement ideas we had for this feature. This implies ensuring the latest available version that satisfies a given range. Let's take the same manifest as above for example:\n{code}package { 'ntp':\n\u00a0\u00a0ensure => '> 1.4'\n}\n{code}\n\u00a0\n\nCurrently this will make changes at most one time, when the range is not satisfied. Once it is, no matter how many versions of the 'ntp' package will be released or how many times the manifest will be applied, there won't be any more changes. Our idea mentioned above would bring a configurable boolean parameter or some other mechanism (needs to be discussed and decided with the team) which would allow changes each time there is a version newer than '1.4' when activated in the manifest. This could also work for when you want to always be up to date but at the same time avoid a major release (through something like '< 2') when it appears so that any unwanted breaking changes are avoided.\n\n\u00a0\n\nAgain, please let us know if my understanding of the issue is correct and tell us if any of the above proposals would fit as a solution so that we know how to move forward with this ticket.", "created": "2020-08-13T10:02:00.000000"}, {"author": "5abd613dd4cf3c56be24b70d", "body": "[~accountid:6220db724160640069c71347]/ [~accountid:5a6649d80f236c260941c7ee]\u00a0please reopen this ticket if the solution provided by [~accountid:623c12ff94742a00683e41fd]\u00a0does not help.", "created": "2020-09-22T04:16:00.000000"}], "components": ["Types and Providers"], "created": "2020-08-10T14:37:00.000000", "creator": "6220db724160640069c71347", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4047f04f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03es7:i"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "40361"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_120597708_*|*_3_*:*_1_*:*_517723670_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_2946700741_*|*_10005_*:*_1_*:*_92922028"}], "description": "Customer has asked me to create a feature request to allow them to check if a package is installed before puppet enforces the configured version.\n\nFor example, customer would like to be able to do something like this:\n\n$packages = {\n\u00a0 'puppet' => \\{ ensure => '6.14.0-1.el7' },\n\u00a0 'ntp' => \\{ ensure => '1.5.3-1' },\n}\n\nkeys($pkg_hash).each |Integer $index, String $pkg| {\n\u00a0 if ! $facts['_puppet_inventory_1']['packages'][$pkg]['1'] {\n\u00a0 \u00a0 $upgrade=undef\n\u00a0 }\n\u00a0 elsif versioncmp($facts['_puppet_inventory_1']['packages'][$pkg]['1'], ${attributes['ensure']}) == \"1\" {\n\u00a0 \u00a0 $upgrade=False\n\u00a0 }\n\u00a0 elsif versioncmp($facts['_puppet_inventory_1']['packages'][$pkg]['1'], ${attributes['ensure']}) == \"-1\" {\n\u00a0 \u00a0 $upgrade=True\n\u00a0 }\n\nif ($upgrade == undef) or ($upgrade) {\n\u00a0 package { $pkg:\n\u00a0 \u00a0 ensure => $attributes['ensure'],\n\u00a0 }\n}\n}\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20315", "fixedVersions": [], "id": "20315", "issueType": "New Feature", "key": "PUP-10614", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6220db724160640069c71347", "resolution": "Won't Fix", "resolutionDate": "2020-09-22T04:16:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Check if package is installed before enforcing configured version", "timeSpent": "PT0S", "updated": "2020-10-15T01:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-08-07T17:49:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2a2403ff"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10649"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hykbbr:9i9"}], "description": "The uri_encode method assumes '=' characters are key/value delimiters in the query string, which is a problem if the query string contains a base64 encoded signature with trailing padding characters like the following. Note both URI and Addressable preserve the trailing '=' but puppet does not:\n\n{noformat}\nirb(main):014:0> str = \"http://a.com?sig=JaZhcqxT4akJcOwUdUGrQB2m1geUoh89iL8WMag8a8c=\"\n=> \"http://a.com?sig=JaZhcqxT4akJcOwUdUGrQB2m1geUoh89iL8WMag8a8c=\"\nirb(main):015:0> Puppet::Util.uri_encode(str)\n=> \"http://a.com?sig=JaZhcqxT4akJcOwUdUGrQB2m1geUoh89iL8WMag8a8c\"\nirb(main):016:0> URI.encode(str)\n=> \"http://a.com?sig=JaZhcqxT4akJcOwUdUGrQB2m1geUoh89iL8WMag8a8c=\"\nirb(main):017:0> Addressable::URI.encode(\"http://a.com/sig=JaZhcqxT4akJcOwUdUGrQB2m1geUoh89iL8WMag8a8c=\")\n=> \"http://a.com/sig=JaZhcqxT4akJcOwUdUGrQB2m1geUoh89iL8WMag8a8c=\"\n{noformat}\n\nSee also PUP-10603", "epicLinkSummary": "URL Encoding", "estimate": "PT0S", "externalId": "28616", "fixedVersions": [], "id": "28616", "issueType": "Bug", "key": "PUP-10613", "labels": [], "originalEstimate": "PT0S", "parent": "23431", "parentSummary": "URL Encoding", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Puppet::Util.uri_encode discards '='", "timeSpent": "PT0S", "updated": "2021-05-03T11:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:80b1a2d0-6c75-4995-bdc3-c422bab7aabd", "attachments": [], "comments": [{"author": "557058:0b68e6d9-0826-452d-ae98-2942410f8d75", "body": "The linked issues are about improving the documentation, AFAIU taking what's suggested in the blogs I linked. This issue however about fragility of the proposed solution.", "created": "2020-08-08T05:58:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The {{none}} and {{encrypted}} options make sense to me and seem pretty easy to implement:\n{code:diff}# diff --git a/lib/puppet/functions/eyaml_lookup_key.rb b/lib/puppet/functions/eyaml_lookup_key.rb\nindex 5fbae35b3a..d6c6573c80 100644\n--- a/lib/puppet/functions/eyaml_lookup_key.rb\n+++ b/lib/puppet/functions/eyaml_lookup_key.rb\n@@ -88,6 +88,11 @@ Puppet::Functions.create_function(:eyaml_lookup_key) do\n       begin\n         tokens = Hiera::Backend::Eyaml::Parser::ParserFactory.hiera_backend_parser.parse(data)\n         data = tokens.map(&:to_plain_text).join.chomp\n+        if options['convert_to_sensitive'] == 'encrypted'\n+          data = Puppet::Pops::Types::PSensitiveType::Sensitive.new(data)\n+        else\n+          data\n+        end\n       rescue StandardError => ex\n         raise Puppet::DataBinding::LookupError,\n           _(\"hiera-eyaml backend error decrypting %{data} when looking up %{key} in %{path}. Error was %{message}\") % { data: data, key: key, path: options['path'], message: ex.message }\n{code}\nThat code doesn't take into account {{all}}, but I don't think that'd be hard either. To test this, I did the following:\n\n{noformat}\n# gem install hiera-eyaml\n# puppetserver gem install hiera-eyaml\n# eyaml createkeys\n# mkdir /etc/puppetlabs/puppet/eyaml\n# cp ./keys/* /etc/puppetlabs/puppet/eyaml/\n# eyaml encrypt -s 'hello there'\n....\n# cat /etc/puppetlabs/code/environments/production/hiera.yaml\n---\nversion: 5\ndefaults:\n  # The default value for \"datadir\" is \"data\" under the same directory as the hiera.yaml\n  # file (this file)\n  # When specifying a datadir, make sure the directory exists.\n  # See https://puppet.com/docs/puppet/latest/environments_about.html for further details on environments.\n  # datadir: data\n  # data_hash: yaml_data\nhierarchy:\n  - name: \"Secrets\"\n    lookup_key: eyaml_lookup_key\n    path: \"common.eyaml\"\n    options:\n      convert_to_sensitive: encrypted\n      pkcs7_private_key: /etc/puppetlabs/puppet/eyaml/private_key.pkcs7.pem\n      pkcs7_public_key:  /etc/puppetlabs/puppet/eyaml/public_key.pkcs7.pem\n# cat /etc/puppetlabs/code/environments/production/data/common.eyaml\n---\nprofile::hiera_test::password: ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEwDQYJKoZIhvcNAQEBBQAEggEAHbfIep0iZWSU+GDkxTRHvGzdiCjkcYEe8gnV1z3wYIdmU2gqgJQ6Qovh3bzlENVs3GLE4cyJw9JFDyvHu4+UnbjDOuVQb0YrIWyA6QnZLPIs05qejMm78MNG/wFZFiyaD5vuK5/mgK09ilJwib6Xxd3vFQ0kUnL59yoswpYLTUfjl15U4usfCRT9TYSW1hrJ2FQYkpcoObGhkaqxtNXlR1lB0rlPDjqSdAmneiNUhZA7Dm/fp2Ola40L6hUWNrS6jN+A5TcBjmn6ZHvgz17J92f3VH1mWcXSBg2u34m12DQh6V74io+D6xg2eXAnWmt0/ak1DeNtdTnPIpe+JVF9zTA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBAH7hzPI9TwHcDLu6I50NQUgBCeSg/b5b7FXIWM+9BiGdpV]\n# puppet lookup profile::hiera_test::password\n--- !ruby/object:Puppet::Pops::Types::PSensitiveType::Sensitive\nvalue: hello there\n{noformat}\n\nWith the {{convert_to_sensitive}} option removed, I get:\n\n{noformat}\n# puppet lookup profile::hiera_test::password\n--- hello there\n{noformat}\n\n", "created": "2020-11-17T13:49:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "An alternate approach would be to allow the user to specify the pcore representation of the sensitive value as [~accountid:70121:81a73de1-7f52-49cd-b0b0-46c1b147202a] suggested in https://puppet.atlassian.net/browse/PUP-10654?focusedCommentId=757774&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-757774\n\nSo the example above could be written as:\n\n{noformat}\nprofile::hiera_test::password: {\"__ptype\"=>\"Sensitive\", \"__pvalue\"=>\"ENC[PKCS7,MIIBeQYJ...]\"}\n{noformat}\n\nThat way the type is unambiguous and we don't need {{lookup_options}}. Also that might fix the \"revealing values in {{puppet lookup}} issue\"?", "created": "2021-08-20T15:55:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Linking some related tickets where this has been discussed extensively", "created": "2021-08-20T16:17:00.000000"}], "components": ["Functions", "Hiera & Lookup"], "created": "2020-08-07T16:20:00.000000", "creator": "557058:0b68e6d9-0826-452d-ae98-2942410f8d75", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6797bfda"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11371"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03i2w:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Nov/20"}], "description": "Values looked up with {{eyaml_lookup_key}} are returned as strings. This reveals them in console, reports, etc. To prevent this the values should be wrapped in {{Sensitive}} type. Currently automatic lookup files when class parameter is of type {{Sensitive[String]}} and value looked up is of type {{String}}. This leads people to suggest manually converting each sensitive value to {{Sensitive}} type via {{lookup_options}}:\n * [https://blog.example42.com/2019/04/04/puppet_sensitive_data/]\n * [https://puppet.com/blog/my-journey-securing-sensitive-data-puppet-code/]\n\n{code:yaml}lookup_options:\n  '^profile::.+::sensitive_\\w+$':\n    convert_to: 'Sensitive' {code}\nWhile this kind of does the job, it's fragile and repetitious. While I can imagine use case where someone would want encrypted values revealed in diffs, I'd guess that for most use-cases the value looked up by {{eyaml_lookup_key}} should be wrapped in {{Sensitive}}.\n\nI've managed to hack together the following function in my environment to do it:\n{code:ruby}Puppet::Functions.create_function(:eyaml_lookup_key_sensitive) do\n  def eyaml_lookup_key_sensitive(key, options, context)\n    cleartext = call_function('eyaml_lookup_key', key, options, context)\n    Puppet::Pops::Types::PSensitiveType::Sensitive.new(cleartext)\n  end\nend\n{code}\nBut this would be better done in {{eyaml_lookup_key.rb}} to directly store wrapped values into the cache.\n\nIn order to not break backward compatibility the opt-in could be stored in {{options}} hash as e.g. {{convert_to_sensitive}} boolean option. To make it fancier, the values of this opt-in could be:\n * {{none}}: current behaviour\n * {{encrypted}}: only wrap encrypted values\n * {{all}}: wrap all values\n\nUse case for this is when someone sets {{eyaml_lookup_key}} and its options in {{defaults}} and scatters encrypted values throughout layers (i.e. when there's no one dedicated layer for sensitive keys) while accepting performance hit of lookup function vs {{data_hash}}.\n\nAnother option would be to make Puppet automatically convert {{String}} to {{Sensitive[String]}} to make automatic class parameter lookup work. This will however still reveal values in e.g. {{puppet lookup}}.\n\n\u00a0", "epicLinkSummary": "Server Sensitive Data Handling", "estimate": "PT0S", "externalId": "27611", "fixedVersions": [], "id": "27611", "issueType": "New Feature", "key": "PUP-10612", "labels": [], "originalEstimate": "PT0S", "parent": "27665", "parentSummary": "Server Sensitive Data Handling", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:0b68e6d9-0826-452d-ae98-2942410f8d75", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Wrap values in Sensitive in eyaml_lookup_key", "timeSpent": "PT0S", "updated": "2021-11-30T14:13:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Can you add {{--trace}} to whatever script is starting puppet? The {{Puppet::Util.uri_encode}} method has been present for a long time. Is there a possibility you have multiple puppet versions installed?", "created": "2020-08-08T10:35:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "sorry, missed your comment :(\nI added the trace option to the init script and restarted the service on 4 boxes. I will check foreman later if it recieved proper reports.", "created": "2020-08-11T06:03:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "I'm now unable to reproduce this. I guess that the puppet agent wasn't properly restarted after the last upgrades. I will close the issue and  reopen it if it happens again.", "created": "2020-08-17T12:37:00.000000"}], "components": [], "created": "2020-08-07T01:07:00.000000", "creator": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@102f74b6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03hq0:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_903795779_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1660690"}], "description": "*Puppet Version:* 6.17.0\n*Puppet Server Version:* 6.12.1\n*OS Name/Version:* FreeBSD 12.1\n\nI can run `puppet agent -t` without issues in the shell. However the daemon fails to run in the background. Foreman has the following error logs:\n\n{code}\nerr\t/File[/var/puppet/facts.d]\tFailed to generate additional resources using 'eval_generate': undefined method `uri_unescape' for Puppet::Util:Module\nerr\t/File[/var/puppet/facts.d]\tCould not evaluate: Could not retrieve file metadata for puppet:///pluginfacts: undefined method `uri_unescape' for Puppet::Util:Module\nerr\t/File[/var/puppet/lib]\tFailed to generate additional resources using 'eval_generate': undefined method `uri_unescape' for Puppet::Util:Module\nerr\t/File[/var/puppet/lib]\tCould not evaluate: Could not retrieve file metadata for puppet:///plugins: undefined method `uri_unescape' for Puppet::Util:Module\nerr\t/File[/var/puppet/locales]\tFailed to generate additional resources using 'eval_generate': undefined method `uri_unescape' for Puppet::Util:Module\nerr\t/File[/var/puppet/locales]\tCould not evaluate: Could not retrieve file metadata for puppet:///locales: undefined method `uri_unescape' for Puppet::Util:Module\nerr\tPuppet\tFailed to apply catalog: no parameter named 'ensure'\n{code}\n\n*Desired Behavior:*\n\npuppet CLI & daemon can do successfull agent runs\n\n*Actual Behavior:*\n\ndaemon fails to run properly\n\nsome infos:\n\n/usr/local/etc/puppet/puppet.conf\n{code}\n[main]\n    certname = ***\n    codedir = /usr/local/etc/puppet\n    hostprivkey = $privatekeydir/$certname.pem { mode = 640 }\n    logdir = /var/log/puppet\n    pluginfactsource = puppet:///pluginfacts\n    pluginsource = puppet:///plugins\n    privatekeydir = $ssldir/private_keys { group = service }\n    rundir = /var/run/puppet\n    server = ***\n    show_diff = true\n    ssldir = /var/puppet/ssl\n    vardir = /var/puppet\n\n[agent]\n    classfile = $statedir/classes.txt\n    default_schedules = false\n    environment = production\n    localconfig = $vardir/localconfig\n    masterport = 8140\n    noop = false\n    report = true\n    runinterval = 7200\n    splay = true\n    splaylimit = 7200\n    usecacheonfailure = true\n{code}\n\n`env` output:\n\n{code}\nSHELL=/bin/tcsh\nHISTCONTROL=ignoreboth\nno_proxy=127.0.0.1,***long list, contains the puppet server FQDN***\nMACHTYPE=x86_64\nHISTSIZE=99999999\nLESS_TERMCAP_se=\nLESS_TERMCAP_so=\nHISTTIMEFORMAT=%Y%m%d %T%z \nEDITOR=vim\nPWD=/root\nLOGNAME=root\nLS_OPTIONS=--color=auto -h\nHOME=/root\nLANG=en_US.UTF-8\nOSTYPE=FreeBSD\nhttps_proxy=http://***:3128\nSSH_CONNECTION=*** 33178 *** 22\nTERM=xterm-256color\nLESS_TERMCAP_mb=\nLESS_TERMCAP_me=\nLESS_TERMCAP_md=\nHOST=***\nUSER=root\nLESS_TERMCAP_ue=\nSHLVL=2\nLESS_TERMCAP_us=\nPAGER=less\nhttp_proxy=http://***:3128\nPS1=\\[\\033[01;31m\\]\\u\\[\\033[01;33m\\]@\\[\\033[01;36m\\]\\h \\[\\033[01;33m\\]\\w \\[\\033[01;35m\\]\\$ \\[\\033[00m\\]\nSSH_CLIENT=*** 33178 22\nVENDOR=amd\nPATH=/root/.gem/ruby/2.6/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin\nHISTIGNORE=reboot:shutdown\nBLOCKSIZE=K\nHISTFILESIZE=99999999\nMAIL=/var/mail/root\nSSH_TTY=/dev/pts/0\nHOSTTYPE=FreeBSD\nREMOTEHOST=***\n_=/usr/bin/env\n{code}\n\n\nthis worked in the past. Sadly I don't know which change caused the errors as I only have reports about the past 7 days. I'm wondering if the http proxy setup causes this. The proxy isn't configured anywhere within Puppe, but that worked fine for years.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26616", "fixedVersions": [], "id": "26616", "issueType": "Bug", "key": "PUP-10611", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "resolution": "Cannot Reproduce", "resolutionDate": "2020-08-17T12:38:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "puppet daemon fails with undefined method `uri_unescape' for Puppet::Util:Module, CLI works", "timeSpent": "PT0S", "updated": "2020-08-17T12:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "instead of having {{disable_i18n}} default on {{true}}, could we replace option with {{enable_i18n}} with default {{false}}?", "created": "2020-08-20T05:13:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Changing the name of the setting creates upgrade issues. If you've set `disable_i18n=false` explicitly, and then upgrade to 7, then puppet won't recognize the old setting, and the behavior of \"I really want i18n to be enabled\" will be lost.\u00a0", "created": "2020-08-20T13:35:00.000000"}], "components": [], "created": "2020-08-06T16:20:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@19ca8699"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-9120"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03rhy:4"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The `disable_i18n` setting changes its default value from false to true and locales are not pluginsynced anymore when i18n is disabled."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_150599417_*|*_1_*:*_1_*:*_1009339066_*|*_10007_*:*_1_*:*_2272073941_*|*_3_*:*_1_*:*_154709391_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_508716042"}], "description": "Puppetserver incurs a perfomance penalty when i18n is enabled as different text domains need to be managed per environment. For 7 we should change the default value of the {{disable_i18n}} setting to true. Agents should skip pluginsync'ing the {{locales}} mount as a result.", "epicLinkSummary": "Puppet 7.0.0 Removals", "estimate": "PT0S", "externalId": "27609", "fixedVersions": ["PUP 7.0.0"], "id": "27609", "issueType": "Task", "key": "PUP-10610", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": "23142", "parentSummary": "Puppet 7.0.0 Removals", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-09-23T01:57:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Change disable_i18n to true by default ", "timeSpent": "PT0S", "updated": "2020-11-09T09:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "body": "Closing this for now since this was created for the {{servicenow_reporting_integration}} module, and we've decided to just include these in the module itself so that it isn't tied to a specific Puppet release. It can be reopened if more users want this feature.", "created": "2020-08-07T11:40:00.000000"}], "components": [], "created": "2020-08-05T12:32:00.000000", "creator": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7af60310"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03gbc:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_169661277_*|*_6_*:*_1_*:*_0"}], "description": "These are already documented event types in https://puppet.com/docs/pe/2019.8/analyze_changes_across_runs.html#event_types so they're available at the event level. The work here involves making these parameters available as a global summary (so at the report processor level).\n\n{{intentional_change}} is the [corrective_change|https://github.com/puppetlabs/puppet/blob/6.17.0/lib/puppet/transaction/report.rb#L126]-reader analogue for intentional changes.\n\n{{noop_pending_(intentional/corrective)}} are more fine-grained readers of the [noop_pending|https://github.com/puppetlabs/puppet/blob/6.17.0/lib/puppet/transaction/report.rb#L81] reader. For example, {{noop_pending_intentional}} is true if there are any intentional changes that weren't applied because of noop.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27607", "fixedVersions": [], "id": "27607", "issueType": "New Feature", "key": "PUP-10607", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "resolution": "Won't Do", "resolutionDate": "2020-08-07T11:40:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Add intentional_change, noop_pending_(intentional/corrective) readers to the report processor API", "timeSpent": "PT0S", "updated": "2020-08-07T11:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "attachments": [], "comments": [], "components": [], "created": "2020-08-05T03:23:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5faf42d6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8r2l:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Loading Puppet::Util::Windows is extremely expensive, so moving FFI related functions, constants and structures out from Puppet::Util::Windows will improve speed."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_164988912_*|*_1_*:*_2_*:*_524104965_*|*_10007_*:*_1_*:*_1816667646_*|*_3_*:*_2_*:*_433952742_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_94298272"}], "description": "Loading Puppet::Util::Windows is extremely expensive.\n\nWe should have a way to load only the required modules.\n\nSince we only require service and process, we can move them to a separate namespace.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27606", "fixedVersions": ["PUP 7.0.0"], "id": "27606", "issueType": "Task", "key": "PUP-10606", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Fixed", "resolutionDate": "2020-09-09T06:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Extract FFI functions, structs and constants to a separate windows module ", "timeSpent": "PT0S", "updated": "2020-11-09T09:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:19693836-ec35-44b8-b9fb-10c69f35fd4e", "attachments": [], "comments": [], "components": [], "created": "2020-08-03T02:17:00.000000", "creator": "623c1489a1d81f0069d8e30a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": ["ghost"]}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@782ab0dd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzvq87:2i601"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The facterng feature flag is not needed anymore since puppet 7 will use facter 4 (formerly knows as facter-ng) by default. Previously it was being used to enable the usage of facter 4.\n\n"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_276641898_*|*_3_*:*_1_*:*_3306277_*|*_10009_*:*_1_*:*_59446395_*|*_5_*:*_1_*:*_0"}], "description": "The facterng feature flag is not needed anymore since puppet 7 will use facter 4 (formerly knows as facter-ng) by default. Previously it was being used to enable the usage of facter 4.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21390", "fixedVersions": ["FACT 4.0.34", "PUP 7.0.0"], "id": "21390", "issueType": "Task", "key": "PUP-10605", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c1489a1d81f0069d8e30a", "resolution": "Fixed", "resolutionDate": "2020-08-07T00:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Remove facterng feature flag from puppet next branch", "timeSpent": "PT0S", "updated": "2020-11-09T09:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [{"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "The break introduced by PUP-6488 derails a PE upgrade as PE compilers will not be able to apply catalogs required to complete their upgrades until the issue is diagnosed and fixed.", "created": "2020-07-30T17:27:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in https://github.com/puppetlabs/puppet/commit/45c3968f5c5bbbb8bfd84a5ae85c0210f9215442 and https://github.com/puppetlabs/puppet/commit/1f07dc44609290cbe8df1df576bdceea0c1576c0", "created": "2020-09-04T13:17:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "Looks like we can close MODULES-2276 and need to open a new ticket to deprecate puppetserver_gem on the forge?  cc [~accountid:557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b]", "created": "2020-09-09T08:29:00.000000"}, {"author": "557058:7b08c3d1-092b-44d0-8ddf-71f98cb2abe3", "body": "Finally! Thanks Charlie and\u00a0Gabriel!", "created": "2020-10-27T12:06:00.000000"}], "components": ["Types and Providers"], "created": "2020-07-30T17:26:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@551562bb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03dd4:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Move the puppetserver_gem provider in core puppet. Previously, the provider was part of the puppetlabs-puppetserver_gem module which will no longer receive updates."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "39595,40456"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "31/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_604557127_*|*_1_*:*_1_*:*_457680639_*|*_10007_*:*_1_*:*_170769619_*|*_3_*:*_1_*:*_1478943137_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_796722666"}], "description": "The core puppet types and providers include a {{puppet_gem}} provider for the package resource that knows how to interact with the Ruby interpreter bundled with the {{puppet-agent}} package.\n\nThe {{puppetserver}} service also bundles its own JRuby interpreter and requires the used of the {{puppetserver gem}} command to install packages. There is an unsupported module, puppetlabs/puppetserver_gem, that adds a {{puppetserver_gem}} provider for package resources that fills an analogous role.\n\nHowever, having this provider de-coupled from the Puppet core means it can be broken by changes in the core in a way that interferes with upgrades. PUP-6488 was one such instance where the parent Gem provider was altered in a way that was incompatible with {{puppet_gem}} and {{puppetserver_gem}}. Both providers were patched, but the breakage in {{puppet_gem}} was automatically resolved by an upgrade while the breakage in {{puppetserver_gem}} requires users to discover, understand, and then upgrade the module.\n\nTo prevent these sorts of issues, {{puppetserver_gem}} provider should be bundled along with {{puppet_gem}} by {{puppet-agent}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25491", "fixedVersions": ["PUP 6.19.0"], "id": "25491", "issueType": "Improvement", "key": "PUP-10604", "labels": ["doc_reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "resolution": "Fixed", "resolutionDate": "2020-09-09T08:04:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Include the puppetserver_gem package provider with core Puppet", "timeSpent": "PT0S", "updated": "2020-10-27T12:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Moved to PUP project.\n\nI'm thinking this is handled better on the CLI for example using {{jq}} or {{python -m json.tool}}:\n\n{noformat}\n# cat /opt/puppetlabs/puppet/cache/client_data/catalog/localhost.json | jq .\n{\n  \"tags\": [\n    \"settings\"\n  ],\n  \"name\": \"localhost\",\n  \"version\": 1596643882,\n  \"code_id\": null,\n  \"catalog_uuid\": \"deaa2a21-2cf6-43a4-9785-a84333353941\",\n  \"catalog_format\": 1,\n  \"environment\": \"production\",\n  ..\n}\n{noformat}\n\nFor example, you're probably interested in specific resources, and jq is good for filtering/selecting:\n\n{noformat}\n# cat /opt/puppetlabs/puppet/cache/client_data/catalog/localhost.json | jq '.resources[] | select(.type | contains(\"Notify\"))'\n{\n  \"type\": \"Notify\",\n  \"title\": \"hello\",\n  \"tags\": [\n    \"notify\",\n    \"hello\",\n    \"class\"\n  ],\n  \"file\": \"/etc/puppetlabs/code/environments/production/manifests/site.pp\",\n  \"line\": 1,\n  \"exported\": false\n}\n{noformat}", "created": "2020-08-05T13:38:00.000000"}, {"author": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "body": "That makes sense to me, I'd say this can be canceled.", "created": "2020-09-11T14:28:00.000000"}], "components": [], "created": "2020-07-29T08:02:00.000000", "creator": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3ffb49f6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03c6w:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_624979482_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_4830093381"}], "description": "Every so often I need to review /opt/puppetlabs/puppet/cache/client_data/catalog/${HOSTNAME}.json to diagnose issues.\n\n\u00a0\n\nIt would be helpful if I could set something in the puppet agent config to automatically write out the catalog.json file in \"pretty print\" mode rather than the default 'most space efficient' mode.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27635", "fixedVersions": [], "id": "27635", "issueType": "New Feature", "key": "PUP-10608", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Trivial", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "resolution": "Won't Do", "resolutionDate": "2020-09-30T11:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Option to \"prettyprint\" /opt/puppetlabs/puppet/cache/client_data/catalog", "timeSpent": "PT0S", "updated": "2020-09-30T11:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "What does the dummy file resource look like in the manifest?\n\nCan you include the http_debug output when using 6.17.0 (specifically due to https://puppet.atlassian.net/browse/PUP-10580)?", "created": "2020-07-28T17:52:00.000000"}, {"author": "557058:3f9bb89b-7f6b-4aa6-8670-4021884c44fe", "body": "\u00a0\n{code:java}\nfile {\n  'test.txt':\n  source=> 'https://anyaccount.blob.core.windows.net/puppet/test/test.txt?sv=2019-02-02&st=2020-07-28T20:18:53Z&se=2020-07-28T21:03:00Z&sr=b&sp=r&sig=JaZhcqxT4akJcOwUdUGrQB2m1geUoh89iL8WMag8a8c=',\n  path => 'C:\\test.txt',}\n\n{code}\nif you can instruct me on the specific debug output I will go ahead and add that to the ticket.\n\n\u00a0\n\n\u00a0", "created": "2020-07-28T22:50:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Ah run \u2018puppet agent -t --http_debug\u2019", "created": "2020-07-28T22:58:00.000000"}, {"author": "557058:3f9bb89b-7f6b-4aa6-8670-4021884c44fe", "body": "*url Already encoded*\n{code:java}\nfile {\n  'test.txt':\n  source=> 'https://anystorage.blob.core.windows.net/puppet/test/test.txt?sv=2019-02-02&st=2020-07-29T18%3A37%3A18Z&se=2020-07-29T19%3A00%3A00Z&sr=b&sp=r&sig=kGZ5nUC7mEJwVmTnJRqHG7xnU%2BbgvO83y%2BYZEBOl%2Fvk%3D',\n  path => 'C:\\test.txt',}\n\n{code}\nresults in:\n{code:java}\nNotice: Compiled catalog for chugsdell in environment production in 0.02 seconds\nopening connection to anystorage.blob.core.windows.net:443...\nopened\nstarting SSL for anystorage.blob.core.windows.net:443...\nSSL established\n<- \"HEAD /puppet/test/test.txt?sv=2019-02-02&st=2020-07-29T18%3A37%3A18Z&se=2020-07-29T19%3A00%3A00Z&sr=b&sp=r&sig=kGZ5nUC7mEJwVmTnJRqHG7xnU%2BbgvO83y%2BYZEBOl%2Fvk%3D HTTP/1.1\\r\\nX-Puppet-Version: 6.17.0\\r\\nUser-Agent: Puppet/6.17.0 Ruby/2.5.8-p224 (x64-mingw32)\\r\\nAccept: */*\\r\\nHost: anystorage.blob.core.windows.net\\r\\n\\r\\n\"\n-> \"HTTP/1.1 200 OK\\r\\n\"\n-> \"Content-Length: 4\\r\\n\"\n-> \"Content-Type: text/plain", "created": "2020-07-29T12:59:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Yes it appears metadata and content are not handling URL encoding the same way. I'll take a look at this.", "created": "2020-08-05T09:27:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:3f9bb89b-7f6b-4aa6-8670-4021884c44fe] could you apply the changes in https://github.com/puppetlabs/puppet/pull/8260 and see if it resolves your issue?", "created": "2020-08-07T17:53:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/3443d720839e1f1ba87f5d2f2339dbbace5a21b9", "created": "2020-08-18T10:05:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 3443d72083", "created": "2020-08-20T12:06:00.000000"}, {"author": "557058:3f9bb89b-7f6b-4aa6-8670-4021884c44fe", "body": "Hey [~accountid:63d40628f6e1b543161789a7]\u00a0 sorry for the delay,\n\n\u00a0\n\nI unfortunately don't have an environment to run beta server versions, and have never tried. Can you point me in a direction that would provide some insight to this?", "created": "2020-08-24T08:23:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "You can install the nightly puppet6 version (for example for yum http://nightlies.puppet.com/yum/puppet6-nightly/), or wait for the 6.18 release coming out this week.", "created": "2020-08-24T10:46:00.000000"}], "components": ["Modules"], "created": "2020-07-28T14:53:00.000000", "creator": "557058:3f9bb89b-7f6b-4aa6-8670-4021884c44fe", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2d946957"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Ubuntu 16.04 (amd64)"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03b7c:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet 6.16.0 introduced a regression when using http file sources and the URL request path or query contained special characters. This restores the behavior that existed previously. In order to specify a path or query that contains a space (for example), then it must be URL encoded in the manifest, e.g. source => 'http://example.com/path%20to%file?q=a%20b'"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_180067305_*|*_1_*:*_1_*:*_671590078_*|*_10007_*:*_1_*:*_922410688_*|*_3_*:*_1_*:*_203064394_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_58493"}], "description": "*Puppet Version: 6.16.0*\n *Puppet Server Version: 6.*\n *OS Name/Version: Win10x64 WinServer2012R2*\n\nAfter upgrading from agent 6.13.0 URL's that are pre-encoded are being re-encoded during the HTTP GET phase of file resource execution. The header HEAD phase is working as expected. This was not occurring in agent 6.13.0 but occurs in 6.16 and 6.15 versions of the agent\n\nWhen attempting to remove the encoding the HTTP HEAD uses the correct url unencoded, but when the GET goes to encode, it for some reason drops the trailing '=' (in fact no '=' are encoded at all) which is found in all Azure SAS tokens and storage keys.\n\nWe store sensitive files in Azure private blob containers, and utilize a SAS token who's sensitive data is looked up via a hiera eyaml and appended to the https:// endpoint of the url as the file \"source\" parameter\n\n*Desired Behavior:*\n\nIf already encoded the file resource should not re-encode during the GET phase\n\nIf not encoded, the GET phase should encode the request but not drop the trailing '='.\n\n*Actual Behavior:*\n\nDummy file resource being run in debug when specifying with the encoded section of the SAS token appended to the http request:\n{code:java}\nDebug: Using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384\nDebug: HTTP HEAD https://anystorageaccount.blob.core.windows.net/puppet/test/test.txt?sv=2019-02-02&st=2020-07-28T20%3A18%3A53Z&se=2020-07-28T20%3A38%3A00Z&sr=b&sp=r&sig=xkd9E0xReTZ18zc1Woa1rQmhAwcaYYJRHZcac5yczQ8%3D returned 200 OK\nDebug: Caching connection for https://anystorageaccount.blob.core.windows.net:443\nDebug: Using cached connection for https://anystorageaccount.blob.core.windows.net:443\nDebug: HTTP GET https://anystorageaccount.blob.core.windows.net/puppet/test/test.txt?sv=2019-02-02&st=2020-07-28T20%253A18%253A53Z&se=2020-07-28T20%253A38%253A00Z&sr=b&sp=r&sig=xkd9E0xReTZ18zc1Woa1rQmhAwcaYYJRHZcac5yczQ8%253D returned 403 Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.\nDebug: Closing connection for https://anystorageaccount.blob.core.windows.net:443\nError: Could not set 'file' on ensure: Error 403 on SERVER: \u00b4\u2557\u2510<?xml version=\"1.0\" encoding=\"utf-8\"?><Error><Code>AuthenticationFailed</Code><Message>Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.\nRequestId:ce4f9ec1-501e-0114-7f1e-65a9cd000000\nTime:2020-07-28T20:34:34.9632157Z</Message><AuthenticationErrorDetail>Signature fields not well formed.\n{code}\nsame file resource, with the token portion of the string unencoded. The final '=' of the string is stripped off during the GET\n{code:java}\nDebug: Using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384\nDebug: HTTP HEAD https://anystorageaccount.blob.core.windows.net/puppet/test/test.txt?sv=2019-02-02&st=2020-07-28T20:18:53Z&se=2020-07-28T21:03:00Z&sr=b&sp=r&sig=JaZhcqxT4akJcOwUdUGrQB2m1geUoh89iL8WMag8a8c= returned 200 OK\nDebug: Caching connection for https://anystorageaccount.blob.core.windows.net:443\nDebug: Using cached connection for https://anystorageaccount.blob.core.windows.net:443\nDebug: HTTP GET https://anystorageaccount.blob.core.windows.net/puppet/test/test.txt?sv=2019-02-02&st=2020-07-28T20%3A18%3A53Z&se=2020-07-28T21%3A03%3A00Z&sr=b&sp=r&sig=JaZhcqxT4akJcOwUdUGrQB2m1geUoh89iL8WMag8a8c returned 403 Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.\nDebug: Closing connection for https://anystorageaccount.blob.core.windows.net:443\nError: Could not set 'file' on ensure: Error 403 on SERVER: \u00b4\u2557\u2510<?xml version=\"1.0\" encoding=\"utf-8\"?><Error><Code>AuthenticationFailed</Code><Message>Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.\nRequestId:1a6c4010-101e-003e-7920-659add000000\nTime:2020-07-28T20:46:22.0326377Z</Message><AuthenticationErrorDetail>Signature fields not well formed.\n{code}\nWe noticed that puppet 6.15.0 introduced many changes to the file http resource according to the documentation.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20313", "fixedVersions": ["PUP 6.18.0"], "id": "20313", "issueType": "Bug", "key": "PUP-10603", "labels": ["docs-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "High (migrated)", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3f9bb89b-7f6b-4aa6-8670-4021884c44fe", "resolution": "Fixed", "resolutionDate": "2020-08-20T12:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "File Resource HTTP GET - Misuse of URL encoding", "timeSpent": "PT0S", "updated": "2020-08-24T10:46:00.000000", "votes": "4", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "623c1697d32a94006a649b84", "body": "Will attach a manifest and logs when ABS is back up and running for me to provision hosts with. Would use Vagrant locally, but hitting issue with PA-3351 too.\n\nTests will generate manifests in system Temp folder that could be useful for testing.\n\nAlso see IAC-967 for details.", "created": "2020-07-28T08:31:00.000000"}, {"author": "623c1697d32a94006a649b84", "body": "See this conversation on Slack: https://puppet.slack.com/archives/CF418PB9A/p1595942267015200\n\nThanks to [~accountid:5b9fcedc03b52466f05c4510] for highlighting this change as a potential (and likely) cause: https://github.com/puppetlabs/puppet/commit/8255b92ac12558fa73b9ada07932f204fa48df93 ", "created": "2020-07-28T08:33:00.000000"}, {"author": "623c1697d32a94006a649b84", "body": "This manifest should reproduce the issue:\n{code}\n    class { motd:\n      content => \"Hello world!\n\",\n    }\n{code}\n\n", "created": "2020-07-28T10:35:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The registry module was relying on puppet's {{wide_string}} method to embed a wide null within the string content, so when using [registry module with puppet 7, the module ends up writing a value that is not properly null terminated|https://github.com/puppetlabs/puppetlabs-registry/blob/973d19a245d861917f05d756116ba489566bc886/lib/puppet/provider/registry_value/registry.rb#L185-L191]. Note the call to \n[{{RegSetValueExW}}|https://github.com/puppetlabs/puppetlabs-registry/blob/973d19a245d861917f05d756116ba489566bc886/lib/puppet/provider/registry_value/registry.rb#L211-L213] doesn't append a wide null for {{REG_SZ}} or {{REG_EXPAND_SZ}} or two nulls for {{REG_MULTI_SZ}}.\n\nThe next time puppet runs, the registry module uses ruby's builtin {{Win32::Registry}} code to read the value, and that code [chop's the trailing newline|https://github.com/ruby/ruby/blob/4e0a512972cdcbfcd5279f1a2a81ba342ed75b6e/ext/win32/lib/win32/registry.rb#L652]. Since \"hello world\" doesn't match \"hello world\\n\", puppet applies the change again.\n\nFixing the puppetlabs-registry module should be fairly straightforward, I'll take a look at that.", "created": "2020-07-28T12:39:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I have a topic branch that fixes the problem for the registry module when using puppet 7. It doesn't work with puppet 6, as registry values end up with an extra set of terminators: https://github.com/puppetlabs/puppetlabs-registry/compare/master...joshcooper:registry_wide_string_iac?expand=1\n\nSo some options:\n\n1. The PR could be updated to only append the terminators when running on puppet 7 or above\n2. We could add an optional argument to `wide_string` in puppet. If the optional argument is specified, then fallback to the old behavior. The registry module would have to check the arity of the method which is kind of gross.\n3. We could revert the change in puppet, and add a `P::U::W::String` method that has the new behavior. The registry module could update to the new thing whenever.\n4. Others?\n\n3 is the safest, but also means puppet has to carry technical debt, and the whole point of the major release is to reduce debt.\n\nI think 1 is my preference but it depends on how many other Windows modules could be affected? My guess is that it's very *unusual* for a Windows provider (outside of puppetlabs) to be doing wide string conversions? I also don't think reboot, acl or other windows modules from puppetlabs have this issue, but could be wrong.", "created": "2020-07-28T18:06:00.000000"}, {"author": "623c1697d32a94006a649b84", "body": "Thanks [~accountid:63d40628f6e1b543161789a7] for the explanation and potential solutions. Doing an audit of what falls under our [supported module|https://puppetlabs.github.io/iac/modules], there were only a few hits:\n\n* [puppetlabs-registry|https://github.com/puppetlabs/puppetlabs-registry/blob/973d19a245d861917f05d756116ba489566bc886/lib/puppet/provider/registry_value/registry.rb#L185-L191]: The original discovery documented above.\n* [puppetlabs-dsc|https://github.com/puppetlabs/puppetlabs-dsc/blob/89beca6eff6de9866acabf7388dc59a86b15b3b7/lib/puppet_x/puppetlabs/powershell_manager.rb#L202-L211]: A copy/paste of the original impl from puppet\n* [puppetlabs-scheduled_task|https://github.com/puppetlabs/puppetlabs-scheduled_task/blob/master/spec/legacy_taskscheduler.rb]: Being used in spec tests, but no hits in the functionality of the module\n\nI'll be chatting with the rest of the IAC Team today about the issue and the options you put forward to try and determine how we want to proceed. There's a few things we'll need to consider. I'll get back after that conversation.", "created": "2020-07-29T06:53:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Thanks [~accountid:623c1697d32a94006a649b84]! I also realized the {{wide_string}} behavior change should not affect any of the other windows modules, because the registry is a bit special. When setting a registry value, the caller must convert the wide string to a byte array taking into account REG_SZ/REG_EXPAND_SZ vs REG_MULTI_SZ wide terminator differences, and call {{RegSetValueExW}} with that binary blob and a {{cbData}} parameter which includes the terminators. However, most other places where {{wide_string}} is called, just pass the returned wide string directly to a Windows API, and should work before and after the puppet change. For example the scheduled task https://github.com/puppetlabs/puppetlabs-scheduled_task/blob/master/spec/legacy_taskscheduler.rb#L250 works as is with puppet 7. Given that I'm inclined to just fix the registry and call it good.", "created": "2020-07-29T08:52:00.000000"}, {"author": "623c1697d32a94006a649b84", "body": "We were coming to the same conclusion ourselves after a chat earlier [~accountid:63d40628f6e1b543161789a7]. If you're also saying this is quite specific to handle the different registry value types, then we've narrowed the impact further, which pushes more in the direction of applying the fix you did to puppetlabs-registry.\n\nA quick check shows 671 Windows modules on the Forge - I've pinged [~accountid:557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b] about any way we could potentially audit those modules to look for any calls to {{wide_string}}. I would suspect the hits to be very low, if not 0, but do you think this is a worthwhile endeavour?\n\nFWIW, I did a quick check through Voxpupuli's Github repo for \"wide_string\" and got no results back.\n\nI'm running tests against your PR locally. I created a PR to kick off the CI tests, but there was a Rubocop violation causing it to bomb out early. Would you mind approving and merging this PR to yours when you get a chance? https://github.com/joshcooper/puppetlabs-registry/pull/2\n\nThanks again for your help!", "created": "2020-07-29T09:09:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "{quote}but do you think this is a worthwhile endeavour?{quote} If it's easy to query, then sure, but I wouldn't spend a lot of time on it.", "created": "2020-07-29T11:13:00.000000"}], "components": ["Modules", "Windows"], "created": "2020-07-28T08:29:00.000000", "creator": "623c1697d32a94006a649b84", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6788f7f3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03ax4:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_88066381_*|*_10009_*:*_1_*:*_4598644_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_74315718"}], "description": "*Puppet Version:* 7.0.0 (7.0.0.104.g28ab897c nightly)\t\n*Puppet Server Version:* n/a\n*OS Name/Version:* Windows 10 / Server 2012 R2 / Server 2016 / Server 2019 \n\n*Problem Description*\nThe acceptance tests in the [puppetlabs-motd|https://github.com/puppetlabs/puppetlabs-motd] module are failing with the latest Puppet 7 nightly build (2020-07-27) due to the registry values being read back with either the last character being truncated or an additional newline character present:\n{code}\n# ./spec/acceptance/motd_spec.rb:75\n 1) Message of the day when static message from content \n     On host `profound-letter.delivery.puppetlabs.net'\n     Failure/Error: idempotent_apply(pp)\n     RuntimeError:\n       apply manifest expected no changes\n       ` puppet apply manifest_20200728_88010_1qq4dui.pp --trace --detailed-exitcodes`\n       ====== Start output of Puppet apply with unexpected changes ======\n       Notice: Compiled catalog for profound-letter.delivery.puppetlabs.net in environment production in 0.15 seconds\n       Notice: /Stage[main]/Motd/Registry_value[HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\policies\\system\\legalnoticecaption]/data: data changed 'Message of the da' to 'Message of the day'\n       Notice: /Stage[main]/Motd/Registry_value[HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\policies\\system\\legalnoticetext]/data: data changed 'Hello world!' to \"Hello world!\\n\"\n       Notice: Applied catalog in 0.17 seconds\n{code}\n\n\n{code}\n'Message of the da' to 'Message of the day'\n{code}\n{code}\n'Hello world!' to \"Hello world!\\n\"\n{code}\n\n*Steps to Reproduce:*\nClone the [puppetlabs-motd|https://github.com/puppetlabs/puppetlabs-motd] module, then, append the following lines to the end of the *provision.yaml:*\n{code}\nwin_test:\n  provisioner: abs\n  images: ['win-2012r2-x86_64', 'win-2016-core-x86_64', 'win-2019-core-x86_64', 'win-10-pro-x86_64']\n{code}\nThen run:\n{code}\nbundle install\nbundle exec rake 'litmus:provision_list[win_test]'\nbundle exec rake 'litmus:install_agent[puppet7-nightly]'\nbundle exec rake 'litmus:install_module'\nbundle exec rake 'litmus:acceptance:parallel'\n{code}\n*Then please do not forget to tear down and hand back the hosts after you're done:*\n{code}\nbundle exec rake 'litmus:tear_down'\n{code}\n*Desired Behavior:*\nAll acceptance tests should pass on the module\n\n*Actual Behavior:*\nAcceptance tests fail due to registry values either being truncated or a superfluous new line character present.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20312", "fixedVersions": [], "id": "20312", "issueType": "Bug", "key": "PUP-10602", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c1697d32a94006a649b84", "resolution": "Done", "resolutionDate": "2020-07-30T06:52:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Registry key values being truncated or superfluous newline present", "timeSpent": "PT0S", "updated": "2020-08-05T08:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5b9fcedc03b52466f05c4510", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in https://github.com/puppetlabs/puppet/commit/4f5ce8f67a3effd99691fe0bf91625bb9aed544c", "created": "2020-08-06T15:49:00.000000"}], "components": [], "created": "2020-07-28T07:58:00.000000", "creator": "5c2ff333c5484b691dd2c43a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5981daff"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8r2k:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "This fixes a regression introduced in Puppet 6.16.0 where zypper package provider reports corrective changes when packages that contains release in version are installed."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "40216,40672"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_89916745_*|*_1_*:*_1_*:*_688696066_*|*_10007_*:*_1_*:*_7233849_*|*_3_*:*_1_*:*_66323117_*|*_10009_*:*_1_*:*_58139_*|*_5_*:*_1_*:*_0"}], "description": "_Basic Info_\n *Module Version:4.0.0*\n *Puppet Version:2019.8.0*\n *OS Name/Version:SLES 12*\n\n_When using the puppet_agent modules\u00a0package_version to auto_\u00a0\n\n*Desired Behavior: Once correct version is installed, should not see any corrective changes.*\n\n*Actual Behavior: Seeing corrective change every puppet run*\n{code:java}\"Notice: /Stage[main]/Puppet_agent::Install/Package[puppet-agent]/ensure: ensure changed '6.16.0-1.sles12' to '6.16.0' (corrective)\"\n{code}\nAlso tested against centos and it did not have this issue, seems specific to sles.\n\nThis was also tested on\u00a0PE 2019.5.0 with puppet_agent v4.0.0 without this issue.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25475", "fixedVersions": ["PUP 6.18.0"], "id": "25475", "issueType": "Bug", "key": "PUP-10609", "labels": ["docs_reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5c2ff333c5484b691dd2c43a", "resolution": "Fixed", "resolutionDate": "2020-08-07T04:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet_Agent : Constant Corrective Change for sles 12", "timeSpent": "PT0S", "updated": "2020-08-27T06:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Changing the default behavior would need to be coordinated with puppetserver as well as external tools that interact with the compiler like catalog-diff and puppet-strings. So I'm going to close this as won't fix.", "created": "2020-10-29T17:26:00.000000"}], "components": [], "created": "2020-07-27T15:14:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@42093281"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03aq8:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_95965858_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_8033547301"}], "description": "Puppet pcore resource type definitions are generated using {{puppet generate types}} and ensure resource types are isolated in a single environment. This is needed by the compiler as it needs to compile catalogs on behalf of agents in multiple environments. However, the pops loaders will by default include the pcore resource type loader which can lead to issues like PUP-9602. It also means pcore resource types could be loaded by another application unexpectedly.\n\nFor puppet 7, change the default behavior so that pcore resource types are not automatically loaded, and modify puppetserver to opt-into the behavior. Need to research {{puppet script}}.\n\nWe may not want to change the default due to bolt and orchestrator", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24474", "fixedVersions": [], "id": "24474", "issueType": "Task", "key": "PUP-10601", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Won't Do", "resolutionDate": "2020-10-29T17:26:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Only create pcore resource type loaders for compilation", "timeSpent": "PT0S", "updated": "2020-10-29T17:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "557058:c9b48d3b-3b16-4fba-80cb-daf19743b953", "body": "Thanks for the explanation, [~accountid:557058:836ef76e-8051-48a3-8dc7-005f79695b0e]. Sounds like this should go in Puppet release notes. cc: [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1]", "created": "2020-07-24T16:53:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Also want to mention puppet on windows has always had this issue (since 2.7.12 at least). It's something about the AWS environment in which the puppet process is created that conflicts with assumptions made by the win32-dir gem.", "created": "2020-07-24T18:55:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "I've added this as a known issue to 6.16.", "created": "2020-07-28T01:02:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:63d40628f6e1b543161789a7]\u00a0to confirm, is this still a known issue in 6.18 or is it resolved?\u00a0", "created": "2020-08-20T03:00:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Yep, it's resolved in 6.18.0.", "created": "2020-08-20T12:01:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in https://github.com/puppetlabs/puppet/commit/2f4fd1d8c0d3e63b617cdf6ed9d2cd8e613cd397", "created": "2020-09-10T12:29:00.000000"}], "components": [], "created": "2020-07-24T12:06:00.000000", "creator": "6220db724160640069c71347", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Affects Build", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "PE 2019.2.2, PE 2019.8"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3b702808"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master Config", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Monolithic"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "RHEL 7 (x86_64)"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o036za:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Known Issue"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "customers trying to install puppet agent on EC2 Windows Server 2019 who access the instance via AWS Session Manager will hit an error due to a conflict between the ssm-user created to access the instance and the win32-dir gem"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "38695,39979"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_334221130_*|*_1_*:*_1_*:*_993387224_*|*_10007_*:*_1_*:*_250162239_*|*_3_*:*_1_*:*_506413496_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_36403748"}], "description": "Customers who are accessing EC2 Windows Server 2019 instances via AWS Session Manager are seeing the following error when trying to run the install script or puppet commands.\n\n{{C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/gems/2.5.0/gems/win32-dir-0.4.9/lib/win32/dir.rb:105:in `<class:Dir>': uninitialized constant Dir::PERSONAL (Name Error)}}\n\nFrom my understanding the issue is with the *win32-dir* gem, which is owned by Chef. In particular, the _*ssm-user*_, which the AWS SSM Agent creates to connect to the instance, does not have a unique user profile and instead is using _C:\\Windows\\system32\\config\\systemprofile_.\n\nAs a result the gem is unable to resolve the _PERSONAL_ variable, which is looking for *Documents/My Documents* folder and the ssm-user does not have those folders as its using the system profile.\n\n---\n\nCurrent workaround is adding the install script to EC2 user-data and initiating manual puppet runs from the console.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22302", "fixedVersions": ["PUP 6.18.0"], "id": "22302", "issueType": "Improvement", "key": "PUP-10600", "labels": ["jira_escalated", "support"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6220db724160640069c71347", "resolution": "Fixed", "resolutionDate": "2020-08-18T01:09:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Allow running puppet commands via AWS Session Manager on Windows Server 2019", "timeSpent": "PT0S", "updated": "2020-09-10T12:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "attachments": [], "comments": [], "components": [], "created": "2020-07-23T05:43:00.000000", "creator": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@597d02cf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o038ww:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Some puppet default settings required facter to retrieve the data which\ncaused facter to load all external facts that are not used. This can\nslow down puppet if external facts are slow.\n\nNow, only when performing a lookup command on a remote node, local external facts are not evaluated."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_503382073_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1833275154"}], "description": "When performing a puppet lookup on a remote node, puppet requires some settings that are provided by Facter. When Facter provides the setting, it evaluates all external facts even if it does not need them.\n\nWhen running this command puppet should not evaluate all local external facts.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28614", "fixedVersions": ["PUP 6.18.0"], "id": "28614", "issueType": "Bug", "key": "PUP-10599", "labels": ["docs-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "resolution": "Fixed", "resolutionDate": "2020-08-19T06:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Puppet lookup on remote nodes should skip loading local external facts", "timeSpent": "PT0S", "updated": "2020-11-13T17:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "We might want to keep the setting, but change the default to false?", "created": "2020-08-20T12:11:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/2ec586ee80466f04273a8d4972387a5cdeaead7d", "created": "2020-09-01T10:07:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Sorry [~accountid:70121:4596f954-1fdf-472f-a700-6b7c2ffbc525]\u00a0I had to revert this change as described in [https://github.com/puppetlabs/puppet/pull/8321#issue-482374474.]\u00a0I didn't account for using cached catalogs when I originally implemented PUP-1763. My bad. Could you look into fixing PUP-1763 in 5.5.x, so that if pluginsync fails and {{ignore_plugin_errors==false}}, then we still fall back to the cached catalog (if we're allowed to based on {{usecacheonfailure}}? Then we can re-revert your change for this ticket?", "created": "2020-09-08T18:05:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/eedb1b57655ec4e728ef640a247f3fac0a39a279", "created": "2020-10-01T20:35:00.000000"}], "components": [], "created": "2020-07-22T09:22:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@28ff28e2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-9120"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03rhz:i"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "change default value of ignore_plugin_errors to false. \n\nIf ignore_plugin_errors is true(default value before this commit),\npuppet agents can fail to pluginsync and will be missing facts/types/providers that may be needed to request and apply the catalog.\n\nFor example, missing custom/external facts can change which classes are included in the catalog or cause compilation failures if the manifests references the missing fact."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_413503153_*|*_1_*:*_2_*:*_481125390_*|*_10007_*:*_2_*:*_850079708_*|*_3_*:*_3_*:*_167932427_*|*_4_*:*_1_*:*_4672_*|*_5_*:*_2_*:*_494465972_*|*_10004_*:*_1_*:*_605183363_*|*_10006_*:*_1_*:*_480572928_*|*_10005_*:*_2_*:*_2956625861"}], "description": "PUP-1763 added a setting to allow the agent to stop the run if pluginsync fails. In puppet 7, the setting should be changed so the agent should always fail the run if pluginsync fails.", "epicLinkSummary": "Puppet 7.0.0 Removals", "estimate": "PT0S", "externalId": "21389", "fixedVersions": ["PUP 7.0.0"], "id": "21389", "issueType": "Task", "key": "PUP-10598", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": "23142", "parentSummary": "Puppet 7.0.0 Removals", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-10-05T00:53:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Change default value of ignore_plugin_errors to false", "timeSpent": "PT0S", "updated": "2020-11-09T09:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "attachments": [], "comments": [{"author": "5b9fcedc03b52466f05c4510", "body": "https://github.com/puppetlabs/puppet/search?q=deprecated_hold&unscoped_q=deprecated_hold", "created": "2020-07-23T02:50:00.000000"}, {"author": "5b9fcedc03b52466f05c4510", "body": "merged to master in: https://github.com/puppetlabs/puppet/commit/52fc63610e35060ed9e5d5085b4f181ceeda662f", "created": "2020-09-01T07:05:00.000000"}], "components": [], "created": "2020-07-22T04:50:00.000000", "creator": "5b9fcedc03b52466f05c4510", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@19a52a63"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-9120"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o037zs:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Apt provider will no longer accept `ensure=held` this behaviour was replaced by the `mark` attribute."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_415553224_*|*_1_*:*_1_*:*_95000398_*|*_10007_*:*_1_*:*_1402191556_*|*_3_*:*_1_*:*_102224526_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1535645637"}], "description": "Apt provider should now use the mark property. `enusre => held` was deprecated in Puppet 6 and should be removed in Puppet 7", "epicLinkSummary": "Puppet 7.0.0 Removals", "estimate": "PT0S", "externalId": "27634", "fixedVersions": ["PUP 7.0.0"], "id": "27634", "issueType": "Task", "key": "PUP-10597", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": "23142", "parentSummary": "Puppet 7.0.0 Removals", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5b9fcedc03b52466f05c4510", "resolution": "Fixed", "resolutionDate": "2020-09-01T07:07:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Remove deprecated held from apt provider", "timeSpent": "PT0S", "updated": "2020-11-09T09:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-07-22T02:37:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@23f6ae04"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3341"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o037kw:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1832_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1125170586"}], "epicLinkSummary": "Remove [Puppet7]EL 5 FOSS support", "estimate": "PT0S", "externalId": "28613", "fixedVersions": [], "id": "28613", "issueType": "Task", "key": "PUP-10596", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": "57230", "parentSummary": "Remove [Puppet7]EL 5 FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Won't Fix", "resolutionDate": "2020-08-04T03:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Update Public-facing Puppet docs to remove [Puppet7]EL 5", "timeSpent": "PT0S", "updated": "2020-08-11T03:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-07-21T15:25:00.000000", "creator": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@74fbfaa7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "SERVER-2911"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o037c8:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_612121593_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_50790728729"}], "description": "We currently wrap indirector information (terminus class, cache class, etc) in threadlocal containers, however, we don't initialize and cache the termini themselves in a threadsafe way and they are created on first invocation of each indirection's {{terminus}} method (which may not be called until required to handle the first {{find}}-like method).\n\nSee https://github.com/puppetlabs/puppet/blob/a3e5bff533d04e13ed9098236e1fe0ec6463def1/lib/puppet/indirector/indirection.rb#L136-L141", "epicLinkSummary": "Multithreaded Fixes", "estimate": "PT0S", "externalId": "26554", "fixedVersions": [], "id": "26554", "issueType": "Improvement", "key": "PUP-10594", "labels": [], "originalEstimate": "PT0S", "parent": "17234", "parentSummary": "Multithreaded Fixes", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Won't Do", "resolutionDate": "2022-03-08T12:59:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Lock termini creation", "timeSpent": "PT0S", "updated": "2022-03-08T12:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-07-21T10:58:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@260d7733"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-14"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet 7 Server"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_orange"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hylkkc:001i"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7518231730_*|*_6_*:*_1_*:*_0_*|*_10014_*:*_1_*:*_2270268774"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20311", "fixedVersions": [], "id": "20311", "issueType": "Epic", "key": "PUP-10593", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Done", "resolutionDate": "2020-11-11T16:59:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Puppet 7 Server", "timeSpent": "PT0S", "updated": "2021-08-23T10:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-07-21T10:53:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@16f9455e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-12"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet 7 Runtime"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "grey"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0376g:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7476715720_*|*_6_*:*_1_*:*_0"}], "description": "Changes to puppet's ruby and gem dependencies. Separate but related to ruby 2.7 support (PUP-10247).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29793", "fixedVersions": [], "id": "29793", "issueType": "Epic", "key": "PUP-10592", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Done", "resolutionDate": "2020-10-15T23:45:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Puppet 7 Runtime", "timeSpent": "PT0S", "updated": "2020-10-15T23:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-07-21T10:48:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6733ac39"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-8"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet 7 Language"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_purple"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0374g:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7518795576_*|*_6_*:*_1_*:*_0_*|*_10014_*:*_1_*:*_1212896463"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20310", "fixedVersions": [], "id": "20310", "issueType": "Epic", "key": "PUP-10591", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Done", "resolutionDate": "2020-10-30T12:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Puppet 7 Language", "timeSpent": "PT0S", "updated": "2020-10-30T12:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "623c12ff94742a00683e41fd", "body": "[https://github.com/puppetlabs/puppet-runtime/pull/364]\n\n[https://github.com/puppetlabs/puppet/pull/8250]", "created": "2020-08-05T09:52:00.000000"}], "components": [], "created": "2020-07-21T08:13:00.000000", "creator": "5b9fcedc03b52466f05c4510", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@ec341a2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o036z4:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Release notes covered in Platform 7 doc"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_328574907_*|*_1_*:*_1_*:*_169208873_*|*_10007_*:*_1_*:*_711090387_*|*_3_*:*_1_*:*_53421122_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1131546857"}], "description": "This task should be completed after PUP-7445 code changes, and involves updating any of the following if necessary:\n\nGemfile\n.gemspec\nproject_data.yaml\nRemoving gem reference from puppet-agent packaging repo", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25473", "fixedVersions": ["PUP 7.0.0"], "id": "25473", "issueType": "Task", "key": "PUP-10590", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5b9fcedc03b52466f05c4510", "resolution": "Fixed", "resolutionDate": "2020-08-18T01:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Remove win32-process gem dependency from packaging", "timeSpent": "PT0S", "updated": "2020-11-05T02:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:63eb8bfe-2856-4cbd-ab65-a0e2d681f15c", "body": "Honestly, I haven't been communicating with them either lately. I dropped one email to my old contact from the end of my days doing alliances just to ensure communication was happening and people were not depending on me to do a job I was no longer doing.", "created": "2020-07-28T12:16:00.000000"}], "components": [], "created": "2020-07-20T15:35:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27da08ec"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk421:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Jul/20"}], "description": "The https://github.com/puppetlabs/puppet-agent-bootstrap application was created to allow the agent to generate a CSR in a way that doesn't requires network access to the CA (since the CA requires the SSL client to provide a client certificate, which the agent doesn't have yet).\n\nThe application uses {{Puppet::SSL::Host.localhost}} to accomplish this and it works in 5.5.x. However, the version in puppet#master does not due to:\n\n{noformat}\ngit bisect good\nde34cc03d570a7f06b117c1f1387c40cb6353377 is the first bad commit\ncommit de34cc03d570a7f06b117c1f1387c40cb6353377\nAuthor: Maggie Dreyer <maggie@puppet.com>\nDate:   Mon Aug 27 17:09:13 2018 -0700\n\n    (PUP-8912) Remove CertificateAuthority, fixup Host\n\n    This commit removes the CertificateAuthority class and begins cleaning\n    up the consequences:\n    * Remove CA logic from SSL::Host\n    * Remove certificate_status indirection\n    * Remove CA logic from ssl_file\n    * Get Host unit tests passing\n{noformat}\n\nIn particular, the `Host#ca_location=` method was removed which the bootstrap application used to set to `:none`, to prevent the Host from accessing the CA.\n\nWe should add a {{puppet ssl generate_csr}} action to generate the private key and CSR, but not submit the CSR. Once that's done, puppet-agent-bootstrap could be deprecated and archived.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21388", "fixedVersions": [], "id": "21388", "issueType": "Improvement", "key": "PUP-10589", "labels": ["Easy", "tbd"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Provide the ability to generate a CSR without submitting to the CA", "timeSpent": "PT0S", "updated": "2022-10-19T21:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "Did you consider a second instance of hiera/lookup with a separate {{hiera.yaml}} file for plans, and then just using one or the other depending on context when doing lookups? You would then get the global/env/module + default layers for free for the plan specific hiera instance. Either name the file {{plan_hiera.yaml}} or have something like a relative path {{./plan/hiera.yaml}} to where the regular hiera.yaml is. \n\nI think that would reduce the complexities in implementing this.", "created": "2020-07-17T03:56:00.000000"}], "components": [], "created": "2020-07-16T17:56:00.000000", "creator": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@cab22d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o034u8:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2988245881_*|*_5_*:*_1_*:*_0"}], "description": "https://github.com/puppetlabs/bolt/issues/1835\nThe Bolt team is interested in adding a plan_hierarchy key to Hiera's config that specifies the hierarchy to use when calling {{lookup}} in a plan outside of an apply block. This would allow users to use their existing Hiera config with Bolt without encountering unnecessary errors and would make it clear that different hierarchies are used in a plan outside of an apply block vs. inside an apply block. This is necessary because per-node data and interpolations do not make sense outside of an apply block because plans don't execute per-node, and other common interpolations like environment and facts are also nonsensical in that context. However, these values do make sense inside apply blocks and are currently supported. Having a new plan_hierarchy hierarchy for plans outside of apply blocks lets users specify what data to use in that context.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23420", "fixedVersions": ["PUP 6.18.0"], "id": "23420", "issueType": "Task", "key": "PUP-10587", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "resolution": "Fixed", "resolutionDate": "2020-08-20T08:00:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Add plan_hierarchy key to hiera config", "timeSpent": "PT0S", "updated": "2020-08-20T08:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:13ff83ed-edbc-4f24-9ab5-ad44eeeca4fc", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Support for delayed start was first added in 5.5.17 and 6.10.1, see PUP-6382, please try a more recent puppet version.", "created": "2020-07-21T16:59:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:5ecea173eb77320c1f7ab027] Please try a more recent version and if the issue persists, reopen this ticket.", "created": "2020-07-21T17:01:00.000000"}], "components": [], "created": "2020-07-16T14:17:00.000000", "creator": "5ecea173eb77320c1f7ab027", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Ability to set service to delayed start in Server 2019."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@59597596"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o033tc:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_441846482_*|*_6_*:*_1_*:*_0"}], "description": "_Basic Info_\n *Module Version:*\n *Puppet Version: 6.9.0*\n *OS Name/Version: Windows Server 2019 - 1809\u00a0(OS Build 17763.107)*\n\n_Describe your issue in as much detail as possible..._\n\nWhen attempting to set a service to delayed start using\u00a0enable\u00a0=>\u00a0delayed\u00a0Puppet throws an error. I performed a sanity check on Server 2012 and did not get the error.\n\nHere is the code block for more context:\n{code:puppet}\n   'windows': {\n      package { 'sfxcollector':\n        ensure            => 'latest',\n        provider          => 'chocolatey',\n        install_options   => ['-pre'],\n        uninstall_options => ['-r'],\n      }\n      service { 'sfxcollector':\n        ensure => 'running',\n        enable => delayed,\n      }\n    }\n{code}\n\nI spoke with\u00a0[~accountid:557058:13ff83ed-edbc-4f24-9ab5-ad44eeeca4fc]\u00a0in Slack and he suggested I create a ticket.\n\n*Desired Behavior:*\n\n{noformat}\nNotice: /Stage[main]/Sfxcollector/Service[sfxcollector]/enable: current_value 'true', should be 'delayed' (noop)\nNotice: Class[Sfxcollector]: Would have triggered 'refresh' from 1 event{code}\n{noformat}\n\n*Actual Behavior:*\n\u00a0\n{noformat}\nError: The windows provider can not handle attribute enable\nError: /Stage[main]/Sfxcollector/Service[sfxcollector]/enable: change from 'true' to 'delayed' failed: The windows provider can not handle attribute enable\n{noformat}", "environment": "Windows Server 2019 - 1809 (OS Build 17763.107)\n\nTested issue on VMware and Dell bare-metal server platform.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26552", "fixedVersions": [], "id": "26552", "issueType": "Bug", "key": "PUP-10595", "labels": ["module"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5ecea173eb77320c1f7ab027", "resolution": "Duplicate", "resolutionDate": "2020-07-21T17:01:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "service : \"enable => delayed\" triggers error on Server 2019", "timeSpent": "PT0S", "updated": "2020-07-21T17:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:c9b48d3b-3b16-4fba-80cb-daf19743b953", "body": "[~accountid:63d40628f6e1b543161789a7] Can you please help fill in the blanks on the DOCS tab.", "created": "2020-07-15T11:51:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in https://github.com/puppetlabs/puppet/commit/bd8a7db62cfba6740aa4d2d3477f58d95494ad79", "created": "2020-07-16T11:04:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 07a73247b6", "created": "2020-07-16T11:05:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:63d40628f6e1b543161789a7]\u00a0this is added as a known issue here:\u00a0https://puppet.atlassian.net/browse/PUP-10586. So the docs tab can be updated to be a resolved issue now. I'll remove the known issue when the next release goes out and add it to the bug fixes. Thanks!\u00a0", "created": "2020-07-21T09:51:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Hi [~accountid:63d40628f6e1b543161789a7],\u00a0just to confirm, this will be resolved issue in 6.18?", "created": "2020-08-13T03:54:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Yep both 5.5.22 and 6.18.0", "created": "2020-08-20T12:00:00.000000"}], "components": [], "created": "2020-07-15T11:15:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7720494d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o032xs:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Known Issue"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Testing modules using rspec-puppet versions earlier than 2.7.10 results in the error \"undefined local variable or method `default_env' for Puppet::Util:Module\". As a workaround, update rspec-puppet to version 2.7.10. If using PDK, run `pdk bundle update rspec-puppet` or update your PDK package. If not using PDK, run `bundle update`."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_179085_*|*_1_*:*_1_*:*_87859_*|*_10007_*:*_1_*:*_85656925_*|*_10009_*:*_1_*:*_362227500_*|*_5_*:*_1_*:*_0"}], "description": "Commit https://github.com/puppetlabs/puppet/commit/94df3c1a3992d89b2d7d5db8a70373c135bdd86b unintentionally removed the {{Puppet::Util.default_env}}\u00a0method in 5.5.21 and 6.17.0, causing the following error when testing puppet modules using rspec-puppet:\n\n{noformat}\n Failure/Error: require 'puppetlabs_spec_helper/module_spec_helper'\n NameError:\n   undefined local variable or method `default_env' for Puppet::Util:Module\n # ./vendor/bundle/ruby/2.5.0/gems/rspec-puppet-2.7.8/lib/rspec-puppet/monkey_patches.rb:139:in `get_env'\n # ./vendor/bundle/ruby/2.5.0/gems/puppet-6.17.0/lib/puppet/node/environment.rb:501:in `extralibs'\n # ./vendor/bundle/ruby/2.5.0/gems/puppet-6.17.0/lib/puppet/node/environment.rb:76:in `initialize'\n # ./vendor/bundle/ruby/2.5.0/gems/puppet-6.17.0/lib/puppet/node/environment.rb:43:in `new'\n # ./vendor/bundle/ruby/2.5.0/gems/puppet-6.17.0/lib/puppet/node/environment.rb:43:in `create'\n # ./vendor/bundle/ruby/2.5.0/gems/puppet-6.17.0/lib/puppet.rb:240:in `base_context'\n # ./vendor/bundle/ruby/2.5.0/gems/puppet-6.17.0/lib/puppet/test/test_helper.rb:53:in `initialize'\n # ./vendor/bundle/ruby/2.5.0/gems/rspec-puppet-2.7.8/lib/rspec-puppet.rb:77:in `block in <top (required)>'\n # ./vendor/bundle/ruby/2.5.0/gems/rspec-puppet-2.7.8/lib/rspec-puppet.rb:34:in `<top (required)>'\n # ./vendor/bundle/ruby/2.5.0/gems/puppetlabs_spec_helper-2.15.0/lib/puppetlabs_spec_helper/module_spec_helper.rb:1:in `require'\n # ./vendor/bundle/ruby/2.5.0/gems/puppetlabs_spec_helper-2.15.0/lib/puppetlabs_spec_helper/module_spec_helper.rb:1:in `<top (required)>'\n # ./spec/spec_helper.rb:7:in `require'\n # ./spec/spec_helper.rb:7:in `<top (required)>'\n{noformat}\n\nSee also https://github.com/rodjek/rspec-puppet/issues/796.\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20309", "fixedVersions": ["PUP 5.5.22", "PUP 6.18.0"], "id": "20309", "issueType": "Bug", "key": "PUP-10586", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-07-20T15:44:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Regression: Puppet::Util.default_env method removed in 5.5.21 and 6.17.0", "timeSpent": "PT0S", "updated": "2020-08-20T12:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This was supposed to have been fixed in PUP-7834, specifically commit 0b6563eea09fba09b6201e1a3c41cbc5a688600d.", "created": "2020-07-14T22:55:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Using 6.4.5:\n\n{noformat}\nError: Transaction store file /opt/puppetlabs/puppet/cache/state/transactionstore.yaml is corrupt ((/opt/puppetlabs/puppet/cache/state/transactionstore.yaml): Tried to load unspecified class: Time)", "created": "2020-07-14T23:29:00.000000"}, {"author": "6220db6259c0740069d86127", "body": "[~accountid:63d40628f6e1b543161789a7]\u00a0Fantastic! yeah, I saw it, double confirm in 6.16.0, same persistence.rb:\n{code:java}\nError: Transaction store file /opt/puppetlabs/puppet/cache/state/transactionstore.yaml is corrupt ((/opt/puppetlabs/puppet/cache/state/transactionstore.yaml): Tried to load unspecified class: Time)", "created": "2020-07-15T00:38:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in https://github.com/puppetlabs/puppet/commit/4ea3370f75b95979ce75064e17eec593e5b68e07", "created": "2020-07-16T10:57:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 07a73247b6", "created": "2020-07-16T10:58:00.000000"}, {"author": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "body": "[~accountid:63d40628f6e1b543161789a7], not sure if I need to open another ticket, but seems some edge cases still exists for audit metaparameter,\n\nFor instance, on Windows platform, this code also produces one-time errors\n\n{noformat}\n\nfile { $pkg_source:\n\u00a0 \u00a0 audit\u00a0 => 'owner',\n}\n{noformat}\n\n\n{noformat}\nerr:[/Stage[main]/Splunk::Install/File[E:/Apps/staging/splunk/splunkforwarder-7.3.7-9d9aa3f78593-x64-release.msi]]: Could not evaluate: undefined method `+' for :absent:Symbol\n{noformat}\n", "created": "2020-08-20T11:03:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Thanks [~accountid:557058:be86c7d6-2807-42d3-9715-80da0cf607cd], could you file a new ticket and run the agent with {{--trace}}?", "created": "2020-08-20T11:12:00.000000"}], "components": [], "created": "2020-07-14T21:46:00.000000", "creator": "6220db6259c0740069d86127", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@77919f03"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o032f4:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "If the previous agent run enforced a time-based property of a resource, then the next agent run generated an error and lost the ability to report on corrective changes accurately. This could occur when using the {{audit}} metaparameter to monitor file mtime."}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "40016"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7899005_*|*_10007_*:*_1_*:*_126372681_*|*_5_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.16.0*\n\n*Puppet Server Version: PE 2019.8*\n *OS Name/Version: RHEL*\n\nCustomer is using `audit -> mtime` in a file resource. When the time is saved into\u00a0transactionstore.yaml. The next puppet agent run will fail with the following error:\n{code:java}\nError: Transaction store file /opt/puppetlabs/puppet/cache/state/transactionstore.yaml is corrupt ((/opt/puppetlabs/puppet/cache/state/transactionstore.yaml): Tried to load unspecified class: Time); replacing\nWrapped exception:\nTried to load unspecified class: Time {code}\nThis should be because\u00a0Puppet::Util::Yaml is using safe_load now and by default \"Time\" class is not permitted to load.\n\n*Desired Behavior:*\u00a0Understand that there should be some security concerns to contain only few classes by default. The Puppet::Util::Yaml has a parameter called 'allowed_classes'. Thus, an option to configure 'allowed_classes' from Puppet (for example) Hiera is expected. Otherwise, as long as there are needs such as auditing time from this case, the Classes out of the list will trigger the same error message.\n\n*Actual Behavior:*\u00a0\n\nError: Transaction store file /opt/puppetlabs/puppet/cache/state/transactionstore.yaml is corrupt ((/opt/puppetlabs/puppet/cache/state/transactionstore.yaml): Tried to load unspecified class: Time); replacing\nWrapped exception:\nTried to load unspecified class: Time\n\n*How to Reproduce:*\n\nDefine a file resource in manifest:\n{code:java}\nfile { $file_path :\naudit => mtime,\n} {code}\n(1) Touch the file.\n\n(2) edited the file once.\u00a0\n\n(3) Run puppet agent -t, can see successful logging the time.\n{code:java}\nInfo: Loading facts\nInfo: Caching catalog for pe-201980-agent.platform9.puppet.net\nInfo: Applying configuration version 'pe-201980-master-production-6e5f8c73c43'\nNotice: /Stage[main]/Ggtest::Selva/File[/tmp/text.abc]/mtime: audit change: previously recorded value '2020-07-15 03:11:23 +0000' has been changed to '2020-07-15 03:43:48 +0000'\nNotice: Applied catalog in 0.12 seconds\n[root@pe-201980-agent ~]# {code}\nMeanwhile, the content of\u00a0/opt/puppetlabs/puppet/cache/state/transactionstore.yaml managed to store that data.\n{code:java}\n---\nresources:\n  File[/tmp/text.abc]:\n    parameters:\n      mtime:\n        system_value:\n        - 2020-07-15 03:43:48.772919060 +00:00\n      ensure:\n        system_value: {code}\n(4) run puppet agent once more with the following error of unable to load Time class:\n{code:java}\nInfo: Retrieving locales\nInfo: Loading facts\nInfo: Caching catalog for pe-201980-agent.platform9.puppet.net\nError: Transaction store file /opt/puppetlabs/puppet/cache/state/transactionstore.yaml is corrupt ((/opt/puppetlabs/puppet/cache/state/transactionstore.yaml): Tried to load unspecified class: Time); replacing\nWrapped exception:\nTried to load unspecified class: Time\nInfo: Applying configuration version 'pe-201980-master-production-6e5f8c73c43'\nNotice: Applied catalog in 0.07 seconds\n[root@pe-201980-agent ~]# {code}\n\u00a0\n\n\u00a0", "environment": "Tested in PE 2019.8, but I think this should happen for:\n\n(1) any environment using safe_load\n\n(2) any classes not in the default list", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22301", "fixedVersions": ["PUP 6.18.0"], "id": "22301", "issueType": "Bug", "key": "PUP-10585", "labels": ["doc_reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "High (migrated)", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6220db6259c0740069d86127", "resolution": "Fixed", "resolutionDate": "2020-07-16T11:04:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet::Util::Yaml safe_load not loading \"Time\" class which leads to compilation error for time serial data", "timeSpent": "PT0S", "updated": "2020-08-20T11:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "attachments": [], "comments": [], "components": [], "created": "2020-07-14T07:33:00.000000", "creator": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27357a00"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03128:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Allows installing of gems with native extensions that require PKG_CONFIG_PATH when using puppet_gem provider, for example the rugged gem"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_496937524_*|*_1_*:*_1_*:*_1889175_*|*_10007_*:*_1_*:*_255816475_*|*_5_*:*_1_*:*_0"}], "description": "Based on bellow issue on using /opt/puppetlabs/puppet/bin/gem, we will update puppet_gem package provider to be able to handle rugged installation with puppet: *puppet resource package rugged ensure=present provider=puppet_gem*\n\n------\n\n\u00a0\n\nWhen installing R10K, if you install Rugged with the following method\n\n`/opt/puppetlabs/puppet/bin/gem install rugged`\n\nIt will build as intended, but will then cause SegV to occur on running R10K even no matter what provider you have it set to use.\n\nIf you first set your pkgconfig env with \n `export PKG_CONFIG_PATH=/opt/puppetlabs/puppet/lib/pkgconfig`\n\nAnd then install Rugged, it will then build and run as intended.\n\nThe Puppet Gem environment should probably handle making sure gems built use vendored components.", "environment": "Running on Puppet 6 environment.\n Puppet-Agent version of 6.0.2\n Puppet Gem version of 2.5.0\n Running on a Centos 7 machine", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22300", "fixedVersions": ["PUP 5.5.22", "PUP 6.18.0"], "id": "22300", "issueType": "Bug", "key": "PUP-10584", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "resolution": "Fixed", "resolutionDate": "2020-07-23T01:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "puppet_gem provider does not use vendored PKG_CONFIG_PATH when installing native extensions", "timeSpent": "PT0S", "updated": "2020-10-13T09:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/1b283276527f0ea719be6af6ae155619021a9770. But there are some medium beaker tests that need updating.", "created": "2020-09-10T19:44:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Follow up merged to main in https://github.com/puppetlabs/puppet/commit/e2a883df7e8bd35238cd274e71dd2d99d6af62ee", "created": "2020-09-11T13:18:00.000000"}, {"author": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "body": "Passed CI in puppet-agent#e5714dc2c1d8beb6041eeebf342fc5e1d53319f3", "created": "2020-09-16T01:12:00.000000"}], "components": [], "created": "2020-07-13T11:00:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3166c58c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-9120"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o030e0:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Switch to using sha256 as the default digest algorithm for Puppet 7."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Sep/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3086668_*|*_10007_*:*_1_*:*_754285683_*|*_3_*:*_1_*:*_350634835_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_4472735751"}], "description": "Puppet's {{digest_algorithm}} setting defaults to {{md5}}, which is outdated. Switch to {{sha256}} in puppet 7. This will affect the default file checksum type and file bucketing. We need to make sure old agents can update to puppet 7, which may require disabling remote file buckets in the {{puppet_agent}} module.", "epicLinkSummary": "Puppet 7.0.0 Removals", "estimate": "PT0S", "externalId": "20308", "fixedVersions": ["PUP 7.0.0"], "id": "20308", "issueType": "Improvement", "key": "PUP-10583", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": "23142", "parentSummary": "Puppet 7.0.0 Removals", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-09-16T01:12:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Change default digest algorithm to sha256", "timeSpent": "PT0S", "updated": "2020-11-09T09:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is a dup of PUP-1763 due to confusion between the server doesn't have any modules (empty) versus the server modules are missing metadata. Pluginsync should only fail in the latter case.", "created": "2020-07-10T10:38:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Also wanted to mention you can get the desired behavior now by setting {{strict_environment_mode=true}}. If the initial node requests fails, then the agent will fail the run, since the ENC is supposed to be authoritative.", "created": "2020-07-10T12:09:00.000000"}, {"author": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "body": "Ah, thanks for the tip on strict_environment_mode [~accountid:63d40628f6e1b543161789a7]!", "created": "2020-07-10T12:39:00.000000"}, {"author": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "body": "[~accountid:63d40628f6e1b543161789a7] It appears that adding `--strict_environment_mode` does not cause the run to fail early.\n\nIt does hide this error about the node object not being found:\n{code}\nWarning: Unable to fetch my node definition, but the agent run will continue:\nWarning: Find /puppet/v3/node/agent.corp.net resulted in 404 with the message: {\"message\":\"Not Found: Could not find environment 'not_a_real_env'\",\"issue_kind\":\"RUNTIME_ERROR\"}\n{code}\n\nBut the rest of the run continues with pluginsync and a catalog request similar the my original example in the ticket description.\n\nfor example:\n{code}\n$ sudo puppet agent -t --environment not_a_real_env --strict_environment_mode\nInfo: Retrieving pluginfacts\nError: /File[/opt/puppetlabs/puppet/cache/facts.d]: Could not evaluate: Could not retrieve information from environment not_a_real_env source(s) puppet:///pluginfacts\nInfo: Retrieving plugin\nError: /File[/opt/puppetlabs/puppet/cache/lib]: Could not evaluate: Could not retrieve information from environment not_a_real_env source(s) puppet:///plugins\n{code}", "created": "2020-07-10T12:52:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Doh, sorry my bad. I was running on in a branch with a fix for 1763.", "created": "2020-07-10T15:37:00.000000"}, {"author": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "body": "Opened PUP-11440 to look at a regression in Puppet 7", "created": "2022-01-31T15:26:00.000000"}], "components": [], "created": "2020-07-09T20:27:00.000000", "creator": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@37a8c193"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "CentOS 7"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02zew:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_51046015_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_5330"}], "description": "*Puppet Version: 6.15.0*\n *Puppet Server Version: 6.12.0 (open source)*\n *OS Name/Version: CentOS 7*\n\nWhen running {{puppet agent -t}} against an environment that doesn't exist, the Puppet run doesn't fail quickly and instead makes the following requests in order, all of which respond with a {{404}} (except for the catalog request, which gets a {{500}} response):\n* {{GET /puppet/v3/node}}\n* {{GET /puppet/v3/file_metadatas/pluginfacts}}\n* {{GET /puppet/v3/file_metadata/pluginfacts}}\n* {{GET /puppet/v3/file_metadatas/plugins}}\n* {{GET /puppet/v3/file_metadata/plugins}}\n* {{GET /puppet/v3/file_metadatas/locales}}\n* {{GET /puppet/v3/file_metadata/locales}}\n* {{POST /puppet/v3/catalog/}}\n\nFrom the agent's view, that looks like this:\n{noformat}\n$ sudo puppet agent -t --environment not_a_real_env\nWarning: Unable to fetch my node definition, but the agent run will continue:\nWarning: Find /puppet/v3/node/agent.corp.net resulted in 404 with the message: {\"message\":\"Not Found: Could not find environment 'not_a_real_env'\",\"issue_kind\":\"RUNTIME_ERROR\"}\nInfo: Retrieving pluginfacts\nError: /File[/opt/puppetlabs/puppet/cache/facts.d]: Could not evaluate: Could not retrieve information from environment not_a_real_env source(s) puppet:///pluginfacts\nInfo: Retrieving plugin\nWarning: /File[/opt/puppetlabs/puppet/cache/lib/facter]: Skipping because of failed dependencies\nWarning: /File[/opt/puppetlabs/puppet/cache/lib/facter/facter_dot_d.rb]: Skipping because of failed dependencies\nWarning: /File[/opt/puppetlabs/puppet/cache/lib/facter/package_provider.rb]: Skipping because of failed dependencies\nWarning: /File[/opt/puppetlabs/puppet/cache/lib/facter/pe_version.rb]: Skipping because of failed dependencies\nWarning: /File[/opt/puppetlabs/puppet/cache/lib/facter/puppet_settings.rb]: Skipping because of failed dependencies\n\n...(snip 100's of lines of failed pluginsync files)...\n\nInfo: Retrieving locales\nError: /File[/opt/puppetlabs/puppet/cache/locales]: Could not evaluate: Could not retrieve information from environment not_a_real_env source(s) puppet:///locales\nNotice: /File[/opt/puppetlabs/puppet/cache/locales/ja]: Dependency File[/opt/puppetlabs/puppet/cache/locales] has failures: true\nWarning: /File[/opt/puppetlabs/puppet/cache/locales/ja]: Skipping because of failed dependencies\nWarning: /File[/opt/puppetlabs/puppet/cache/locales/ja/puppetlabs-stdlib.po]: Skipping because of failed dependencies\nWarning: /File[/opt/puppetlabs/puppet/cache/locales/ja/puppetlabs-tomcat.po]: Skipping because of failed dependencies\nInfo: Loading facts\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Internal Server Error: java.lang.IllegalStateException: Non-zero exit code returned while running '/etc/puppetlabs/puppet/code-id.sh'. exit-code: '1', stdout: '', stderr: '/etc/puppetlabs/puppet/code-id.sh: line 19: cd: /etc/puppetlabs/code/environments/not_a_real_env: No such file or directory\n'\nWarning: Not using cache on failed catalog\nError: Could not retrieve catalog; skipping run\n{noformat}\n\nThe problem here is that there is clearly a \"404 environment not found\" error on the first line yet the agent continues to request a catalog and the master tries to serve one. Even going so far as to run the static catalog code-id.sh scripts which also error out because there is no environment.\n\nThis spews a ton of errors and warning at the user and doesn't make it clear that the problem is simply that the requested environment doesn't exist. This also causes more load than it should when the entire transaction could probably be killed early once the request for the {{node}} object returns a 404.\n\n*Desired Behavior:* When an agent requests an environment that doesn't exist, the entire transaction stops after the initial request of {{GET /puppet/v3/node}}, pluginsync doesn't get attempted, a catalog doesn't get requested, and the static catalog code-id scripts don't get run.\n\n*Actual Behavior:* All of the above happens even though the requested environment doesn't exist, and the user that ran Puppet has to wade through dozens of lines of errors messages to figure out what went wrong.\n\n*Additional Thoughts:* Is there maybe a setting to \"fail fast\" that I'm just not aware of? Like a \"stop if environment not found\" type of setting?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28612", "fixedVersions": [], "id": "28612", "issueType": "Bug", "key": "PUP-10582", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "resolution": "Duplicate", "resolutionDate": "2020-07-10T10:38:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Puppet runs should fail fast when no environment can be found", "timeSpent": "PT0S", "updated": "2022-01-31T15:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This might be a duplicate of PUP-10580 which will be fixed in 6.17.0.", "created": "2020-07-09T18:01:00.000000"}, {"author": "557058:1134d60c-31df-407a-b573-e0cfaef8865e", "body": "[~accountid:557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4] Still no word back, I have just replied again but if I don't hear any word in a few days, the support ticket will have to be closed", "created": "2020-07-28T02:13:00.000000"}, {"author": "557058:1134d60c-31df-407a-b573-e0cfaef8865e", "body": "Customer has not responded about whether upgrading fixed this issue and its been almost a month. If they do come back with issues we can reopen", "created": "2020-09-01T03:47:00.000000"}], "components": [], "created": "2020-07-09T10:17:00.000000", "creator": "557058:1134d60c-31df-407a-b573-e0cfaef8865e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1c4ec3a7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master Config", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Monolithic"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "RHEL 7 (x86_64)"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02yns:"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "39917"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3323437258_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1318714870"}], "description": "*Puppet Version:* 6.16 (PE 2019.8)\n*Puppet Server Version:* 6.12.0\n*OS Name/Version:*RHEL 7\n\nCustomer is using the --compile flag with the `puppet lookup` command and they are receiving the following error:\n\n\n{code:java}\nError: Could not run: Could not retrieve resources from the PuppetDB at **hostname**:8140: [400 Bad Request] Malformed JSON for query: %5B%22and%22%2C%5B%22%3D%22%2C%22type%22%2C%22Host6%22%5D%2C%5B%22%3D%22%2C%22exported%22%2Ctrue%5D%2C%5B%22not%22%2C%5B%22%3D%22%2C%22certname%22%2C%22**hostname**%22%5D%5D%2C%5B%22%3D%22%2C%22tag%22%2C%22**hostname**%22%5D%5D\n{code}\n\nThis is a bit strange as the exported resources can be queried and returned from the db just fine. This was also working before upgrading to 2019.8\n\n*Desired Behavior:* no errors relating to exported resources when using the --compile flag\n\n\n*Actual Behavior:* receiving the above 400 Bad Request] Malformed JSON\n\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24473", "fixedVersions": [], "id": "24473", "issueType": "Bug", "key": "PUP-10581", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:1134d60c-31df-407a-b573-e0cfaef8865e", "resolution": "Done", "resolutionDate": "2020-09-01T03:47:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet lookup --compile issues in PE2019.8", "timeSpent": "PT0S", "updated": "2020-09-01T03:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in e4b8027db1 and passed in same SHA", "created": "2020-07-07T12:49:00.000000"}], "components": [], "created": "2020-07-06T14:56:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3a980dae"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02wxk:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "6.16.0 introduced a regression that caused query parameters to be double URL encoded. This restores the behavior that existed previously. Puppet expects the caller to URL encode query parameters that are passed to the Puppet::Network::HTTP::Connection methods."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_196611_*|*_1_*:*_1_*:*_10309_*|*_10007_*:*_1_*:*_78718431_*|*_5_*:*_1_*:*_0"}], "description": "A regression in 6.16.0 causes puppet to encode paths and queries when calling the legacy HTTP API {{Puppet::Network::HttpPool}}. To reproduce, given the following code:\n\n{code}\nrequire 'puppet'\nrequire 'puppet/network/http_pool'\n\nPuppet.initialize_settings(['--http_debug'])\nquery = URI.escape({ 'a' => 'b' }.to_json)\n\nhttp = Puppet::Network::HttpPool.http_instance('www.google.com', 80, false, false)\nhttp.get(\"/foo%20bar?q=#{query}\")\n{code}\n\nIn 6.16.0 it results in:\n\n{noformat}\n$ bx ruby http.rb\nopening connection to www.google.com:80...\nopened\nConn transport_request\nConn begin_transport\n<- \"GET /foo%2520bar?q=%257B%2522a%2522%3A%2522b%2522%257D HTTP/1.1\n{noformat}\n\nWhereas in 6.15.0:\n\n{noformat}\n$ bx ruby http.rb\nopening connection to www.google.com:80...\nopened\nConn transport_request\nConn begin_transport\n<- \"GET /foo%20bar?q=%7B%22a%22:%22b%22%7D HTTP/1.1\n{noformat}\n\nNote the different levels of encoding on the {{GET}} request line.\n\nThis issue was introduced in PUP-10289 when switching over to the {{ConnectionAdapter}}. See https://github.com/puppetlabs/puppet/pull/8166#commitcomment-40394792\n\n/cc [~accountid:557058:be86c7d6-2807-42d3-9715-80da0cf607cd]", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27632", "fixedVersions": ["PUP 6.17.0"], "id": "27632", "issueType": "Bug", "key": "PUP-10580", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-07-07T12:51:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "ConnectionAdapter encodes the path and query whereas the Connection class didn't", "timeSpent": "PT0S", "updated": "2020-07-07T12:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:3fde63ce-1af9-4657-8cf9-544754ab54a6", "body": "I think this would be a good thing, but perhaps baking in the same behavior as other resources, where the \"command\" attribute would support remote items. \u00a0So when I would normally use a file resource to place a file in /some/random/path, then execute it with \"exec\", perhaps baking it into the idiom like so:\n\n\u00a0\n{code:java}exec{ 'thing': \u00a0 \n\u00a0 path          => '/foo:/bar:/baz', \u00a0 \n\u00a0 command => 'puppet:///modules/foo/do_the_thing.sh', \n}{code}\n\u00a0\n\nmight be a better route to that end? \u00a0Puppet could use vardir or rundir, for example to place the script long enough for execution. \u00a0Obviously, this could find itself to be onerous without disciplined use of conditionals like \"onlyif\" or \"unless\".", "created": "2020-07-06T08:01:00.000000"}, {"author": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "body": "You can already do something very similar to what you're asking for [~accountid:557058:58c5336a-e9d7-4eff-b221-85517090556b]\u00a0by using the {{shell}} provider and the {{file()}}, {{epp()}}, or {{template()}} function.\n\n{code}\nexec { 'hello':\n  command  => file('foo/hello_world.sh'),\n  onlyif   => file('foo/check.sh'),\n  provider => 'shell',\n}\n{code}\n\nA similar example is in the Windows, where the {{powershell}} exec provider was designed to handle cases like this: https://forge.puppet.com/puppetlabs/powershell#usage\n{code}\nexec { 'rename-guest':\n  command   => file('guest/rename-guest.ps1'),\n  onlyif    => file('guest/guest-exists.ps1'),\n  provider  => powershell,\n  logoutput => true,\n}\n{code}", "created": "2020-07-06T09:28:00.000000"}, {"author": "557058:58c5336a-e9d7-4eff-b221-85517090556b", "body": "That's neat. That should definitely be highlighted in the type references.\n\nOne issue I see is that this doesn't necessarily leave the file where it can be observed. Especially if it's a template, if there are issues running it it would be nice to see it on disk (or otherwise obtain its contents) for troubleshooting whether it's a template generation or a command running issue.", "created": "2020-07-06T15:30:00.000000"}], "components": [], "created": "2020-07-06T07:40:00.000000", "creator": "557058:58c5336a-e9d7-4eff-b221-85517090556b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6d173bcf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02wxc:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Jul/20"}], "description": "*As a puppet user*\n *I want the exec resource to support the \"source\" and \"content\" attributes*\n *So that I do not need to push a file resource and maintain the link between the two.*\n\n\u00a0\n\nThere is a fairly common use pattern of file -> exec, where you want to exec a fairly complicated action, or even just two commands that need to share some environment that two execs would not share. The file resource pushes down the script. The exec resource runs the script.\n\n{{file { '/usr/bin/somescript':}}\n{{\u00a0 ...}}\n{{}}}\n\n{{exec {'do the thing':}}\n{{\u00a0 ensure => present,}}\n{{\u00a0 command => '/usr/bin/somescript',}}\n{{\u00a0 requires => File['/usr/bin/somescript'],}}\n{{}}}\n\nIt becomes very easy to create failures when one resource is updated without the other being modified, especially if they are in different classes or separated by some space. A common fault might occur when the script name is changed in the file resource only. The exec will fail on every run because its command does not exist.\n\nThe request is for an exec resource that can include the script as part of the resource. There would be no need to put a file in a specific path, the script can either be held in memory or stored in a temporary space on the system. It would look something like:\n\n{{exec {'do the thing':}}\n{{\u00a0 ensure => present,}}\n{{\u00a0 source => 'puppet:///modules/profile/do_the_thing.sh',}}\n{{}}}\n\nThe {{content}} attribute could be helpful as well when the command requires some templating.\n\n{{exec {'do the thing':}}\n{{\u00a0 ensure => present,}}\n{{\u00a0 content => template('profile/do_the_thing.sh.erb'),}}\n{{}}}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26551", "fixedVersions": [], "id": "26551", "issueType": "New Feature", "key": "PUP-10579", "labels": ["feature"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:58c5336a-e9d7-4eff-b221-85517090556b", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Request: Add \"source\" and \"content\" attributes to the exec resource", "timeSpent": "PT0S", "updated": "2020-11-10T03:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5abd613dd4cf3c56be24b70d", "body": "will be fixed in:\u00a0PA-3355", "created": "2020-08-04T03:10:00.000000"}], "components": [], "created": "2020-07-02T04:52:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@798b223b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3325"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02w3c:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1822_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2845049313"}], "epicLinkSummary": "Remove [Puppet7]Debian 8 FOSS support", "estimate": "PT0S", "externalId": "20307", "fixedVersions": [], "id": "20307", "issueType": "Task", "key": "PUP-10578", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": "58072", "parentSummary": "Remove [Puppet7]Debian 8 FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Won't Fix", "resolutionDate": "2020-08-04T03:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Update Public-facing Puppet docs to remove [Puppet7]Debian 8", "timeSpent": "PT0S", "updated": "2020-08-11T03:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-07-02T04:48:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@434064f3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3317"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02vyo:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1593_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2845274849"}], "epicLinkSummary": "Remove [Puppet7]Solaris 10 and Solaris 10 SPARC FOSS support", "estimate": "PT0S", "externalId": "29791", "fixedVersions": [], "id": "29791", "issueType": "Task", "key": "PUP-10577", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": "57615", "parentSummary": "Remove [Puppet7]Solaris 10 and Solaris 10 SPARC FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Won't Fix", "resolutionDate": "2020-08-04T03:09:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Update Public-facing Puppet docs to remove [Puppet7]Solaris 10 and Solaris 10 SPARC", "timeSpent": "PT0S", "updated": "2020-08-11T03:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5abd613dd4cf3c56be24b70d", "body": "will be fixed in :\u00a0PA-3355", "created": "2020-08-04T03:09:00.000000"}], "components": [], "created": "2020-07-02T04:44:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3c2d3de2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3309"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02vu0:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1702_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2845505468"}], "epicLinkSummary": "Remove [Puppet7]SLES 11 FOSS support", "estimate": "PT0S", "externalId": "28611", "fixedVersions": [], "id": "28611", "issueType": "Task", "key": "PUP-10576", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": "57228", "parentSummary": "Remove [Puppet7]SLES 11 FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Won't Fix", "resolutionDate": "2020-08-04T03:09:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Update Public-facing Puppet docs to remove [Puppet7]SLES 11", "timeSpent": "PT0S", "updated": "2020-08-11T03:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5abd613dd4cf3c56be24b70d", "body": "will be fixed in :\u00a0PA-3355", "created": "2020-08-04T03:08:00.000000"}], "components": [], "created": "2020-07-02T04:40:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6830ba68"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3301"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02vpc:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1767_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2845695788"}], "epicLinkSummary": "Remove [Puppet7]Windows 2008 and 7 and 8 FOSS support", "estimate": "PT0S", "externalId": "27630", "fixedVersions": [], "id": "27630", "issueType": "Task", "key": "PUP-10575", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": "56715", "parentSummary": "Remove [Puppet7]Windows 2008 and 7 and 8 FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Won't Fix", "resolutionDate": "2020-08-04T03:08:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Public-facing Puppet docs to remove [Puppet7]Windows 2008 and 7 and 8", "timeSpent": "PT0S", "updated": "2020-08-11T03:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5abd613dd4cf3c56be24b70d", "body": "will be fixed in:\u00a0PA-3355", "created": "2020-08-04T03:08:00.000000"}], "components": [], "created": "2020-07-02T04:32:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@480ac3a8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3293"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02vko:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1675_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2846153803"}], "epicLinkSummary": "Remove [Puppet7]Ubuntu 14.04 FOSS support", "estimate": "PT0S", "externalId": "26550", "fixedVersions": [], "id": "26550", "issueType": "Task", "key": "PUP-10574", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": "56234", "parentSummary": "Remove [Puppet7]Ubuntu 14.04 FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Won't Fix", "resolutionDate": "2020-08-04T03:08:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Public-facing Puppet docs to remove [Puppet7]Ubuntu 14.04", "timeSpent": "PT0S", "updated": "2020-08-11T03:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-07-01T17:36:00.000000", "creator": "5b64ddd7d1e8dc2d916c6289", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@8ad59b2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02vds:"}], "description": "Some resource types can have an effect on other types, such as {{yumrepo}} and {{package}}.\u00a0 In this example, when a {{package}} resource is encountered in a catalog, puppet prefetches package version information from the package provider.\u00a0 However, if a {{yumrepo}} resource (or perhaps a {{file}} resource for apt or {{ini_setting}} resource for zypper) then changes the underlying repo that other packages come from, even if that first applied package is entirely unrelated, puppet will not refetch package information and end up using stale information for the application of later package resources.\u00a0 This was the bug in PE-28931.\n\n\u00a0\n\nHaving a metaparameter, something like {{invalidate_prefetch}} or {{flush_type}}, that takes a resource type and tells Puppet to flush its cached information for that type and refetch it, would mitigate this problem.\u00a0 It would probably only need to be performed if the resource was applying corrective changes.\n{code:java}file { '/etc/yum.repos.d/foo.repo':\n  ensure              => present,\n  source              => 'puppet:///modules/foo.repo',\n  invalidate_prefetch => Package,\n}{code}\n\u00a0\n\nWhile it is possible to ensure, say, {{yumrepo}} resources come before all {{package}} resources via a resource collector, usage of these collectors is not always ideal (or in the case of PE management code, we can't just collect all packages due to our use of virtual resources).\n\nIn general, this is a constraint in Puppet's ability to easily model desired state.\u00a0 If one {{package}} resource is entirely unrelated to other {{yumrepo}} / {{package}} resources, it should not have an effect on them.\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25472", "fixedVersions": [], "id": "25472", "issueType": "Improvement", "key": "PUP-10573", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5b64ddd7d1e8dc2d916c6289", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Add metaparameter to flush/refetch resource information", "timeSpent": "PT0S", "updated": "2020-11-10T03:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in https://github.com/puppetlabs/puppet/commit/7facda81b3efd77848b85384e6a3895fd45303e0", "created": "2020-07-06T15:19:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in e4b8027db1", "created": "2020-07-07T12:49:00.000000"}], "components": [], "created": "2020-06-30T17:52:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3bffc785"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02upk:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet could not apply a cached catalog if it contained Binary or Deferred data types, causing it to always fallback to requesting a new catalog."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_77386227_*|*_1_*:*_1_*:*_243380_*|*_10007_*:*_1_*:*_505050767_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3939411"}], "description": "If a cached catalog contains rich data (such as {{Binary}}) then puppet will fail to load the cached catalog and fallback to loading a new catalog. This doesn't happen with {{Sensitive}} because that data type is handled differently:\n\n{noformat}\nCached catalog for vernal-creator.delivery.puppetlabs.net failed: Could not parse JSON data for catalog vernal-creator.delivery.puppetlabs.net: Could not intern from rich_data_json: Internal Error: Puppet Context ':loaders' missing\n{noformat}\n\nTo reproduce, create the following resource:\n\n{code:puppet}\nnotify { 'message':\n  message => Binary.new('aGk=')\n}\n{code}\n\nNote {{aGk=}} is base64 for {{hi}}\n\nRun the agent once to cache the catalog:\n\n{noformat}\n[root@vernal-creator ~]# puppet agent --no-daemonize --onetime --verbose\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Caching catalog for vernal-creator.delivery.puppetlabs.net\nInfo: Applying configuration version '1593554072'\nNotice: hi\nNotice: /Stage[main]/Main/Notify[message]/message: defined 'message' as 'hi'\nNotice: Applied catalog in 0.01 seconds\n{noformat}\n\nRun it again, but this time force the agent to use a cached catalog:\n\n{noformat}\n[root@vernal-creator ~]# puppet agent --no-daemonize --onetime --use_cached_catalog --verbose --trace\nError: Cached catalog for vernal-creator.delivery.puppetlabs.net failed: Could not parse JSON data for catalog vernal-creator.delivery.puppetlabs.net: Could not intern from rich_data_json: Internal Error: Puppet Context ':loaders' missing\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/loaders.rb:176:in `loaders'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/loaders.rb:89:in `find_loader'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/types/types.rb:319:in `create'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/serialization/from_data_converter.rb:216:in `pcore_type_hash_to_value'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/serialization/from_data_converter.rb:139:in `block in initialize'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/serialization/from_data_converter.rb:155:in `convert'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/serialization/from_data_converter.rb:157:in `block (3 levels) in convert'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/serialization/from_data_converter.rb:171:in `with'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/serialization/from_data_converter.rb:157:in `block (2 levels) in convert'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/serialization/from_data_converter.rb:157:in `each_pair'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/serialization/from_data_converter.rb:157:in `block in convert'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/serialization/from_data_converter.rb:179:in `with_value'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/serialization/from_data_converter.rb:195:in `build'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/serialization/from_data_converter.rb:157:in `convert'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/serialization/from_data_converter.rb:72:in `convert'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource.rb:55:in `initialize_from_hash'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource.rb:42:in `from_data_hash'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:437:in `block in from_data_hash'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:436:in `collect'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:436:in `from_data_hash'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/formats.rb:216:in `block in data_to_instance'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:314:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/formats.rb:214:in `data_to_instance'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/formats.rb:189:in `block in intern'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:314:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/formats.rb:188:in `intern'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/format_support.rb:12:in `convert_from'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog/json.rb:11:in `from_json'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/json.rb:62:in `load_json_from_file'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/json.rb:10:in `find'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:265:in `find_in_cache'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:215:in `find'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:497:in `block in retrieve_catalog_from_cache'\n{noformat}\n\nSince the cached catalog fails, puppet will fallback to requesting a new catalog (though it defeats the purpose of using a cached catalog):\n\n{noformat}\n# continued from above\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Caching catalog for vernal-creator.delivery.puppetlabs.net\nInfo: Applying configuration version '1593554078'\nNotice: hi\nNotice: /Stage[main]/Main/Notify[message]/message: defined 'message' as 'hi'\nNotice: Applied catalog in 0.01 seconds\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23419", "fixedVersions": ["PUP 6.17.0"], "id": "23419", "issueType": "Bug", "key": "PUP-10572", "labels": ["doc_reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-07-07T12:49:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet cannot apply a cached catalog containing binary rich data", "timeSpent": "PT0S", "updated": "2020-07-14T02:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-06-30T12:56:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@df24243"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02u9k:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1088_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3739821421"}], "description": "(Initial planned release date: 2020-06-14)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2020-07-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "estimate": "PT0S", "externalId": "20305", "fixedVersions": [], "id": "20305", "issueType": "Task", "key": "PUP-10571", "labels": ["release"], "originalEstimate": "PT0S", "parent": "29789", "parentSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-08-12T19:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 6.17.0)", "timeSpent": "PT0S", "updated": "2020-08-12T19:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-06-30T12:56:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4b8ac717"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02u9c:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_949_*|*_3_*:*_1_*:*_60160_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3739831172"}], "description": "(Initial planned release date: 2020-06-14)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n", "duedate": "2020-07-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "estimate": "PT0S", "externalId": "29790", "fixedVersions": [], "id": "29790", "issueType": "Task", "key": "PUP-10570", "labels": ["release"], "originalEstimate": "PT0S", "parent": "29789", "parentSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-08-12T19:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 6.17.0)", "timeSpent": "PT0S", "updated": "2020-08-12T19:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "attachments": [], "comments": [], "components": [], "created": "2020-06-30T12:56:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2e3555cb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02u94:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_951_*|*_5_*:*_2_*:*_15331_*|*_10006_*:*_1_*:*_1309378906"}], "description": "(Initial planned release date: 2020-06-14)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 6.17.0 is now available\".\n", "duedate": "2020-06-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "estimate": "PT0S", "externalId": "28685", "fixedVersions": [], "id": "28685", "issueType": "Task", "key": "PUP-10569", "labels": ["release"], "originalEstimate": "PT0S", "parent": "29789", "parentSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-07-15T16:39:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Send release announcement (Puppet Platform 6.17.0)", "timeSpent": "PT0S", "updated": "2020-07-15T16:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[https://puppet.com/docs/puppet/6.17/release_notes_puppet.html#release_notes_puppet_x-17-0]", "created": "2020-07-15T01:37:00.000000"}], "components": [], "created": "2020-06-30T12:56:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@680f0a91"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02u8o:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1113_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1255236290"}], "description": "(Initial planned release date: 2020-06-14)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2020-06-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "estimate": "PT0S", "externalId": "26549", "fixedVersions": [], "id": "26549", "issueType": "Task", "key": "PUP-10568", "labels": ["release"], "originalEstimate": "PT0S", "parent": "29789", "parentSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-07-15T01:37:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 6.17.0)", "timeSpent": "PT0S", "updated": "2020-07-15T01:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-06-30T12:56:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3d0bb800"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02u8g:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1029_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1140373274"}], "description": "(Initial planned release date: 2020-06-14)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2020-07-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "estimate": "PT0S", "externalId": "25471", "fixedVersions": [], "id": "25471", "issueType": "Task", "key": "PUP-10567", "labels": ["release"], "originalEstimate": "PT0S", "parent": "29789", "parentSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-07-13T17:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 6.17.0)", "timeSpent": "PT0S", "updated": "2020-07-13T17:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [{"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "The next release in the Puppet 6 series, Puppet 6.17.0, is now available!\n\nThe release contains bug fixes and minor improvements, including:\n * HTTPS file sources allow additional CA certificates\n * Puppet can now retrieve file content from artifactory using an HTTP(S) source parameter\n * Support for username:password@domain for HTTP/HTTPS sources\n\nFor the full list of changes, check out the release notes:\u00a0[https://puppet.com/docs/puppet/latest/release_notes_puppet.html]\n\n\u00a0\n\n[~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100] [~accountid:5b50a69a2726b92cd5368cb3]\u00a0add any highlights here\n\n[~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1]\u00a0 cc/ [~accountid:999854:191ed73b-6251-4dec-84ff-45f07d9b8e9c] to review and approve before shipping this cc/[~accountid:557058:9e548bcc-dbc3-4c04-a047-0344921dbb97]", "created": "2020-07-13T18:14:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Release notes preview:\u00a0[https://10.234.5.14/docs/puppet/latest-preview/release_notes_puppet.html#release_notes_puppet_x-16-0]", "created": "2020-07-14T07:22:00.000000"}], "components": [], "created": "2020-06-30T12:56:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@551b9342"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02u80:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1131_*|*_3_*:*_1_*:*_189836116_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1210344755"}], "description": "(Initial planned release date: 2020-06-14)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2020-06-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "estimate": "PT0S", "externalId": "23417", "fixedVersions": [], "id": "23417", "issueType": "Task", "key": "PUP-10566", "labels": ["release"], "originalEstimate": "PT0S", "parent": "29789", "parentSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-07-16T17:52:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare release announcement (Puppet Platform 6.17.0)", "timeSpent": "PT0S", "updated": "2020-07-16T17:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Release notes up on the preview site:\u00a0[https://10.234.5.14/docs/puppet/latest-preview/release_notes_puppet.html#release_notes_puppet_x-16-0]", "created": "2020-07-13T07:56:00.000000"}], "components": [], "created": "2020-06-30T12:56:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@53c2685f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02u7s:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1095_*|*_3_*:*_1_*:*_17285459_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1087917325"}], "description": "(Initial planned release date: 2020-06-14)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\n For X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n\n\u00a0\n\nRelease notes draft:\u00a0https://docs.google.com/document/d/1jttwqo-uQwIt3yFQYsa7hs_SwFp-SZls_tSATgD9AvM/edit?usp=sharing", "duedate": "2020-07-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "estimate": "PT0S", "externalId": "22299", "fixedVersions": [], "id": "22299", "issueType": "Task", "key": "PUP-10565", "labels": ["release"], "originalEstimate": "PT0S", "parent": "29789", "parentSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-07-13T07:56:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 6.17.0)", "timeSpent": "PT0S", "updated": "2020-07-13T07:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-06-30T12:56:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@57dde462"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02u7k:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1105_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1140370387"}], "description": "(Initial planned release date: 2020-06-14)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2020-07-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "estimate": "PT0S", "externalId": "21385", "fixedVersions": [], "id": "21385", "issueType": "Task", "key": "PUP-10564", "labels": ["release"], "originalEstimate": "PT0S", "parent": "29789", "parentSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-07-13T17:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 6.17.0)", "timeSpent": "PT0S", "updated": "2020-07-13T17:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-06-30T12:56:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@47962583"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02u7c:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1012_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1140395155"}], "description": "(Initial planned release date: 2020-06-14)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 6.17.0 and puppet-agent 6.17.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2020-07-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "estimate": "PT0S", "externalId": "20304", "fixedVersions": [], "id": "20304", "issueType": "Task", "key": "PUP-10563", "labels": ["release"], "originalEstimate": "PT0S", "parent": "29789", "parentSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-07-13T17:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 6.17.0)", "timeSpent": "PT0S", "updated": "2020-07-13T17:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-06-30T12:56:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27bd52cc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-8"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 6.17.0 Release - 2020-06-14\n"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_purple"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02u74:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_8155329509_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "duedate": "2020-06-14T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29789", "fixedVersions": [], "id": "29789", "issueType": "Epic", "key": "PUP-10562", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Done", "resolutionDate": "2020-10-02T22:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "timeSpent": "PT0S", "updated": "2020-10-02T22:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-06-30T12:54:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@40a60cf2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10552"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02u3c:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_983_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_8155397590"}], "description": "(Initial planned release date: 2020-07-14)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2020-07-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "estimate": "PT0S", "externalId": "22298", "fixedVersions": [], "id": "22298", "issueType": "Task", "key": "PUP-10561", "labels": ["release"], "originalEstimate": "PT0S", "parent": "21382", "parentSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Done", "resolutionDate": "2020-10-02T22:17:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 5.5.21)", "timeSpent": "PT0S", "updated": "2020-10-02T22:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-06-30T12:54:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5e2f831c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10552"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02u34:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1049_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3740059537"}], "description": "(Initial planned release date: 2020-07-14)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n", "duedate": "2020-07-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "estimate": "PT0S", "externalId": "21384", "fixedVersions": [], "id": "21384", "issueType": "Task", "key": "PUP-10560", "labels": ["release"], "originalEstimate": "PT0S", "parent": "21382", "parentSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-08-12T19:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 5.5.21)", "timeSpent": "PT0S", "updated": "2020-08-12T19:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "attachments": [], "comments": [], "components": [], "created": "2020-06-30T12:54:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3b711a0d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10552"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02u2w:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1111_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1309563596"}], "description": "(Initial planned release date: 2020-07-14)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 5.5.21 is now available\".\n", "duedate": "2020-07-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "estimate": "PT0S", "externalId": "20303", "fixedVersions": [], "id": "20303", "issueType": "Task", "key": "PUP-10559", "labels": ["release"], "originalEstimate": "PT0S", "parent": "21382", "parentSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-07-15T16:40:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Send release announcement (Puppet Platform 5.5.21)", "timeSpent": "PT0S", "updated": "2020-07-15T16:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[https://puppet.com/docs/puppet/5.5/release_notes.html#puppet-5521]", "created": "2020-07-15T01:36:00.000000"}], "components": [], "created": "2020-06-30T12:54:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5f871e48"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10552"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02u2g:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_977_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1255349540"}], "description": "(Initial planned release date: 2020-07-14)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2020-07-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "estimate": "PT0S", "externalId": "28684", "fixedVersions": [], "id": "28684", "issueType": "Task", "key": "PUP-10558", "labels": ["release"], "originalEstimate": "PT0S", "parent": "21382", "parentSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-07-15T01:36:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 5.5.21)", "timeSpent": "PT0S", "updated": "2020-07-15T01:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-06-30T12:53:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6c15d0b5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10552"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02u28:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1059_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1140546176"}], "description": "(Initial planned release date: 2020-07-14)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2020-07-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "estimate": "PT0S", "externalId": "27628", "fixedVersions": [], "id": "27628", "issueType": "Task", "key": "PUP-10557", "labels": ["release"], "originalEstimate": "PT0S", "parent": "21382", "parentSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-07-13T17:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 5.5.21)", "timeSpent": "PT0S", "updated": "2020-07-13T17:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [{"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "The next point release in the Puppet 5.5 series, Puppet 5.5.21, is now available!\n\nThe release contains bug fixes and minor improvements, including:\n * Updated the permission for\u00a0{{state.yaml}}\u00a0and\u00a0{{transactionstore.yaml}}\u00a0to remove the group write access\n * New disabled value in dnfmodule package provider\n * Improved error message when a file resource requires a non-existent directory\n\nFor the full list of changes, check out the release notes:\u00a0[https://puppet.com/docs/puppet/5.5/release_notes.html]\n\n\u00a0\n\ncc/[~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100] [~accountid:5b50a69a2726b92cd5368cb3]\u00a0please add any highlights here. [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1]\u00a0to review before shipping cc/[~accountid:557058:9e548bcc-dbc3-4c04-a047-0344921dbb97]\u00a0 cc/[~accountid:999854:191ed73b-6251-4dec-84ff-45f07d9b8e9c]", "created": "2020-07-13T18:11:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Release notes PR: [https://github.com/puppetlabs/puppet-docs/pull/986]", "created": "2020-07-14T07:21:00.000000"}], "components": [], "created": "2020-06-30T12:53:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@188326c9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10552"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02u1s:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1014_*|*_3_*:*_1_*:*_189833781_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1210507957"}], "description": "(Initial planned release date: 2020-07-14)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2020-07-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "estimate": "PT0S", "externalId": "25470", "fixedVersions": [], "id": "25470", "issueType": "Task", "key": "PUP-10556", "labels": ["release"], "originalEstimate": "PT0S", "parent": "21382", "parentSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-07-16T17:52:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare release announcement (Puppet Platform 5.5.21)", "timeSpent": "PT0S", "updated": "2020-07-16T17:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Release notes PR:\u00a0[https://github.com/puppetlabs/puppet-docs/pull/986]", "created": "2020-07-13T05:05:00.000000"}], "components": [], "created": "2020-06-30T12:53:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@155f8a2e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10552"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02u1k:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_949_*|*_3_*:*_1_*:*_3515610_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1091612497"}], "description": "(Initial planned release date: 2020-07-14)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\n For X and Y releases, ensure that the WEB team has prepared Drupal for the release.", "duedate": "2020-07-03T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "estimate": "PT0S", "externalId": "24471", "fixedVersions": [], "id": "24471", "issueType": "Task", "key": "PUP-10555", "labels": ["release"], "originalEstimate": "PT0S", "parent": "21382", "parentSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-07-13T05:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 5.5.21)", "timeSpent": "PT0S", "updated": "2020-07-13T05:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-06-30T12:53:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1294e786"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10552"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02u1c:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1028_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1140567037"}], "description": "(Initial planned release date: 2020-07-14)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2020-07-01T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "estimate": "PT0S", "externalId": "23415", "fixedVersions": [], "id": "23415", "issueType": "Task", "key": "PUP-10554", "labels": ["release"], "originalEstimate": "PT0S", "parent": "21382", "parentSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-07-13T17:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 5.5.21)", "timeSpent": "PT0S", "updated": "2020-07-13T17:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-06-30T12:53:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7506c230"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10552"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02u14:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1119_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1140574707"}], "description": "(Initial planned release date: 2020-07-14)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 5.5.21 and puppet-agent 5.5.21 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2020-07-01T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "estimate": "PT0S", "externalId": "22297", "fixedVersions": [], "id": "22297", "issueType": "Task", "key": "PUP-10553", "labels": ["release"], "originalEstimate": "PT0S", "parent": "21382", "parentSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-07-13T17:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 5.5.21)", "timeSpent": "PT0S", "updated": "2020-07-13T17:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-06-30T12:53:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@37d42c07"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-6"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 5.5.21 Release - 2020-07-14\n"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "green"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02u0w:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_8155442054_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "duedate": "2020-07-14T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21382", "fixedVersions": [], "id": "21382", "issueType": "Epic", "key": "PUP-10552", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Done", "resolutionDate": "2020-10-02T22:17:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "timeSpent": "PT0S", "updated": "2020-10-02T22:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:1058a011-1194-4f15-ac2c-2aff0e71c6ae", "created": "2020-06-27T07:19:00.000000", "name": "Screen Shot 2020-06-27 at 11.19.45 pm.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11495"}], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "You should be able to configure the [color|https://puppet.com/docs/puppet/latest/configuration.html#color] setting in {{puppet.conf}} to false to disable this.", "created": "2020-06-29T09:55:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I'm going to close this issue since there's a solution to the problem. Note the description about colorization being disabled on Windows is no longer true, since we moved to ruby 2 and the\u00a0changes made in\u00a0PUP-3915. I'll fix up the description.", "created": "2020-06-29T14:16:00.000000"}], "components": [], "created": "2020-06-27T07:19:00.000000", "creator": "557058:1058a011-1194-4f15-ac2c-2aff0e71c6ae", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3660f16c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02rww:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Jun/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_197853681_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:6.9.0*\n *Puppet Server Version:*\n *OS Name/Version:CentOS 8.2.2004*\n\n\u00a0\n\n*Desired Behavior:*\n\nTo be able to read error messages.\n\n*Actual Behavior:*\n\nPuppet produces error messages with yellow text that cannot be read on a white background.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23399", "fixedVersions": [], "id": "23399", "issueType": "Bug", "key": "PUP-10551", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:1058a011-1194-4f15-ac2c-2aff0e71c6ae", "resolution": "Incomplete", "resolutionDate": "2020-06-29T14:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Cannot read error text due to colors", "timeSpent": "PT0S", "updated": "2020-06-29T14:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 5.5.x in\u00a0[https://github.com/puppetlabs/puppet/commit/885fade8e47dd8880cb8d30833a6ada29cffe052]", "created": "2020-06-29T17:54:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in\u00a0efe50c1532", "created": "2020-06-30T11:48:00.000000"}], "components": [], "created": "2020-06-26T10:54:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4fe26d4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02roo:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Print the mime types from the Accept header which are not acceptable to puppetserver instead of the format objects."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_64467909_*|*_1_*:*_1_*:*_6323990_*|*_10007_*:*_1_*:*_278070516_*|*_5_*:*_1_*:*_0"}], "description": "If the server can't generate a response in a mime type that the agent accepts, the server will emit an HTTP 406 Not Acceptable error, but the message includes the format objects instead of the names, leading to an unintelligible message on the agent:\n\n{noformat}\nWarning: Error 406 on SERVER: Not Acceptable: No supported formats are acceptable (Accept: [#<Puppet::Network::Format:0x7854686e @required_methods=[:render_method, :intern_method], @thename=:json, @confine_collection=#<Puppet::ConfineCollection:0x5c6ddb08 @confines=[], @label=\"Puppet::Network::Format[json]\">, @charset=#<Encoding:UTF-8>, @render_multiple_method=\"to_multiple_json\", @extension=\"json\", @intern_multiple_method=\"from_multiple_json\", @render_method=\"to_json\", @weight=15, @mime=\"application/json\", @intern_method=:from_data_hash, @options=nil>, #<Puppet::Network::Format:0x1393113d @required_methods=[:render_method, :intern_method], @thename=:pson, @confine_collection=#<Puppet::ConfineCollection:0x31d503f1 @confines=[], @label=\"Puppet::Network::Format[pson]\">, @charset=nil, @render_multiple_method=\"to_multiple_pson\", @extension=\"pson\", @intern_multiple_method=\"from_multiple_pson\", @render_method=\"to_pson\", @weight=10, @mime=\"text/pson\", @intern_method=:from_data_hash, @options=nil>])\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26548", "fixedVersions": ["PUP 5.5.21", "PUP 6.17.0"], "id": "26548", "issueType": "Bug", "key": "PUP-10549", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-06-30T11:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "HTTP 406 Not Acceptable error message should contain format names", "timeSpent": "PT0S", "updated": "2020-07-07T04:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "ping [~accountid:70121:4596f954-1fdf-472f-a700-6b7c2ffbc525] this ticket is a follow up to conversation on PUP-2169", "created": "2020-06-25T10:21:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "I think that having a property like `refresh_selinux_context` for file resource could solve the issue.", "created": "2020-06-26T00:52:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "hey people,\njust wanted to mention that vox pupuli hits this issue in several places as well, for example in our https://github.com/voxpupuli/puppet-hyperglass module", "created": "2020-09-23T00:42:00.000000"}], "components": ["Types and Providers"], "created": "2020-06-24T11:36:00.000000", "creator": "70121:bd69ac6c-1879-415c-a500-c523064f833c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5bc9d52b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-11132"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk67p:x"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Jun/20"}], "description": "*Puppet Version: 6.15.0*\n *Puppet Server Version: not applicable, we don't use it in our environment (we use \"git pull && puppet apply -e <classname>\" on every node)*\n *OS Name/Version: CentOS 7.8*\n\nIn our company, we have custom SELinux policy shipped in rpm. When we deploy new instance, our puppet recipes installs SELinux policy rpm and then create various file resources. However those resources are created with wrong SELinux labels because puppet doesn't refresh selinux contexts on file resources after new package is installed. To get proper file contexts, we must run puppet twice (first run install SELinux policy and the second run fixes file contexts)\n\nIn our environment, we use something like this:\n{noformat}\n  package { 'gdc-selinux':\n    ensure => latest;\n  }\n  -> file { '/etc/gdc/gcf':\n    ensure => directory;\n  }\n  -> file { '/etc/gdc/gcf/gcfw.json':\n    ensure => present;\n  }\n{noformat}\n\u00a0\nThe first puppet run outputs following - pkg is installed and files created, however with wrong SELinux context:\n{noformat}\nNotice: /Stage[main]/Type::Type_fake/Package[gdc-selinux]/ensure: created\nNotice: /Stage[main]/Type::Type_fake/File[/etc/gdc/gcf]/ensure: created\nNotice: /Stage[main]/Type::Type_fake/File[/etc/gdc/gcf/gcfw.json]/ensure: created\n{noformat}\n\nThe second puppet run fixes the issue:\n{noformat}\nNotice: /Stage[main]/Type::Type_fake/File[/etc/gdc/gcf]/seltype: seltype changed 'etc_t' to 'gdc_etc_t'\nNotice: /Stage[main]/Type::Type_fake/File[/etc/gdc/gcf/gcfw.json]/seltype: seltype changed 'etc_t' to 'gdc_gcfw_conf_t'\n{noformat}\n\nFor your conveniency, this is also reproducer (although not with \"package\" resource but with custom \"exec\" but logic behind it is pretty similar - update SELinux policy and then deliver files)\n{noformat}\n  exec { '/usr/sbin/semanage fcontext --add --type bin_t /tmp/barani':\n    logoutput => true;\n  }\n  -> file { '/tmp/barani':\n    ensure => present;\n  }\n{noformat}\n{noformat}\n# puppet apply\n...\nNotice: /Stage[main]/Type::Type_fake/Exec[/usr/sbin/semanage fcontext --add --type bin_t /tmp/barani]/returns: executed successfully\nNotice: /Stage[main]/Type::Type_fake/File[/tmp/barani]/ensure: created\n{noformat}\n{noformat}\n# ls -Z /tmp/barani \n-rw-r--r--. root root unconfined_u:object_r:user_tmp_t:s0 /tmp/barani\n{noformat}\n{noformat}\n# second puppet apply\n...\nNotice: /Stage[main]/Type::Type_fake/File[/tmp/barani]/seltype: seltype changed 'user_tmp_t' to 'bin_t'\n{noformat}\n\n*Desired Behavior:*\nFiles are created with proper SELinux contexts during one puppet run, instead of two runs needed\n\n*Actual Behavior:*\nCheck original description for reproducer or feel free to contact me if you need more info.", "epicLinkSummary": "SELinux updates", "estimate": "PT0S", "externalId": "29788", "fixedVersions": [], "id": "29788", "issueType": "Bug", "key": "PUP-10548", "labels": [], "originalEstimate": "PT0S", "parent": "20247", "parentSummary": "SELinux updates", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:bd69ac6c-1879-415c-a500-c523064f833c", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Wrong SELinux contexts on files if puppet installs new rpm with SELinux policy", "timeSpent": "PT0S", "updated": "2021-10-21T05:59:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [], "components": [], "created": "2020-06-24T00:37:00.000000", "creator": "623c12ff94742a00683e41fd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6cc10773"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02hc4:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Rights and privileges for local Windows users can now be managed using the `roles` property and `role_membership` parameter."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_186292688_*|*_1_*:*_1_*:*_343025_*|*_10007_*:*_1_*:*_1609480018_*|*_3_*:*_1_*:*_1845122685_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_174834603"}], "description": "As a continuation for PUP-1289 feature, we should consider the ability to grant/remove users' logon as a service right with puppet. Without this right, the user cannot be used as logon account for a service.\n\nThis would also help better testing\u00a0PUP-1289 through acceptance tests.\n\n\u00a0\n\nOther rights can be considered:\n\n[https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/user-rights-assignment#:~:text=User%20rights%20permissions%20control%20access,Policy%20name%20associated%20with%20it.]\n\n\u00a0\n\nSome useful links found for implementation:\n\n[https://docs.microsoft.com/en-us/windows/win32/secbp/assigning-privileges-to-an-account]\n\n[https://docs.microsoft.com/en-us/windows/win32/api/ntsecapi/nf-ntsecapi-lsaaddaccountrights]\n\n[https://github.com/microsoft/Windows-classic-samples/blob/master/Samples/Win7Samples/security/lsapolicy/lsaprivs/LsaPrivs.c]\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23395", "fixedVersions": ["PUP 6.18.0"], "id": "23395", "issueType": "New Feature", "key": "PUP-10547", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Medium (migrated)", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c12ff94742a00683e41fd", "resolution": "Fixed", "resolutionDate": "2020-08-07T04:38:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Manage user rights on Windows", "timeSpent": "PT0S", "updated": "2020-08-20T03:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623c128294742a00683e41b2", "body": "Hi I am trying to install a software on puppet agent . But in the puppet agent i am getting the below error.\n\n\u00a0\n\nError: Could not set 'file' on ensure: No such file or directory @ dir_s_mkdir - /appserver/pq-kibana/kibana/config/kibana.yml20200619-4441-7ogj42.lock at /platform/components/value_add/price_quality_core_kibana/fleet_0_1_1/modules/price_quality_kibana/manifests/init.pp:142\nError: Could not set 'file' on ensure: No such file or directory @ dir_s_mkdir - /appserver/pq-kibana/kibana/config/kibana.yml20200619-4441-7ogj42.lock at /platform/components/value_add/price_quality_core_kibana/fleet_0_1_1/modules/price_quality_kibana/manifests/init.pp:142\nWrapped exception:\nNo such file or directory @ dir_s_mkdir - /appserver/pq-kibana/kibana/config/kibana.yml20200619-4441-7ogj42.lock\nError: /Stage[main]/Price_quality_kibana/File[copy_kibana_conf]/ensure: change from absent to file failed: Could not set 'file' on ensure: No such file or directory @ dir_s_mkdir - /appserver/pq-kibana/kibana/config/kibana.yml20200619-4441-7ogj42.lock at /platform/components/value_add/price_quality_core_kibana/fleet_0_1_1/modules/price_quality_kibana/manifests/init.pp:142\n\n\u00a0\n\nCan anybody please help.", "created": "2020-06-19T07:40:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "It looks like you're trying to manage the file {{/appserver/pq-kibana/kibana/config/kibana.yml}} but one of the parent directories does not exist. Puppet doesn't automatically create directories, but you can tell puppet to create them via:\n\n{code:puppet}\nfile { ['/appserver', '/appserver/pq-kibana', etc] :\n  ensure => directory,\n  owner => 0,\n  group => 0,\n  mode => \"0755\",\n}\nfile { 'appserver/pq-kibana/kibana/config/kibana.yml':\n  ensure => file,\n  owner => 'kibana',\n  group => 'kibana',\n  mode => \"0640\"\n}\n{code}\n\nFor issues like this, it's best to join the puppet community on slack. Folks can give you  more timely feedback than will occur in JIRA. I'm going to close this ticket for now.", "created": "2020-06-25T10:09:00.000000"}], "components": [], "created": "2020-06-19T07:35:00.000000", "creator": "623c128294742a00683e41b2", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@66483f1f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02n40:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Jun/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_527650437_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:*\n *Puppet Server Version:*\n *OS Name/Version:*\n\nDescribe your issue in as much detail as possible\u2026\n Describe steps to reproduce\u2026\n\n*Desired Behavior:*\n\n*Actual Behavior:*\n\nPlease take a moment and attach any relevant log output and/or manifests. This will help us immensely when troubleshooting the issue.\n\nExamples:\n Run puppet agent with --test --trace --debug\n\nRelevant sections of {{/var/log/puppetlabs/puppetserver/puppetserver.log}} or any applicable logs from the same directory.\n\nFor more detailed information turn up the server logs by upping the log level in the server's logback.xml\n\nRelevant sections of configurations files (puppet.conf, hiera.conf, Server's conf.d, defaults/sysconfig)\n\nFor memory issues with server heap dumps are also helpful.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23392", "fixedVersions": [], "id": "23392", "issueType": "Bug", "key": "PUP-10545", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c128294742a00683e41b2", "resolution": "Incomplete", "resolutionDate": "2020-06-25T10:09:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Error: Could not set 'file' on ensure: No such file or directory @ dir_s_mkdir -", "timeSpent": "PT0S", "updated": "2020-06-25T10:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in https://github.com/puppetlabs/puppet/commit/240d2a11ff7ec1760805f8a4343f034423c738da", "created": "2020-06-18T11:58:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 5242077589", "created": "2020-06-19T10:10:00.000000"}], "components": [], "created": "2020-06-17T13:13:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6009e45"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-9910"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02lxg:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet incorrectly handled a file resource if the source parameter's path component had an extra slash, such as \"puppet:////modules/mymodule\" or \"http://server:port//file\"."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_79926707_*|*_1_*:*_1_*:*_815747_*|*_10007_*:*_1_*:*_77946554_*|*_3_*:*_1_*:*_3124154_*|*_6_*:*_1_*:*_0"}], "description": "Specifying a file source with an extra leading slash in the path causes puppet to think the source is a local file, and doesn't provide indications that that's what happened:\n\nCreate the following manifest on the server:\n{code:puppet}file { '/tmp/doubleslash':\n  ensure => file,\n  source => \"http://www.google.com//index.html\",\n}\n{code}\nThe agent run results in:\n{noformat}$ bx puppet agent -t\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Caching catalog for localhost\nInfo: Applying configuration version '1592422524'\nError: /Stage[main]/Main/File[/tmp/doubleslash]: Could not evaluate: Could not retrieve information from environment production source(s) http://www.google.com//index.html\n{noformat}\nRunning with {{--http_debug}} shows that the HEAD request to google is never made.", "epicLinkSummary": "HTTP(S) file sources", "estimate": "PT0S", "externalId": "26547", "fixedVersions": ["PUP 6.17.0"], "id": "26547", "issueType": "Bug", "key": "PUP-10544", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": "24389", "parentSummary": "HTTP(S) file sources", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-06-19T10:10:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "File sources whose path starts with double slashes are interpreted as a local file", "timeSpent": "PT0S", "updated": "2020-07-07T07:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in https://github.com/puppetlabs/puppet/commit/7ba18b2caa83a1586057ad123d3e0ad72d0e1f42", "created": "2020-06-25T09:58:00.000000"}], "components": [], "created": "2020-06-17T12:41:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3a019757"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-9910"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02lxc:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "If puppet tries to download file metadata from an HTTP(S) file source and the HEAD request results in HTTP 403 Forbidden or 405 Method Not Allowed, then it will fallback to a GET request with a 0 byte range."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_107049209_*|*_1_*:*_1_*:*_2617040_*|*_10007_*:*_1_*:*_678799284_*|*_5_*:*_1_*:*_0"}], "description": "Trying to download a file from puppetserver using as an {{https}} source instead of {{puppet://}} will fail because puppetserver does not allow HEAD requests. This is similar to PUP-6380. For example, given:\n\n{code:puppet}\nfile { '/tmp/ca.pem':\n  ensure => file,\n  source => \"https://${server_facts['servername']}:8140/puppet-ca/v1/certificate/ca?environment=production\",\n}\n{code}\n\nThe agent will fail:\n\n{noformat}\n$ puppet agent -t --http_debug\n...\n<- \"HEAD /puppet-ca/v1/certificate/ca?environment=production HTTP/1.1\\r\\nX-Puppet-Version: 6.17.0\\r\\nUser-Agent: Puppet/6.17.0 Ruby/2.5.7-p206 (x86_64-darwin18)\\r\\nAccept: */*\\r\\nHost: dusty-haulage.delivery.puppetlabs.net:8140\\r\\n\\r\\n\"\n-> \"HTTP/1.1 403 Forbidden\\r\\n\"\n-> \"Date: Wed, 17 Jun 2020 18:39:03 GMT\\r\\n\"\n-> \"X-Puppet-Version: 6.16.0\\r\\n\"\n-> \"Content-Length: 103\\r\\n\"\n-> \"\\r\\n\"\nConn end_transport\nConn keep-alive\nError: /Stage[main]/Main/File[/tmp/puppetserver]: Could not evaluate: Could not retrieve information from environment production source(s) https://dusty-haulage.delivery.puppetlabs.net:8140/puppet-ca/v1/certificate/ca?environment=production\n{noformat}\n\nOne possible solution is to sniff the response header and fallback to a partial GET request as is done for PUP-6380.", "epicLinkSummary": "HTTP(S) file sources", "estimate": "PT0S", "externalId": "21379", "fixedVersions": ["PUP 6.17.0"], "id": "21379", "issueType": "Bug", "key": "PUP-10543", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": "24389", "parentSummary": "HTTP(S) file sources", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-06-26T15:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet agents can't download file content from puppetserver via \"raw\" https", "timeSpent": "PT0S", "updated": "2020-07-07T07:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-06-11T10:06:00.000000", "creator": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@570ee614"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02i5s:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "No release note"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2337340666_*|*_5_*:*_1_*:*_0"}], "description": "Generating the AST for Bolt plan apply blocks currently only handles cases where there's at least one statement in the block. We should create a Model::BlockExpression for apply blocks with zero statements to avoid empty blocks raising an error.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28683", "fixedVersions": ["PUP 6.17.0"], "id": "28683", "issueType": "Task", "key": "PUP-10542", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "resolution": "Fixed", "resolutionDate": "2020-07-08T11:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Generate AST for apply blocks with 0 statements", "timeSpent": "PT0S", "updated": "2020-07-09T01:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:88cf8f83-e713-4c64-b9ed-cb974fc03a92", "body": "I think I need to investigate this a bit more (seems tightly coupled with some kernel behaviour when reading /proc/mounts)", "created": "2020-06-08T11:02:00.000000"}], "components": [], "created": "2020-06-08T10:40:00.000000", "creator": "70121:88cf8f83-e713-4c64-b9ed-cb974fc03a92", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@37eb413b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02fi0:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1270308_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: puppet-5.5.10-5.el8ost*\n*Puppet Server Version: N/A*\n*OS Name/Version: Centos 8*\n\nA system that has many containers (~1000) will make /proc/mounts rather large (700-900 kbytes). Running any trivial puppet command will take a very long time there due to the following line:\nhttps://github.com/puppetlabs/puppet/blob/master/lib/puppet/util/selinux.rb#L210\n\nIn there we're reading /proc/mounts 1024 bytes at the time, which is clearly suboptimal in this case (but also in most default cases as /proc/mounts is rarely < 1024 bytes these days on most modern linux systems).\n\nOn such an environment we will observe:\n[root@database-0 ~]# time puppet apply --noop  --detailed-exitcodes --color=false -e 'file {\"/tmp/foobar\": content => \"baz\" }'\nNotice: Compiled catalog for database-0.redhat.local in environment production in 0.16 seconds\nNotice: /Stage[main]/Main/File[/tmp/foobar]/ensure: current_value absent, should be file (noop)\nNotice: Class[Main]: Would have triggered 'refresh' from 1 events\nNotice: Stage[main]: Would have triggered 'refresh' from 1 events\nNotice: Applied catalog in 0.05 seconds\n                \nreal    5m43.258s\nuser    5m7.929s\nsys     0m5.603s\n\n\nIncreasing the read size to 1024 ** 2 provides immediate benefits:\n[root@database-0 ~]# time puppet apply --noop  --detailed-exitcodes --color=false -e 'file {\"/tmp/foobar\": content => \"baz\" }'\nNotice: Compiled catalog for database-0.redhat.local in environment production in 0.11 seconds\nNotice: /Stage[main]/Main/File[/tmp/foobar]/ensure: current_value absent, should be file (noop)\nNotice: Class[Main]: Would have triggered 'refresh' from 1 events\nNotice: Stage[main]: Would have triggered 'refresh' from 1 events\nNotice: Applied catalog in 0.13 seconds\n                \nreal    1m22.954s\nuser    0m50.423s\nsys     0m5.115s\n\nIn such an environment strace confirms that the number of small read() calls goes from:\n[root@database-0 ~]# grep -ir -e 'read(7.*1024' /tmp/strace-puppet.txt |wc -l\n231381\n\nTo:\n[root@database-0 ~]# grep -ir -e 'read(7.*1024' /tmp/strace-puppet-after.txt |wc -l\n810             \n\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29787", "fixedVersions": [], "id": "29787", "issueType": "Bug", "key": "PUP-10540", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:88cf8f83-e713-4c64-b9ed-cb974fc03a92", "resolution": "Incomplete", "resolutionDate": "2020-06-08T11:02:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Performance of puppet grows worse as the size of /proc/mounts increases", "timeSpent": "PT0S", "updated": "2020-06-08T11:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-06-05T15:45:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Coremunity"}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Night's Watch"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@ea559d9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-2"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Agent Environment Convergence"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_yellow"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02dg8:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_33537292121_*|*_6_*:*_2_*:*_2798389852_*|*_10013_*:*_1_*:*_3592654573_*|*_10014_*:*_1_*:*_234305510"}, {"fieldName": "productboard URL", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:url", "value": "https://puppet.productboard.com/feature-board/planning/features/8160292"}], "description": "*When I* add new nodes to my PE infrastructure, *I want to* apply use node facts to apply the relevant environment, *so that* new nodes are seamlessly managed from day one.\n|There are architectural issues with the way the agent and server negotiate which environment to use:\n\u00a0\n* Newly provisioned agent runs will fail if pluginsync occurs in production, but catalog compilation occurs in a different environment, and the manifest references a fact that doesn't exist in production\n\u00a0\n* Each agent run results in two node requests, and corresponding classifier requests. Facts are not sent with the first node request, so the classifier terminus retrieve last-known facts from puppetdb. Finally, the first node request returns all of the last-known facts back to the agent (since facts are merged into node parameters).\n\u00a0\n* If the first node request fails or times out due to server load, then the agent will switch back to \"production\", deleting all its plugins. This leads to a positive feedback loop as agents then download all plugins again, one file at a time.\n\u00a0\n* If the agent is configured to use an environment in puppet.conf, and the environment is deleted on the server, then the agent will never successfully run again until the setting is removed.|", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24513", "fixedVersions": ["PUP 6.25.0", "PUP 7.10.0"], "id": "24513", "issueType": "Epic", "key": "PUP-10539", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-08-12T02:42:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Environment convergence", "timeSpent": "PT0S", "updated": "2021-09-13T12:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-06-03T12:37:00.000000", "creator": "557058:58c5336a-e9d7-4eff-b221-85517090556b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@72aaa7e9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02ahk:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Jun/20"}], "description": "*Puppet Version:6.15.0*\n *Puppet Server Version:6.15.0*\n *OS Name/Version: Centos 7.6*\n\nGiven an environment.conf of {{modulepath = site:site/module:modules:$basemodulepath}}, and modules in {{site/role}}, {{site/profile}}, {{site/module/ahtenable}}, the autoloader attempts to load modules in this order:\n\nrole\nprofile\nmodule\nahtenable\n\nThe autoloader then generates an error that the class name {{ahtenable}} is unacceptable in file {{.../site/module/ahtenable/manifests/init.pp}}.\n\nChanging the environment.conf to say {{modulepath = site/module:site:modules:$basemodulepath}} results in loading the modules:\n\nahtenable\nrole\nprofile\nmodule\n\nThe autoloader no longer complains about unacceptable classnames.\n\n*Desired Behavior: Puppet should traverse the modulepath and only import directories that look like modules*\n\n*Actual Behavior: Puppet traverses the modulepath and imports every directory under a directory in the modulepath, even if it does not contain a module directly*\n\nI believe this is because PMT was written before metadata.json was a standard, maybe even before the old modulefile standard was a standard, and so it just enumerates all subdirectories. We now suggest a metadata.json file in modules, so PMT could search for that, or some other files (lib/facter, manifests with at least one .pp file, etc) before attempting to import a directory of directories.\n\n\u00a0\n\nOur solution was to move ahtenable into another directory and include that in the environment.conf's modulepath. However, this bug could still result in importing non-modules with a potential for overlap or overwriting the namespace.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21316", "fixedVersions": [], "id": "21316", "issueType": "Bug", "key": "PUP-10538", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:58c5336a-e9d7-4eff-b221-85517090556b", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet module tool does not check for metadata, assumes all directories contain modules, and can cause importing of an invalid module", "timeSpent": "PT0S", "updated": "2020-06-08T11:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5b9fcedc03b52466f05c4510", "attachments": [], "comments": [], "components": [], "created": "2020-06-03T03:19:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@fa0c473"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10592"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03rhz:z"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Updated the gem provider to install by default gems in the system Ruby. puppet_gem provider must be used to managed gem in the ruby vendored by Puppet."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_503294159_*|*_1_*:*_1_*:*_537987294_*|*_10007_*:*_1_*:*_1199490596_*|*_3_*:*_1_*:*_364158893_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_8708585410"}], "description": "On Windows the gem provider installs new gems in the Ruby shipped by Puppet. This happens because the Puppet path is prepended to the existing system path.\n\nThe desired behavior for the gem provider is to install gems in the system ruby, if it exists.\n\npuppet_gem provider should install gems in the Ruby provided by Puppet.", "epicLinkSummary": "Puppet 7 Runtime", "estimate": "PT0S", "externalId": "26546", "fixedVersions": ["PUP 7.0.0"], "id": "26546", "issueType": "New Feature", "key": "PUP-10677", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": "29793", "parentSummary": "Puppet 7 Runtime", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Fixed", "resolutionDate": "2020-10-12T01:58:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Gem provider should install gems on the system ruby on Windows", "timeSpent": "PT0S", "updated": "2021-03-12T05:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5b9fcedc03b52466f05c4510", "attachments": [], "comments": [], "components": [], "created": "2020-05-28T13:54:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@185c6438"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o024yg:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fixed a bug in the windows package provider when reading package version form registry. This happened if there were any garbage characters after the wide null terminator and puppet would fail."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "4.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "38573,39469,43253,50334"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_355958796_*|*_1_*:*_2_*:*_464147759_*|*_10007_*:*_1_*:*_271499365_*|*_3_*:*_1_*:*_594089713_*|*_5_*:*_1_*:*_21972323828_*|*_6_*:*_1_*:*_0"}], "description": "Puppet scans the registry when retrieving the list of currently installed packages. If one of the registry values it scans contains an embedded null followed by garbage, then puppet will try to transcode from UTF-16LE to UTF-8 and may fail.\n\nA fix for the embedded NULL problem was made in PUP-9639. However, it only works if transcoding succeeds.\n\nWhen reading package names, versions, etc from the registry puppet should read up to the first wide null or the length of the string, whichever comes first, and remove the sanitize method.\n\nIf there is a problem reading one of the whitelisted keys, it should print the name of the key in the error message.\n\nTo reproduce, import the following registry file whose {{DisplayVersion}} is corrupt and try to run puppet:\n{noformat}C:\\ProgramData\\PuppetLabs>type C:\\Users\\Administrator\\Documents\\test.reg\nWindows Registry Editor Version 5.00\n\n[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\PUP10536]\n\"DisplayName\"=\"PUP10536\"\n\"DisplayVersion\"=hex(2):31,0,36,0,2e,0,30,0,2e,0,31,0,30,0,33,0,35,0,37,0,2e,0,32,0,30,0,30,0,30,0,32,0,0,0,0,0,0,0,0,0,f3,23,8a,bc,fa,7f,0,0,10,65,74,b9,fa,7f,0,0,90,d8,55,6f,59,0,0,0\n\nC:\\ProgramData\\PuppetLabs>reg import C:\\Users\\Administrator\\Documents\\test.reg\nThe operation completed successfully.\n\nC:\\ProgramData\\PuppetLabs>puppet resource package --trace\nError: Could not run: \"\\x90\\xD8\" followed by \"Uo\" on UTF-16LE\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/api_types.rb:59:in `encode'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/api_types.rb:59:in `read_wide_string'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/registry.rb:237:in `block in read'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/registry.rb:281:in `block (3 levels) in query_value_ex'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/registry.rb:268:in `initialize'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/registry.rb:268:in `new'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/registry.rb:268:in `block (2 levels) in query_value_ex'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/registry.rb:263:in `initialize'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/registry.rb:263:in `new'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/registry.rb:263:in `block in query_value_ex'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/registry.rb:262:in `initialize'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/registry.rb:262:in `new'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/registry.rb:262:in `query_value_ex'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/registry.rb:225:in `read'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/registry.rb:81:in `block (2 levels) in values_by_name'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/api_types.rb:29:in `block in from_string_to_wide_string'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/api_types.rb:25:in `initialize'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/api_types.rb:25:in `new'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/api_types.rb:25:in `from_string_to_wide_string'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/registry.rb:79:in `block in values_by_name'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/registry.rb:78:in `each'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/registry.rb:78:in `values_by_name'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/provider/package/windows/package.rb:49:in `block (5 levels) in with_key'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/registry.rb:28:in `block in open'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/win32/registry.rb:439:in `open'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/win32/registry.rb:546:in `open'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/registry.rb:27:in `open'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/provider/package/windows/package.rb:48:in `block (4 levels) in with_key'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/registry.rb:51:in `block in each_key'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/registry.rb:49:in `loop'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/registry.rb:49:in `each_key'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/provider/package/windows/package.rb:47:in `block (3 levels) in with_key'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/registry.rb:28:in `block in open'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/win32/registry.rb:439:in `open'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/2.5.0/win32/registry.rb:546:in `open'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/windows/registry.rb:27:in `open'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/provider/package/windows/package.rb:46:in `block (2 levels) in with_key'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/provider/package/windows/package.rb:43:in `each'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/provider/package/windows/package.rb:43:in `block in with_key'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/provider/package/windows/package.rb:42:in `each'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/provider/package/windows/package.rb:42:in `with_key'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/provider/package/windows/package.rb:25:in `each'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/provider/package/windows.rb:36:in `map'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/provider/package/windows.rb:36:in `instances'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/type.rb:1205:in `block in instances'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/type.rb:1204:in `collect'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/type.rb:1204:in `instances'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/indirector/resource/ral.rb:24:in `search'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:299:in `search'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/application/resource.rb:228:in `find_or_save_resources'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/application/resource.rb:142:in `block in main'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet.rb:290:in `override'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/application/resource.rb:137:in `main'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/application.rb:390:in `run_command'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/application.rb:382:in `block in run'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util.rb:710:in `exit_on_fail'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/application.rb:382:in `run'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:143:in `run'\nC:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:77:in `execute'\nC:/Program Files/Puppet Labs/Puppet/puppet/bin/puppet:4:in `<main>'\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "25469", "fixedVersions": ["PUP 5.5.21", "PUP 6.17.0"], "id": "25469", "issueType": "Bug", "key": "PUP-10536", "labels": ["doc_reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-02-26T08:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet windows package provider fails if there are garbage characters after an embedded NULL", "timeSpent": "PT0S", "updated": "2022-12-05T03:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "hey [~accountid:63d40628f6e1b543161789a7], it it possible to get this fixed in one of the next puppet 7 releases? This would really help people that package Puppet on their own against system ruby (which might be Ruby 3.0, like it is on Arch Linux).", "created": "2021-04-05T15:29:00.000000"}], "components": [], "created": "2020-05-28T11:09:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1a5edc04"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10649"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hykbbr:9i6"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Apr/21"}], "description": "Ruby's URI.escape/unescape is deprecated and will be removed in a future release. We should move to using Addressable instead. This will likely change how some special characters are encoded and may introduce incompatibility between old agents retrieving file metadata and content from newer puppetservers. It would be good to document differences among URI.escape vs Addressable vs puppetserver/jetty.", "epicLinkSummary": "URL Encoding", "estimate": "PT0S", "externalId": "23388", "fixedVersions": [], "id": "23388", "issueType": "Task", "key": "PUP-10535", "labels": [], "originalEstimate": "PT0S", "parent": "23431", "parentSummary": "URL Encoding", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Move to Addressable", "timeSpent": "PT0S", "updated": "2021-05-03T11:11:00.000000", "votes": "2", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-05-22T13:36:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@10e23094"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-11"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Static Catalog Metadata"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "teal"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0e4jg:"}], "description": "Static catalogs are meant to reduce load on the compiler since agents don't need to request file metadata N different times for one catalog. However, there are some issues that cause the compiler to do more work than it should, reducing the overall benefit.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22294", "fixedVersions": [], "id": "22294", "issueType": "Epic", "key": "PUP-10533", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Static Catalog Metadata Optimizations", "timeSpent": "PT0S", "updated": "2022-03-08T16:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-05-22T12:47:00.000000", "creator": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2e9943df"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10533"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master Config", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Monolithic"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "CentOS 7"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Customer Feedback"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o021c0:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Jul/20"}], "description": "h1. Problem\n\n*Puppet Version:* 6.15.0\n *Puppet Server Version:* 6.11.1\n *OS Name/Version:* CentOS 7\n\nPuppet makes a HTTP request for {{/file_metadata/}} for files that are set to \"{{ensure => absent}}\" and have {{source => 'puppet:///modules/...}}.\n\nThis defeats the purpose of using static catalogs when your intent is to reduce the amount of file_metadata HTTP traffic. It causes unnecessary traffic and overheard on the Puppet server.\nh1. Reproduction\n\nGiven this Puppet code:\n{code}node 'agent1.vagrant' {\n\n  file { '/root/one':\n    ensure => file,\n    owner  => 0,\n    group  => 0,\n    mode   => '0644',\n    source => 'puppet:///modules/test/one',\n  }\n\n  file { '/root/two':\n    ensure => absent,\n    owner  => 0,\n    group  => 0,\n    mode   => '0644',\n    source => 'puppet:///modules/test/two',\n  }\n\n}\n{code}\nRunning {{puppet agent -t}} from {{agent1.vagrant}} causes these messages in Puppetserver's logs:\n{noformat}==> /var/log/puppetlabs/puppetserver/puppetserver.log <==\n2020-05-22T18:44:27.159Z INFO  [qtp9036388-38] [puppetserver] Puppet Inlined resource metadata into static catalog for agent1.vagrant in environment production in 0.01 seconds\n2020-05-22T18:44:27.160Z INFO  [qtp9036388-38] [puppetserver] Puppet Compiled static catalog for agent1.vagrant in environment production in 0.12 seconds\n\n==> /var/log/puppetlabs/puppetserver/puppetserver-access.log <==\n10.20.1.6 - - [22/May/2020:18:44:26 +0000] \"GET /puppet/v3/node/agent1.vagrant?environment=production&configured_environment=production&transaction_uuid=ee221fd5-13a0-4fdd-9413-1b57a98cd690 HTTP/1.1\" 200 12572 \"-\" \"Puppet/6.15.0 Ruby/2.5.8-p224 (x86_64-linux)\" 33 - 30\n10.20.1.6 - - [22/May/2020:18:44:26 +0000] \"GET /puppet/v3/file_metadatas/pluginfacts?recurse=true&ignore=.svn&ignore=CVS&ignore=.git&ignore=.hg&links=follow&checksum_type=md5&source_permissions=use&environment=production HTTP/1.1\" 200 240 \"-\" \"Puppet/6.15.0 Ruby/2.5.8-p224 (x86_64-linux)\" 17 - 12\n10.20.1.6 - - [22/May/2020:18:44:26 +0000] \"GET /puppet/v3/file_metadatas/plugins?recurse=true&ignore=.svn&ignore=CVS&ignore=.git&ignore=.hg&links=follow&checksum_type=md5&source_permissions=ignore&environment=production HTTP/1.1\" 200 244 \"-\" \"Puppet/6.15.0 Ruby/2.5.8-p224 (x86_64-linux)\" 19 - 14\n10.20.1.6 - - [22/May/2020:18:44:26 +0000] \"GET /puppet/v3/file_metadatas/locales?recurse=true&ignore=.svn&ignore=CVS&ignore=.git&ignore=.hg&ignore=%2A.pot&ignore=config.yaml&links=follow&checksum_type=md5&source_permissions=ignore&environment=production HTTP/1.1\" 200 244 \"-\" \"Puppet/6.15.0 Ruby/2.5.8-p224 (x86_64-linux)\" 76 - 72\n10.20.1.6 - - [22/May/2020:18:44:27 +0000] \"POST /puppet/v3/catalog/agent1.vagrant?environment=production HTTP/1.1\" 200 1864 \"-\" \"Puppet/6.15.0 Ruby/2.5.8-p224 (x86_64-linux)\" 272 25743 268\n10.20.1.6 - - [22/May/2020:18:44:27 +0000] \"GET /puppet/v3/file_metadata/modules/test/two?links=manage&checksum_type=md5&source_permissions=ignore&environment=production HTTP/1.1\" 200 258 \"-\" \"Puppet/6.15.0 Ruby/2.5.8-p224 (x86_64-linux)\" 17 - 13\n10.20.1.6 - - [22/May/2020:18:44:27 +0000] \"PUT /puppet/v3/report/agent1.vagrant?environment=production HTTP/1.1\" 200 9 \"-\" \"Puppet/6.15.0 Ruby/2.5.8-p224 (x86_64-linux)\" 47 7134 43\n{noformat}\nThe problem is this line showing the {{GET}} of file_metadata for the \"{{two\"}} file, which I would expect not to see:\n{noformat}\n10.20.1.6 - - [22/May/2020:18:44:27 +0000] \"GET /puppet/v3/file_metadata/modules/test/two?links=manage&checksum_type=md5&source_permissions=ignore&environment=production HTTP/1.1\" 200 258 \"-\" \"Puppet/6.15.0 Ruby/2.5.8-p224 (x86_64-linux)\" 17 - 13 {noformat}\nh1. Desired Behavior\n\nA file resource with both {{ensure => absent}} and {{source => <valid_puppet_uri>}} should not result in an agent requesting its metadata.\n\nFor example, I expect this resource to not cause a lookup of the file's metadata.\n{code}file { '/root/two':\n  ensure => absent,\n  owner  => 0,\n  group  => 0,\n  mode   => '0644',\n  source => 'puppet:///modules/test/two',\n}\n{code}", "epicLinkSummary": "Static Catalog Metadata Optimizations", "estimate": "PT0S", "externalId": "24512", "fixedVersions": [], "id": "24512", "issueType": "Bug", "key": "PUP-10532", "labels": ["Easy"], "originalEstimate": "PT0S", "parent": "22294", "parentSummary": "Static Catalog Metadata Optimizations", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Puppet fetches metadata for files with \"ensure => absent\"", "timeSpent": "PT0S", "updated": "2022-10-19T21:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] I filed this as a PUP ticket since there will be puppet code changes and also we need to research/document how the metrics nest.", "created": "2020-05-22T11:37:00.000000"}], "components": ["Docs"], "created": "2020-05-22T11:36:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@74b0566f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o021ao:"}], "description": "The agent calculates 3 types of metrics and submits them in the report. One of types is \"Time\" and it captures how long different parts of the agent run take, for example, how long pluginsync took, how long each resource type took to apply, etc. This can be seen using {{puppet agent -t --summarize}}:\n\n{noformat}\nTime:\n         Schedule: 0.00\n           Notify: 0.00\n             File: 0.01\n   Config retrieval: 0.32\n   Node retrieval: 0.34\n   Convert catalog: 0.36\n      Plugin sync: 0.56\n     Startup time: 0.96\n   Transaction evaluation: 1.97\n   Catalog application: 1.98\n         Last run: 1590168479\n   Fact generation: 2.57\n       Filebucket: 0.00\n        Pe anchor: 0.00\n            Total: 7.11\n{noformat}\n\nI think the only place we document this is in the report code: https://github.com/puppetlabs/puppet/blob/58c02cceda56025623ad5bc227579a9aaeddfc80/lib/puppet/transaction/report.rb#L16-L24\n\nIt would be good to document what the different phases are and how they relate. For example, the \"Total\" time includes \"Node retrieval\", \"Plugin sync\", etc.\n\nWe also added more time metrics but didn't update the report description. The current list of time metrics is:\n\n{noformat}\nlib/puppet/configurer.rb:    options[:report].add_times(:convert_catalog, catalog_conversion_time) if options[:report]\nlib/puppet/configurer.rb:      options[:report].add_times(:plugin_sync, plugin_sync_time) if options[:report]\nlib/puppet/configurer.rb:      options[:report].add_times(:fact_generation, facter_time) if options[:report]\nlib/puppet/configurer.rb:      options[:report].add_times(:catalog_application, apply_catalog_time)\nlib/puppet/configurer.rb:      report.add_times(:startup_time, startup_time)\nlib/puppet/configurer.rb:          options[:report].add_times(:node_retrieval, node_retr_time)\nlib/puppet/configurer.rb:      report.add_times(:resubmit_facts, resubmit_facts_time)\nlib/puppet/configurer.rb:    report.add_times(:total, Time.now - report.time)\nlib/puppet/resource/catalog.rb:        transaction.report.add_times(:transaction_evaluation, transaction_evaluate_time)\nlib/puppet/transaction.rb:    @report.add_times(:config_retrieval, @catalog.retrieval_duration || 0)\n{noformat}\n\nPlus there are times for each type of resource, e.g. {{File}} is the time to apply all file resources.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28681", "fixedVersions": [], "id": "28681", "issueType": "Task", "key": "PUP-10531", "labels": ["tbd"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Document report metrics", "timeSpent": "PT0S", "updated": "2022-07-26T15:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "5fff7df991bb2e01082cf9b7", "created": "2020-05-22T11:33:00.000000", "name": "repo.json", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11568"}], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "We discovered that Bolt's {{Target}} doesn't include the {{Puppet::Pops::Types::PuppetObject}} marker interface. Adding that seems to have resolved the issue. But the error message could be better. ", "created": "2020-05-26T09:11:00.000000"}, {"author": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "body": "[~accountid:5fff7df991bb2e01082cf9b7] Anything that needs to be done on this or can we close it?", "created": "2020-05-27T11:19:00.000000"}, {"author": "5fff7df991bb2e01082cf9b7", "body": "Should be good to close", "created": "2020-05-27T11:22:00.000000"}], "components": [], "created": "2020-05-22T11:36:00.000000", "creator": "5fff7df991bb2e01082cf9b7", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@11057634"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o021ag:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_443540239_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:* 6.15.0\n *Puppet Server Version:* \u2013\n *OS Name/Version:* macOS 10.15\n\n*Describe your issue in as much detail as possible\u2026*\n\nWhen applying manifest blocks, Bolt uses ToDataConverter to serialize plan variables, which can include Target objects. Bolt sets local_reference:true for ToDataConverter, as Target objects have references to objects that in turn have references to the Target object, causing endless recursion.\n\n[https://github.com/puppetlabs/bolt/blob/master/lib/bolt/applicator.rb#L182-L186]\n\n\u00a0\n\nLater in execution, the serialized data is passed to FromDataConverter, which begins to deserialize the plan variables, including the Target objects.\n\n[https://github.com/puppetlabs/bolt/blob/master/lib/bolt/catalog.rb#L75]\n\n\u00a0\n\nDuring deserialization, any targets that share identical config and are set as plan variables will cause Puppet to raise an error due to an attempt to access a deserialized Target object's config via the bracket [] operator. For example, given the following inventory where targets share identical configuration:\n\n\u00a0\n{code:java}targets:\n  - name: targetA\n    config:\n      ssh:\n        run-as: root\n        host-key-check: false\n        tty: true\n  - name: targetB\n    config:\n      ssh:\n        run-as: root\n        host-key-check: false\n        tty: true{code}\n\u00a0\n\nToDataConverter will serialize these targets such that target B will have a local reference to target A's configuration:\n\n\u00a0\n{code:java}...\n\"targetA\"=> \n [{\"__ptype\"=>\"Target\", \n   \"name\"=>\"targetA\",\n   \"config\"=> {\n     \"transport\"=>\"ssh\", \n     \"ssh\"=> {\n       \"run-as\" => \"root\",\n       \"host-key-check\" => false,\n       \"tty\" => true\n     }\n   }\n }],\n\"targetB\"=>\t\n  [{\"__ptype\"=>\"Target\",\t\n    \"name\"=>\"targetB\",\t\n    \"config\"=>{\n      \"transport\"=>\"ssh\",\n      \"ssh\"=>{\n        \"__ptype\"=>\"LocalRef\",\n        \"__pvalue\"=>\"$['targetA'][0]['config']['ssh']\"\n      }\n    }\n  }],\n...\n{code}\n\u00a0\n\nHowever, during deserialization, the data hash for targetA will be replaced with the deserialized Bolt::ApplyTarget object. When targetB is deserialized, the local reference for the configuration will then be resolved such that $['targetA'][0] returns the Bolt::ApplyTarget object, and then attempts to access the configuration with ['config']['ssh']. This raises an exception, as the Bolt::ApplyTarget object does not define the [] method.\n\n\u00a0\n\n*Describe steps to reproduce\u2026*\n\nCreate an inventory with multiple targets that share identical configuration:\n\n\u00a0\n{code:java}# Boltdir/inventory.yaml\ntargets:  \n  - uri: <URI>    \n    name: targetA    \n    config:\n      transport: ssh\n      ssh:\n        host-key-check: false\n        connect-timeout: 100\n  - uri: <URI>\n    name: targetB\n    config:\n      transport: ssh\n      ssh:\n        host-key-check: false\n        connect-timeout: 100\n{code}\n\u00a0\n\nCreate a plan that sets these targets as plan variables and then has an apply block:\n{code:java}plan bolt (\n  TargetSpec $targets\n) {\n  $targetA = get_targets('targetA')\n  $targetB = get_targets('targetB')\n\n  $targetA.apply_prep\n\n  apply($targetA) {\n    notice('')\n  }\n}{code}\nRun the plan\n{code:java}$ bolt plan run bolt -t all\n{code}\n\u00a0\n\nThe plan will fail with the following error:\n{code:java}Failed on targetA:\n  Apply failed to compile for targetA: undefined method `[]' for #<Bolt::ApplyTarget:0x00007fc769ae5258> on node targetA\nFailed on 1 target: targetA\n{code}\n\u00a0\n\n*Additional Context:*\n\nToDataConverter will only create local references for identical configuration when a plan variable has an array of targets. If all plan variables are singular targets, ToDataConverter will not create local references for identical configuration.\n\n\u00a0\n\nI've attached the catalog input that contains the serialized plan variables for reference. Target B has a local reference to Target A's configuration:\u00a0[^repo.json]\n\n\u00a0\n\nThe related Bolt issue can be found here:\u00a0[https://github.com/puppetlabs/bolt/issues/1836]\n\n\u00a0\n\nHere's the stack trace:\n{code:java}\nundefined method `[]' for #<Bolt::ApplyTarget:0x00007fa8ce1e82b8> on node targetA\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/json_path.rb:65:in `resolve_AccessExpression'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/visitor.rb:105:in `visit_this_2'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/json_path.rb:55:in `resolve_any'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/json_path.rb:60:in `resolve_AccessExpression'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/visitor.rb:49:in `block in visit_this'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/visitor.rb:43:in `each'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/visitor.rb:43:in `visit_this'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/visitor.rb:107:in `visit_this_2'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/json_path.rb:55:in `resolve_any'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/json_path.rb:50:in `resolve'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:117:in `block in initialize'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:155:in `convert'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:157:in `block (3 levels) in convert'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:171:in `with'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:157:in `block (2 levels) in convert'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:157:in `each_pair'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:157:in `block in convert'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:179:in `with_value'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:195:in `build'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:157:in `convert'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:211:in `block (3 levels) in pcore_type_hash_to_value'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:171:in `with'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:211:in `block (2 levels) in pcore_type_hash_to_value'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:211:in `each_pair'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:211:in `block in pcore_type_hash_to_value'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:179:in `with_value'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:201:in `build_object'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:211:in `pcore_type_hash_to_value'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:139:in `block in initialize'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:155:in `convert'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:160:in `block (3 levels) in convert'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:171:in `with'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:160:in `block (2 levels) in convert'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:160:in `each'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:160:in `each_with_index'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:160:in `block in convert'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:179:in `with_value'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:195:in `build'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:160:in `convert'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:157:in `block (3 levels) in convert'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:171:in `with'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:157:in `block (2 levels) in convert'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:157:in `each_pair'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:157:in `block in convert'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:179:in `with_value'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:195:in `build'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:157:in `convert'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pops/serialization/from_data_converter.rb:72:in `convert'\n/Users/tom/git/bolt/lib/bolt/catalog.rb:76:in `block (4 levels) in compile_catalog'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pal/pal_impl.rb:445:in `block (3 levels) in main'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/parser/compiler.rb:196:in `block in compile'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/context.rb:62:in `override'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet.rb:290:in `override'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/parser/compiler.rb:155:in `compile'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/parser/catalog_compiler.rb:19:in `block in compile'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/context.rb:62:in `override'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet.rb:290:in `override'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/parser/catalog_compiler.rb:18:in `compile'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pal/pal_impl.rb:442:in `block (2 levels) in main'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/context.rb:62:in `override'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet.rb:290:in `override'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pal/pal_impl.rb:441:in `block in main'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/context.rb:62:in `override'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet.rb:290:in `override'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pal/pal_impl.rb:423:in `main'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pal/pal_impl.rb:194:in `with_catalog_compiler'\n/Users/tom/git/bolt/lib/bolt/catalog.rb:72:in `block (3 levels) in compile_catalog'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/context.rb:62:in `override'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet.rb:290:in `override'\n/Users/tom/git/bolt/lib/bolt/catalog.rb:69:in `block (2 levels) in compile_catalog'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pal/pal_impl.rb:335:in `block in in_environment_context'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/context.rb:62:in `override'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet.rb:290:in `override'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pal/pal_impl.rb:327:in `in_environment_context'\n/Users/tom/.rvm/gems/ruby-2.6.3/gems/puppet-6.15.0/lib/puppet/pal/pal_impl.rb:229:in `in_tmp_environment'\n/Users/tom/git/bolt/lib/bolt/catalog.rb:67:in `block in compile_catalog'\n/Users/tom/git/bolt/lib/bolt/catalog.rb:39:in `block in with_puppet_settings'\n/Users/tom/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/tmpdir.rb:93:in `mktmpdir'\n/Users/tom/git/bolt/lib/bolt/catalog.rb:23:in `with_puppet_settings'\n/Users/tom/git/bolt/lib/bolt/catalog.rb:61:in `compile_catalog'\n/Users/tom/git/bolt/libexec/bolt_catalog:45:in `<top (required)>'\n/Users/tom/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/bundler/cli/exec.rb:74:in `load'\n/Users/tom/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/bundler/cli/exec.rb:74:in `kernel_load'\n/Users/tom/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/bundler/cli/exec.rb:28:in `run'\n/Users/tom/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/bundler/cli.rb:463:in `exec'\n/Users/tom/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'\n/Users/tom/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'\n/Users/tom/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'\n/Users/tom/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/bundler/cli.rb:27:in `dispatch'\n/Users/tom/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/bundler/vendor/thor/lib/thor/base.rb:466:in `start'\n/Users/tom/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/bundler/cli.rb:18:in `start'\n/Users/tom/.rvm/rubies/ruby-2.6.3/lib/ruby/gems/2.6.0/gems/bundler-1.17.3/exe/bundle:30:in `block in <top (required)>'\n/Users/tom/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/bundler/friendly_errors.rb:124:in `with_friendly_errors'\n/Users/tom/.rvm/rubies/ruby-2.6.3/lib/ruby/gems/2.6.0/gems/bundler-1.17.3/exe/bundle:22:in `<top (required)>'\n/Users/tom/.rvm/rubies/ruby-2.6.3/bin/bundle:23:in `load'\n/Users/tom/.rvm/rubies/ruby-2.6.3/bin/bundle:23:in `<main>'\n/Users/tom/.rvm/gems/ruby-2.6.3/bin/ruby_executable_hooks:24:in `eval'\n/Users/tom/.rvm/gems/ruby-2.6.3/bin/ruby_executable_hooks:24:in `<main>'\n{code}\n\u00a0\n\n*Desired Behavior:*\n\nFromDataConverter should not attempt to access referenced values from a deserialized object.\n\n\u00a0\n\n*Actual Behavior:*\n\nFromDataConverter attempts to access referenced values from a deserialized object. See above.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27624", "fixedVersions": [], "id": "27624", "issueType": "Bug", "key": "PUP-10530", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5fff7df991bb2e01082cf9b7", "resolution": "Incomplete", "resolutionDate": "2020-05-27T14:48:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "FromDataConverter attempts to access deserialized object when deserializing local references", "timeSpent": "PT0S", "updated": "2020-05-27T14:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in https://github.com/puppetlabs/puppet/commit/732ae5f07d4e2ef5dcadbb0bd36c30c0f677dc8a", "created": "2020-06-08T20:48:00.000000"}, {"author": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "body": "[~accountid:63d40628f6e1b543161789a7] Done.", "created": "2020-06-09T00:35:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 285f220b45", "created": "2020-06-16T10:36:00.000000"}], "components": [], "created": "2020-05-21T13:13:00.000000", "creator": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@18bd37f0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o020fk:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The trusted_external_command setting can now be set to a directory. If it's set to a directory, then for each executable file in the directory, the external trusted facts will be stored in the <basename> key of the trusted['external'] hash. For example, if the files foo.rb and bar.sh are in the directory, then trusted['external'] will be the hash { 'foo' => <foo.rb output>, 'bar' => <bar.sh output> }."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Jun/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1906015577_*|*_1_*:*_1_*:*_8549902_*|*_3_*:*_1_*:*_1573907638_*|*_5_*:*_1_*:*_0"}], "description": "If {{trusted_external_command}} points to a directory, then for each file in the directory,\n\n* If the file's executable, we can assume it's a trusted external command. That means we'll execute it, fetch its data, and store it in {{trusted['external'][<basename>]}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "29785", "fixedVersions": ["PUP 6.17.0"], "id": "29785", "issueType": "Task", "key": "PUP-10528", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "resolution": "Done", "resolutionDate": "2020-06-30T22:15:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Extend the trusted_external_command setting to support specifying directories", "timeSpent": "PT0S", "updated": "2020-07-07T07:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "That should have caught the issue which makes me wonder why it didn\u2019t? Does the test not run nightly?\n\nI also agree that it\u2019d be better to test this in PA pipeline.", "created": "2020-05-22T09:05:00.000000"}, {"author": "557058:79f2fdd6-baee-43c4-91af-c7e647173c95", "body": "Those tests get ran whenever there is a SCM change to PE, puppet_agent module, or pe_acceptance_tests. So if the puppet-agent got promoted it should have ran.\u00a0", "created": "2020-05-26T10:36:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "[PR 8185|https://github.com/puppetlabs/puppet/pull/8185] opened to add test to puppet acceptance suite.", "created": "2020-06-02T15:26:00.000000"}], "components": [], "created": "2020-05-21T12:16:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5e9e3f15"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o022f6:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_258455194_*|*_1_*:*_1_*:*_419323002_*|*_10007_*:*_1_*:*_260594653_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1807550239"}], "description": "Commit https://github.com/puppetlabs/puppet/commit/7d8b0d37664e1bdf274bfa04ccf7ef5e5ab425eb#diff-c6a03ccca02fa0c4815d03fba3017602L192-R179 disable the job that runs the daemonized agent. As a result, puppet would never run when started as a service on *nix platforms. Had this gotten out we would have had to yank the release as daemonized agents would never run, so you couldn't use puppet to fix/update them.\n\nFortunately we noticed and fixed it before release (https://github.com/puppetlabs/puppet/commit/58c02cceda56025623ad5bc227579a9aaeddfc80) but we have some gaps in test coverage. It looks like our service test is getting skipped due to the medium tag, https://github.com/puppetlabs/puppet/blob/58c02cceda56025623ad5bc227579a9aaeddfc80/acceptance/tests/resource/service/puppet_service_management.rb#L3, though I don't think that would have been sufficient to detect this issue. We either need a new test that verifies the service can be started and run in the background or update the existing test. The success or failure of the run could be detected by the last run summary file that the agent produces or ensuring the master receives a report for that node.\n\n/cc [~accountid:5abd613dd4cf3c56be24b70d], [~accountid:557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced], [~accountid:557058:79f2fdd6-baee-43c4-91af-c7e647173c95]", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23386", "fixedVersions": ["PUP 6.17.0"], "id": "23386", "issueType": "Task", "key": "PUP-10527", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-06-22T07:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Add beaker test to ensure puppet-agent service executes in the background", "timeSpent": "PT0S", "updated": "2020-07-08T07:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "The issues is caused by how providers are implemented: first time a pip3 package resource is evaluated will execute a pre-fetch on provider and the existence of command is checked at this step.\n\nThis could be solved by add dependency from all pip3 packages to all `env creation` resources. Something like this:\n{code:java}exec { 'python env1':\n  command => \"/bin/python3 -m venv --clear /opt/env1 && /opt/env1/bin/pip3 install --upgrade pip && /opt/env1/bin/pip3 install --upgrade setuptools\",\n  creates => \"/opt/env1/bin/activate\",\n}\npackage { 'cfn-lint':\n  ensure   => latest,\n  provider => 'pip3',\n  command  => '/opt/env1/bin/pip3',\n  require  => [Exec['python env1'],Exec['python env2']],\n}\nexec { 'python env2':\n  command => \"/bin/python3 -m venv --clear /opt/env2 && /opt/env2/bin/pip3 install --upgrade pip && /opt/env2/bin/pip3 install --upgrade setuptools\",\n  creates => \"/opt/env2/bin/activate\",\n}\npackage { 'puppetboard':\n  ensure   => latest,\n  provider => 'pip3',\n  command  => '/opt/env2/bin/pip3',\n  require  => [Exec['python env1'],Exec['python env2']],\n}\n\n{code}\n\u00a0", "created": "2021-11-02T08:38:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "Hi [~accountid:557058:be86c7d6-2807-42d3-9715-80da0cf607cd], will a solution like the above one help in your use case?", "created": "2021-11-09T04:46:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The same issue was reported in PUP-11681, so I'm going to close this as well.", "created": "2023-01-17T21:48:00.000000"}], "components": [], "created": "2020-05-21T09:33:00.000000", "creator": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@520f2010"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk67p:u"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Nov/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_4325412520_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_34621705097_*|*_10005_*:*_1_*:*_44994954198"}], "description": "*Puppet Version:*\u00a06.15.0\n*Puppet Server Version:\u00a06.11.1*\n\n*OS Name/Version: CentOS 8*\n\n*Desired Behavior:*\n\nWould like to manage multiple python environments with pip3 package provider\n\n*Actual Behavior:*\n\nCatalog fails if you try to manage multiple environments\n\nHere is a reproducer:\n\n\u00a0\n{noformat}\nexec { 'python env1':\n\u00a0 command => \"/bin/python3 -m venv --clear /opt/env1 && /opt/env1/bin/pip3 install --upgrade pip && /opt/env1/bin/pip3 install --upgrade setuptools\",\n\u00a0 creates => \"/opt/env1/bin/activate\",\n}\npackage { 'cfn-lint':\n\u00a0 ensure \u00a0 => latest,\n\u00a0 provider => 'pip3',\n\u00a0 command\u00a0 => '/opt/env1/bin/pip3',\n}\nexec { 'python env2':\n\u00a0 command => \"/bin/python3 -m venv --clear /opt/env2 && /opt/env2/bin/pip3 install --upgrade pip && /opt/env2/bin/pip3 install --upgrade setuptools\",\n\u00a0 creates => \"/opt/env2/bin/activate\",\n}\npackage { 'puppetboard':\n\u00a0 ensure \u00a0 => latest,\n\u00a0 provider => 'pip3',\n\u00a0 command\u00a0 => '/opt/env2/bin/pip3',\n}\n{noformat}\n{noformat}\nError: Could not prefetch package provider 'pip3': Provider pip3 package command '/opt/env2/bin/pip3' does not exist on this host\nError: Failed to apply catalog: Provider pip3 package command '/opt/env2/bin/pip3' does not exist on this host\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28680", "fixedVersions": [], "id": "28680", "issueType": "Bug", "key": "PUP-10526", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "resolution": "Incomplete", "resolutionDate": "2023-01-17T21:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "pip3 package provider fails manage multiple environments", "timeSpent": "PT0S", "updated": "2023-01-17T21:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "{{puppet apply}} will run the command if it's set in the {{main}} section or passed on the command line:\n\n{noformat}\n$ /Users/josh/work/puppet/trusted.sh\n{\"key\":\"value\"}\n$ bx puppet apply --trusted_external_command /Users/josh/work/puppet/trusted.sh -e 'notice($trusted['external']['key'])'\nNotice: Scope(Class[main]): value\nNotice: Compiled catalog for localhost in environment production in 0.02 seconds\nNotice: Applied catalog in 0.01 seconds\n{noformat}\n\nI'm guessing you have {{trusted_external_command}} set in the {{[master]}} section?", "created": "2020-05-20T21:10:00.000000"}, {"author": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "body": "Yes, as part of https://github.com/puppetlabs/puppetlabs-servicenow_integration where we have a {{servicenow.rb}} script that returns the external data.", "created": "2020-05-21T04:12:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Can you change https://github.com/puppetlabs/puppetlabs-servicenow_integration/blob/master/manifests/trusted_external_command.pp#L77 to use the {{main}} section instead of {{master}}?", "created": "2020-05-21T12:58:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "[~accountid:557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db]\u00a0interesting, sounds like that should support the dev/test use case. Either set {{trusted_external_command}} in the user/main section, or pass it on the CLI.\n\nFor the servicenow_integration specifically I don't at first blush believe we should move it from the master section... I kind of feel like it shouldn't happen for manual invocations of apply unless intentionally invoked.", "created": "2020-05-21T17:23:00.000000"}, {"author": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "body": "[~accountid:557058:97578a32-3955-4c5c-939e-58a878437b49] Is there a practical reason why we can't move it over to {{main}}? Something like \"if we move it to {{main}}, then it won't work in this scenario\"?", "created": "2020-05-21T17:50:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Moving to {{main}} means the command will be executed for all other puppet applications that try to load a Node object. I'd expect that to affect {{puppet device}} and maybe {{puppet resource}}.", "created": "2020-06-08T12:49:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "We have the same issue with {{node_terminus}}/{{external_nodes}} as well. If you put them in the {{[main]}} section then they affect all puppet subcommands, so we typically put them in {{[master]}}. But then puppet apply doesn't \"see\" those settings, and they must be specified on the CLI.\n\nAlthough the behavior isn't ideal, I think it's preferable for {{trusted_external_command}} and {{node_terminus}}/{{external_nodes}} to behave consistently, so I'm going to close this as won't do.", "created": "2020-09-30T11:43:00.000000"}], "components": [], "created": "2020-05-20T16:03:00.000000", "creator": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@24f9ebd0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01zs0:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18434344_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_11457161724"}], "description": "This way, if I set {{trusted_external_command}} in {{puppet.conf}}, then I can easily test that {{trusted['external']}} is properly fetched via something like\n{code}\npuppet apply -e 'notify { \"$trusted['external']\": }'\n{code}\n\nIt also maintains consistency with facts and other trusted facts, since those are also set in {{puppet apply}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26544", "fixedVersions": [], "id": "26544", "issueType": "Task", "key": "PUP-10525", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "resolution": "Won't Do", "resolutionDate": "2020-09-30T11:43:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "puppet apply should set trusted['external']", "timeSpent": "PT0S", "updated": "2020-09-30T11:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c1489a1d81f0069d8e30a", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:623c1489a1d81f0069d8e30a] Melissa and I talked about this today and it looks like previously the tests passed because facter 2.5 executes some process (any successful process will work) prior to some of these tests executing. As a result {{$CHILD_STATUS}} is not nil. But when using facter 4 that doesn't happen and it's nil.\n\nOne ugly hack is to do what I did for Windows a long time ago:\n\n{code:ruby}\n  if Puppet::Util::Platform.windows?\n    # Get a pid for $CHILD_STATUS to latch on to\n    command = \"cmd.exe /c \\\"exit 0\\\"\"\n    Puppet::Util::Execution.execute(command, {:failonfail => false})\n  end\n{code}\n\nIdeally the code should not be using {{CHILD_STATUS}} and instead using the {{ProcessOutput}} that the {{Puppet::Util::Execute.execute}} method returns, but that was looking like a bigger change than expected.\n\nAlso there were two failures that seemed to be legit facter differences. Could you or someone on your team take a look as this is a blocker for puppet testing against facter4 in CI? Thanks!", "created": "2020-05-19T23:35:00.000000"}, {"author": "623c1489a1d81f0069d8e30a", "body": "[~accountid:63d40628f6e1b543161789a7]\u00a0with the fixes from [~accountid:557058:4b02db91-705f-4691-a56a-9a839ecbce6e]\u00a0branch ([https://github.com/puppetlabs/puppet/pull/8165/files]), Facter 4 master and the fix for $CHILD_STATUS [https://github.com/puppetlabs/puppet/pull/8165#issuecomment-632109253]\u00a0the unit test for puppet pass.\n\nA new version of Facter 4 will be released tomorrow.", "created": "2020-05-21T08:54:00.000000"}, {"author": "623c1489a1d81f0069d8e30a", "body": "[~accountid:63d40628f6e1b543161789a7] [~accountid:557058:4b02db91-705f-4691-a56a-9a839ecbce6e]\u00a0we just released Facter [4.0.23|[https://rubygems.org/gems/facter/versions/4.0.23]]\u00a0today and with the fixes from\u00a0[https://github.com/puppetlabs/puppet/pull/8165]\u00a0puppet tests should pass.", "created": "2020-05-22T06:47:00.000000"}], "components": [], "created": "2020-05-19T18:45:00.000000", "creator": "557058:4b02db91-705f-4691-a56a-9a839ecbce6e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": ["ghost"]}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2a71a5f8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01l5n:oii"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_24062504_*|*_3_*:*_1_*:*_351554344_*|*_10009_*:*_1_*:*_6063058_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_85609796"}], "description": "{code}\nFinished in 32.11 seconds (files took 2.64 seconds to load)\n\n  1) Puppet::Type::Service::Provider::Redhat when getting all service instances should call service status when initialized from provider\n     Failure/Error: if $CHILD_STATUS.exitstatus == 0\n     NoMethodError:\n       undefined method `exitstatus' for nil:NilClass\n     # ./lib/puppet/provider/service/base.rb:74:in `status'\n     # ./spec/unit/provider/service/redhat_spec.rb:60:in `block (3 levels) in <top (required)>'\n     # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n     # util/rspec_runner:44:in `run'\n     # util/rspec_runner:59:in `<main>'\n  2) Puppet::Type::Service::Provider::Redhat when running status should use any provided explicit command\n     Failure/Error: if $CHILD_STATUS.exitstatus == 0\n     NoMethodError:\n       undefined method `exitstatus' for nil:NilClass\n     # ./lib/puppet/provider/service/base.rb:74:in `status'\n     # ./spec/unit/provider/service/redhat_spec.rb:122:in `block (4 levels) in <top (required)>'\n     # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n     # util/rspec_runner:44:in `run'\n     # util/rspec_runner:59:in `<main>'\n  3) Puppet::Type::Service::Provider::Redhat when running status should execute the service script with status when no explicit command is provided\n     Failure/Error: if $CHILD_STATUS.exitstatus == 0\n     NoMethodError:\n       undefined method `exitstatus' for nil:NilClass\n     # ./lib/puppet/provider/service/base.rb:74:in `status'\n     # ./spec/unit/provider/service/redhat_spec.rb:128:in `block (4 levels) in <top (required)>'\n     # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n     # util/rspec_runner:44:in `run'\n     # util/rspec_runner:59:in `<main>'\n  4) Puppet::Type::Service::Provider::Redhat when checking status when hasstatus is :true should execute the service script with fail_on_failure false\n     Failure/Error: if $CHILD_STATUS.exitstatus == 0\n     NoMethodError:\n       undefined method `exitstatus' for nil:NilClass\n     # ./lib/puppet/provider/service/base.rb:74:in `status'\n     # ./spec/unit/provider/service/redhat_spec.rb:141:in `block (4 levels) in <top (required)>'\n     # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n     # util/rspec_runner:44:in `run'\n     # util/rspec_runner:59:in `<main>'\nFinished in 20.14 seconds (files took 2.39 seconds to load)\n\n  1) Puppet::Util::Logging when Facter does support trace enables Facter trace when enabled\n     Failure/Error: Facter.debugging(level == :debug) if Facter.respond_to? :debugging\n       Facter received :trace with unexpected arguments\n         expected: (true)\n              got: (false)\n       Diff:\n       @@ -1,2 +1,2 @@\n       -[true]\n       +[false]\n        Please stub a default value first if message might be received with other args as well.\n     # ./.bundle/gems/ruby/2.6.0/gems/facter-4.0.21/lib/framework/core/options/option_store.rb:124:in `log_level='\n     # ./.bundle/gems/ruby/2.6.0/gems/facter-4.0.21/lib/framework/core/options/option_store.rb:87:in `debug='\n     # ./.bundle/gems/ruby/2.6.0/gems/facter-4.0.21/lib/framework/core/options.rb:19:in `[]='\n     # ./.bundle/gems/ruby/2.6.0/gems/facter-4.0.21/lib/facter.rb:106:in `debugging'\n     # ./lib/puppet/util/log.rb:114:in `level='\n     # ./spec/spec_helper.rb:197:in `block (2 levels) in <top (required)>'\n     # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n     # util/rspec_runner:44:in `run'\n     # util/rspec_runner:59:in `<main>'\nFinished in 22.93 seconds (files took 2.17 seconds to load)\n\n  1) Puppet::Type::Service::Provider::Systemd #status should use the supplied status command if specified\n     Failure/Error: if $CHILD_STATUS.exitstatus == 0\n     NoMethodError:\n       undefined method `exitstatus' for nil:NilClass\n     # ./lib/puppet/provider/service/base.rb:74:in `status'\n     # ./spec/unit/provider/service/systemd_spec.rb:374:in `block (3 levels) in <top (required)>'\n     # ./spec/spec_helper.rb:180:in `block (2 levels) in <top (required)>'\n     # util/rspec_runner:44:in `run'\n     # util/rspec_runner:59:in `<main>'\nFinished in 17.19 seconds (files took 2.44 seconds to load)\n\nFinished in 1 minute 43.31 seconds\n25774 examples, 8 failures, 39 pending\n\nFailed examples:\nrspec ./spec/unit/provider/service/openbsd_spec.rb:57 # Puppet::Type::Service::Provider::Openbsd #status should use the status command from the resource\nrspec ./spec/integration/indirector/facts/facter_spec.rb:51 # Puppet::Node::Facts::Facter resolving file based facts should resolve external facts\nrspec ./spec/unit/provider/service/redhat_spec.rb:56 # Puppet::Type::Service::Provider::Redhat when getting all service instances should call service status when initialized from provider\nrspec './spec/unit/provider/service/redhat_spec.rb[1:15:1]' # Puppet::Type::Service::Provider::Redhat when running status should use any provided explicit command\nrspec './spec/unit/provider/service/redhat_spec.rb[1:15:2]' # Puppet::Type::Service::Provider::Redhat when running status should execute the service script with status when no explicit command is provided\nrspec ./spec/unit/provider/service/redhat_spec.rb:139 # Puppet::Type::Service::Provider::Redhat when checking status when hasstatus is :true should execute the service script with fail_on_failure false\nrspec ./spec/unit/util/logging_spec.rb:574 # Puppet::Util::Logging when Facter does support trace enables Facter trace when enabled\nrspec ./spec/unit/provider/service/systemd_spec.rb:371 # Puppet::Type::Service::Provider::Systemd #status should use the supplied status command if specified\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21312", "fixedVersions": ["4.0.30", "FACT 4.0.25", "FACT 4.0.26", "FACT 4.0.28", "FACT 4.0.29", "FACT 4.0.31", "FACT 4.0.32", "FACT 4.0.33", "FACT 4.0.34", "FACT 4.0.37", "FACT 4.0.38", "FACT 4.0.43", "FACT 4.0.44", "PUP 6.16.0"], "id": "21312", "issueType": "Task", "key": "PUP-10524", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "High (migrated)", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4b02db91-705f-4691-a56a-9a839ecbce6e", "resolution": "Fixed", "resolutionDate": "2020-05-25T04:33:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet tests fail with facter 4", "timeSpent": "PT0S", "updated": "2020-10-21T08:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-05-18T08:56:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@74cbe4d4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10514"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01xjs:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1129_*|*_3_*:*_1_*:*_1728978656_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1936767458"}], "description": "(Initial planned release date: 2020-05-27)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2020-05-28T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "estimate": "PT0S", "externalId": "21306", "fixedVersions": [], "id": "21306", "issueType": "Task", "key": "PUP-10523", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20205", "parentSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-06-29T19:12:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 6.16.0)", "timeSpent": "PT0S", "updated": "2020-06-29T19:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-05-18T08:56:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5fef5099"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10514"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01xjk:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1159_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1936752561"}], "description": "(Initial planned release date: 2020-05-27)\n\n1) Update the release pages for Puppet Platform and puppet-agent in Confluence based on the release. Replace \u201cTarget Date\u201d with \u201cRelease Date\u201d, change language to past tense, and move the pages to the appropriate parent pages under \u201cCurrent Releases\u201d.\n\n2) Update the \u201cVersions & Dependencies pages for Puppet Platform and puppet-agent based on the release. Format the release versions in bold and move them to the appropriate tables under \u201cCurrent Releases\u201d.\n\n3) Close any outstanding Milestone and Risk tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the Milestone tickets as needed to ensure they match the actual milestone dates.\n\n4) Close the Release tickets for the Puppet Platform and puppet-agent releases. Be sure to update due dates for the tickets as needed to ensure they match the actual release date.\n\n5) Close all tickets that have been resolved as part of the release. When using a bulk modify operation to transition the tickets to \u2018Closed\u2019 status in JIRA, be sure to select the appropriate resolution and disable notifications to avoid spamming watchers.\n\n6) Make all tickets that were marked as Internal for the release public. When using bulk modify operation to change the value of the \u2018level\u2019 field for tickets to \u2018None\u2019 in JIRA, be sure to disable notifications to avoid spamming watchers.\n\n7) Mark all versions that were shipped as part of the release as \u201creleased\u201d. When doing so, be sure to update the description and release date of each version as needed based on what was shipped when.\n\n8) Update the Kanban board for the release series. Remove the release filter from the underlying filter for the board and remove the quick filter for the release as well.\n", "duedate": "2020-05-28T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "estimate": "PT0S", "externalId": "20206", "fixedVersions": [], "id": "20206", "issueType": "Task", "key": "PUP-10522", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20205", "parentSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-06-09T18:55:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Update Confluence and JIRA based on release (Puppet Platform 6.16.0)", "timeSpent": "PT0S", "updated": "2020-06-09T18:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "attachments": [], "comments": [], "components": [], "created": "2020-05-18T08:56:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@38a89236"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10514"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01xjc:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1187_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1415668006"}], "description": "(Initial planned release date: 2020-05-27)\n\nOnce docs have finished building (check that all links resolve appropriately) from your puppet-product-updates account -\n* Send the previously drafted announcement from the \"prepare release announcement\" ticket via BCC to puppet-users@googlegroups.com, puppet-dev@googlegroups.com, puppet-announce@googlegroups.com, and internal-puppet-product-updates@puppet.com. You must be a member of these groups in order to send.\n* If this release has security implications, also send to puppet-security-announce@googlegroups.com.\n* Make a PSA on IRC and/or Slack, something along the lines of \"PSA: Puppet Platform 6.16.0 is now available\".\n", "duedate": "2020-05-27T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "estimate": "PT0S", "externalId": "29782", "fixedVersions": [], "id": "29782", "issueType": "Task", "key": "PUP-10521", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20205", "parentSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-06-03T18:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Send release announcement (Puppet Platform 6.16.0)", "timeSpent": "PT0S", "updated": "2020-06-03T18:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Release notes published:\u00a0[https://puppet.com/docs/puppet/latest/release_notes_puppet.html#puppet-release-notes-x.15.0]", "created": "2020-06-04T02:22:00.000000"}], "components": [], "created": "2020-05-18T08:56:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@560c6dde"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10514"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01xiw:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Jun/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1130_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1445207905"}], "description": "(Initial planned release date: 2020-05-27)\n\nMerge release notes and documentation updates as needed, build and publish the docs, and verify that the updated docs are live before the announcement goes out.\n", "duedate": "2020-05-27T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "estimate": "PT0S", "externalId": "27618", "fixedVersions": [], "id": "27618", "issueType": "Task", "key": "PUP-10520", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20205", "parentSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-06-04T02:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Publish documentation and updates and release notes (Puppet Platform 6.16.0)", "timeSpent": "PT0S", "updated": "2020-06-04T02:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-05-18T08:56:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2d4c4b42"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10514"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01xio:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1246_*|*_3_*:*_1_*:*_18304941_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1310430919"}], "description": "(Initial planned release date: 2020-05-27)\n\n1) Ensure all prerequisite release tasks are complete.\n\n2) Review the release Kanban board to ensure all tickets are resolved.\n\n3) Ping release leads in \\#proj-puppet-releases Slack channel for go/no-go decision.\n\n4) Send email indicating Ready To Ship milestone has been achieved.\n", "duedate": "2020-05-26T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "estimate": "PT0S", "externalId": "26542", "fixedVersions": [], "id": "26542", "issueType": "Task", "key": "PUP-10519", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20205", "parentSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-06-02T18:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Declare Ready to Ship (go/no-go) milestone (Puppet Platform 6.16.0)", "timeSpent": "PT0S", "updated": "2020-06-02T18:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [{"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "The next release in the Puppet 6 series, Puppet 6.16.0, is now available!\n\nThe release contains bug fixes and minor improvements, including:\n * A\u00a0{{Puppet help <app> --ronn}}\u00a0command to generate help text for an application in ronn format\n * New Puppet agent options when waiting for lock\n * Puppet now uses the HTTP client to retrieve file metadata from HTTP(S) sources\n * The HTTP terminus for retrieving file content is deprecated and will be removed in\u00a0Puppet\u00a07\n * An Introduction to Puppet\u00a0section in the documentation to help onboard new users\u00a0\n\nFor the full list of changes, check out the release notes:\u00a0[https://puppet.com/docs/puppet/latest/release_notes_puppet.html]\n\n\u00a0\n\n[~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1]\u00a0to review and approve before shipping this cc/ [~accountid:557058:31c596d1-7e27-4c91-bc18-1254edb3caab]", "created": "2020-05-28T16:15:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:557058:4786f794-5167-4041-b3c0-deb1e8ba3438]\u00a0the release notes are up on the preview site now:\u00a0[https://10.234.5.14/docs/puppet/latest-preview/release_notes_puppet.html#puppet-release-notes-x.15.0]", "created": "2020-05-29T09:44:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:557058:31c596d1-7e27-4c91-bc18-1254edb3caab]\u00a0looks good to me. I added a line about the new documentation section (also in the release notes) to try drive early feedback, but feel free to remove this if you don't think this is the right place for it. Thanks!\u00a0", "created": "2020-06-03T04:55:00.000000"}], "components": [], "created": "2020-05-18T08:55:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@f598f6b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10514"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01xi8:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1140_*|*_10007_*:*_1_*:*_2741_*|*_3_*:*_2_*:*_607983309_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1328791418"}], "description": "(Initial planned release date: 2020-05-27)\n\nDraft the release announcement using the guidance provided [here|https://confluence.puppetlabs.com/display/PM/Sending+Product+Release+Announcements].\n\nPaste the text of the announcement in a comment on this ticket and ping [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] for review and any important hyperlinks.\n\nIf there are any links, it would be most helpful for the sender if they were already hyperlinked to the display text, so only a copy+paste to Gmail is necessary.\n", "duedate": "2020-05-26T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "estimate": "PT0S", "externalId": "24509", "fixedVersions": [], "id": "24509", "issueType": "Task", "key": "PUP-10518", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20205", "parentSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-06-09T18:55:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Prepare release announcement (Puppet Platform 6.16.0)", "timeSpent": "PT0S", "updated": "2020-06-09T18:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Preview:\u00a0[https://10.234.5.14/docs/puppet/latest-preview/release_notes_puppet.html#puppet-release-notes-x.15.0]", "created": "2020-06-02T07:56:00.000000"}], "components": [], "created": "2020-05-18T08:55:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@349629f9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10514"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01xi0:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Jun/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1165_*|*_3_*:*_1_*:*_339088801_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_953370272"}], "description": "(Initial planned release date: 2020-05-27)\n\nPlease post a link to the docs PR in the 'Publish Docs' ticket.\n For X and Y releases, ensure that the WEB team has prepared Drupal for the release.\n\n\u00a0\n\nPuppet 6.16.0 release notes draft:\u00a0https://docs.google.com/document/d/1jttwqo-uQwIt3yFQYsa7hs_SwFp-SZls_tSATgD9AvM/edit?usp=sharing", "duedate": "2020-05-22T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "estimate": "PT0S", "externalId": "23381", "fixedVersions": [], "id": "23381", "issueType": "Task", "key": "PUP-10517", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20205", "parentSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-06-02T07:56:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare documentation updates and release notes (Puppet Platform 6.16.0)", "timeSpent": "PT0S", "updated": "2020-06-02T07:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-05-18T08:55:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3657e784"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10514"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01xhs:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1201_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1328776548"}], "description": "(Initial planned release date: 2020-05-27)\n\n1) Send an email reminder ahead of time about the upcoming Stop Ship milestone date.\n\n2) Review tickets on the release Kanban board to ensure all code changes have landed. Flag any related issues that are not yet Ready for CI.\n\n3) Ensure all tickets have release notes, if needed. Add comments to issues without release notes, asking the author of the PR to add them or indicate that they aren\u2019t needed.\n\n4) Follow up with the Engineering lead for each component (e.g., in Slack) to confirm current state and obtain a forecast for when all code will be in a build.\n\n5) Send email indicating that the Stop Ship milestone has been achieved.\n", "duedate": "2020-05-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "estimate": "PT0S", "externalId": "22290", "fixedVersions": [], "id": "22290", "issueType": "Task", "key": "PUP-10516", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20205", "parentSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-06-02T18:02:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Declare Stop Ship Line (code complete) milestone (Puppet Platform 6.16.0)", "timeSpent": "PT0S", "updated": "2020-06-02T18:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-05-18T08:55:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@438fa8c7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10514"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01xhk:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1122_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1328785193"}], "description": "(Initial planned release date: 2020-05-27)\n\n1) Ensure \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent are up to date in Confluence. Reach out to teams as needed to confirm that the fix versions listed are those that we intend to ship with the release.\n\n2) Ensure release leads for Puppet Platform and puppet-agent are correct and update the invitiation for the release retrospective to include them. Reach out to teams as needed to confirm lead assignments.\n\n3) For each component project of Puppet Platform and puppet-agent, ensure there is a next version if needed. Often this will be the next Z in an X.Y.Z series. However, if we are jumping to a new X or Y release that skips an existing Z version in JIRA, make sure those tickets are reassigned to the correct fix version, and the unneeded version is deleted. For example, if we have tickets with a fix version of 4.3.3, but we\u2019re going from 4.3.2 to 4.4.0, then we need to reassign the tickets assigned to 4.3.3 and delete the 4.3.2 version from JIRA.\n\n4) Create public filters for inclusion in the release notes and/or announcement. These allow easy tracking as new bugs come in for a particular version and allow everyone to see the list of changes in a release. Include links to the filters as a comment on this issue before resolving it.\n\n5) Update the \u201cmaster\u201d filters for Puppet Platform 6.16.0 and puppet-agent 6.16.0 to reference the \u201cFixed in\u201d filters created above.\n\n6) Update the community feedback filter for Puppet Platform X.y to reference the \u201cIntroduced in\u201d filter created above.\n", "duedate": "2020-05-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "estimate": "PT0S", "externalId": "21304", "fixedVersions": [], "id": "21304", "issueType": "Task", "key": "PUP-10515", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20205", "parentSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-06-02T18:02:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Prepare JIRA and Confluence for release (Puppet Platform 6.16.0)", "timeSpent": "PT0S", "updated": "2020-06-02T18:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-05-18T08:55:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7e71a0ae"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-11"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Platform 6.16.0 Release - 2020-05-27\n"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "teal"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01xhc:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3736235994_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "duedate": "2020-05-27T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "20205", "fixedVersions": [], "id": "20205", "issueType": "Epic", "key": "PUP-10514", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-06-30T14:46:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "timeSpent": "PT0S", "updated": "2020-06-30T14:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "Maybe it is possible to pass along any constraints to the iterator creator and then attempt to short circuit certain subsequent type matching", "created": "2020-05-17T04:04:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The case where the block form is called and the block arguments are not specified or are generic (String $k) was fixed in PUP-9561, e.g. \n\n{code:puppet}\n$myhash.each |$k, $v| { ... }\n{code}\n\nSo instead of inferring the type of the entire Hash and then calling {{Type.callable?(args)}}, we call {{Type.callable_with?(args)}}, which Thomas added in PUP-7301. In the common case where the type isn't specified {{$k}}, then the check is very quick.\n\nThis doesn't fix/handle expensive type inference in {{asserted_iterable}} but maybe a similar approach could be taken there?", "created": "2021-11-11T12:54:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Hey [~accountid:557058:104b5720-714d-4539-b455-df472251ec89] where did you leave off with this? Did you have the start of a PR?", "created": "2022-03-08T14:57:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "It looks like this was merged as a (maint) PR in [https://github.com/puppetlabs/puppet/pull/8150/files] .", "created": "2022-03-08T15:30:00.000000"}], "components": [], "created": "2020-05-15T16:20:00.000000", "creator": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@38cc7da1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01x4g:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_4751019500_*|*_5_*:*_1_*:*_0_*|*_6_*:*_1_*:*_394716_*|*_10004_*:*_1_*:*_2067059_*|*_10005_*:*_1_*:*_52443976995"}], "description": "When a user calls the Puppet functions `map`, `each`, etc. we create a Puppet Iterator and proxy requests through it to the wrapped Ruby object. When creating a Puppet Iterator in this way we recursively infer the type of the entire collection passed in.\n\nSome times these Iterators are directly exposed to users (via the non-block arities of `reverse_each` and `step`). Unfortunately, where we expose Iterators they may use all of Puppet's type system and may be specialized like \"Iterator[String]\" or \"Iterator[Variant[Hash[String,String],Undef]]\". Consequently, to be backwards compatible we will need to recursively check the type for these invocations. (Maybe we can deprecate and remove them in Puppet 7??)\n\nIn every other case the Iterator is not exposed to the user. Either the original collection, a new, modified collection, or elements of one of the afore mentioned collections is returned.\n\nThe method invoked in Puppet functions to create the Iterators is `Iterable.asserted_iterable`, and as far as I can tell, it does additional type checking that the dispatcher doesn't do and then largely discards the computed type information. We should should probably keep the call to asserted_iterable (assuming the additional type checking is a good thing to do there), but make it non-recursive where possible.\n\nNote, `asserted_iterable` defers to `Iterable.on` to do a lot of this work, `Iterable.on` is used by other aspects of the type system so we might want to keep existing calls to `Iterable.on` backwards compatible with those invocations. (We might also want to look into whether or not those calls are unnecessarily doing recursive type inference.)", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22289", "fixedVersions": ["PUP 5.5.22", "PUP 6.18.0"], "id": "22289", "issueType": "Task", "key": "PUP-10513", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2022-03-08T15:31:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Do not recursively type check collections when creating iterables in puppet functions", "timeSpent": "PT0S", "updated": "2022-03-08T15:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "What happens is that in first case, there are two distinct password parameters, one for each resource, while in the second case the same parameter is shared by both resources.\n\nThis works well for immutable parameters, but we unwrap Sensitive parameters for each resource and password parameter will be unwrapped for ServiceA and then will fail the check for ServiceB as it is already unwrapped.\n\n\u00a0", "created": "2020-06-02T07:46:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 5.5.x in https://github.com/puppetlabs/puppet/commit/bfe98132bc83ce9718d2cb74325160655ed7f9fd.", "created": "2020-06-12T18:14:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:70121:4596f954-1fdf-472f-a700-6b7c2ffbc525] could you add release notes?", "created": "2020-06-12T18:15:00.000000"}], "components": ["Language"], "created": "2020-05-14T13:03:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@31aed7d7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01wkg:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "This commit is fixing support of sensitive data type parameters when declaring multiple resources using title arrays"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Jun/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_307075549_*|*_1_*:*_1_*:*_1269591012_*|*_10007_*:*_1_*:*_52741861_*|*_3_*:*_1_*:*_787309108_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_414619844"}], "description": "*Puppet Version:* 6.15.0, 5.5.20\n*Puppet Server Version:* N/A\n*OS Name/Version:* N/A\n\nWhen multiple resources are declared using an array of titles, the type information for {{Sensitive}} parameters is lost. This results in type validation errors if a resource declares a data type such as {{Sensitive[String]}}\n\nInstall Puppet 6 on CentOS 7 and create a defined type with a password parameter declared to be {{Sensitive[String]}}:\n\n{code:bash}\nmkdir -p /etc/puppetlabs/code/environments/production/modules/test_mod/manifests\n\ncat <<'EOF' > /etc/puppetlabs/code/environments/production/modules/test_mod/manifests/service.pp\ndefine test_mod::service(\n  Sensitive[String] $password,\n){\n  notify{\"${title} ${password}\": }\n}\nEOF\n{code}\n\nAttempt to apply the following manifest:\n\n{code:puppet}\ntest_mod::service { [\"ServiceA\",\"ServiceB\"]:\n  password => Sensitive(\"password\")\n}\n{code}\n\n*Desired Behavior:*\n\nOutput matches individual resources declared in a loop:\n\n{noformat}\n# puppet apply <<'EOF'\neach([\"ServiceA\",\"ServiceB\"] ) |String $svc_name| {\n  test_mod::service { $svc_name:\n    password => Sensitive(\"password\")\n  }\n}\nEOF\n\nNotice: Compiled catalog for olde-pacemaker.delivery.puppetlabs.net in environment production in 0.02 seconds\nNotice: ServiceA Sensitive [value redacted]\nNotice: /Stage[main]/Main/Test_mod::Service[ServiceA]/Notify[ServiceA Sensitive [value redacted]]/message: defined 'message' as 'ServiceA Sensitive [value redacted]'\nNotice: ServiceB Sensitive [value redacted]\nNotice: /Stage[main]/Main/Test_mod::Service[ServiceB]/Notify[ServiceB Sensitive [value redacted]]/message: defined 'message' as 'ServiceB Sensitive [value redacted]'\nNotice: Applied catalog in 0.01 seconds\n{noformat}\n\n*Actual Behavior:*\n\nCompilation fails when defining the second resource as {{password}} has been coerced to a {{String}}:\n\n{noformat}\n# puppet apply <<'EOF'\ntest_mod::service { [\"ServiceA\",\"ServiceB\"]:\n  password => Sensitive(\"password\")\n}\nEOF\n\nError: Test_mod::Service[ServiceB]: parameter 'password' expects a Sensitive[String] value, got String on node olde-pacemaker.delivery.puppetlabs.net\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28677", "fixedVersions": ["PUP 5.5.21", "PUP 6.17.0"], "id": "28677", "issueType": "Bug", "key": "PUP-10511", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "resolution": "Fixed", "resolutionDate": "2020-06-16T07:32:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Sensitive data type is lost when declaring multiple resources using title arrays", "timeSpent": "PT0S", "updated": "2020-07-07T04:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is probably related to the composite namevar change in MODULES-7613.", "created": "2020-05-14T14:26:00.000000"}, {"author": "623c12c0a1d81f0069d8e1e2", "body": "It seems that the solution for this problem introduced unexpected behavior when trying to \"add\" the same key (on a next puppet run). See report:\u00a0MODULES-10828", "created": "2020-09-26T12:46:00.000000"}], "components": [], "created": "2020-05-14T13:00:00.000000", "creator": "557058:8b915655-a6c3-4c09-9070-53484ff60ff3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@21ce4247"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01wgo:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Previously, resources with composite namevars could not be purged due to how resources were collected. This fix relies on the provider implementing a `title` method that returns the composite name of the resource."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_421106712_*|*_1_*:*_1_*:*_416212164_*|*_10007_*:*_1_*:*_1886058513_*|*_3_*:*_1_*:*_204985783_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_488767623"}], "description": "*Puppet Version:* 6.15.0\n *Puppet Server Version:* 6.11.0\n *OS Name/Version:* CentOS / Debian\n\nAfter updating the sshkeys_core module to 2.0.0 in our control repo, puppet is unable to purge sshkeys. We use the following configuration to export each host SSH keys and collect them on some of our nodes:\n\n{code:puppet}\n # in site.pp\nresources { 'sshkey':\n  purge => true\n}\n{code}\n\n{code:puppet}\n# on each node ($host_aliases is an array of the names of the node)\n@@sshkey { \"sshdsakey-${host_aliases[0]}\":\n  host_aliases => $host_aliases,\n  type => 'ssh-dss',\n  key => $facts['ssh']['dsa']['key'],\n}\n{code}\n\n{code:puppet}\n # on some nodes\nSshkey <<| |>>\n{code}\n\nDowngrading to sshkeys_core 1.0.3 fix the issue.\n\n*Desired Behavior:*\n When a node is decomissioned, it's SSH key should be removed from the known_hosts file of the node collecting the ssh keys.\n\n*Actual Behavior:*\n Puppet says it removes the key, but it's not actually done. So the configuration never converge, at each run Puppet says it remove the key.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21300", "fixedVersions": ["PUP 6.17.0"], "id": "21300", "issueType": "Bug", "key": "PUP-10510", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8b915655-a6c3-4c09-9070-53484ff60ff3", "resolution": "Fixed", "resolutionDate": "2020-06-23T02:12:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "sshkeys_core 2.0.0 cannot purge sshkey resources", "timeSpent": "PT0S", "updated": "2021-01-20T07:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:ede92dff-cc7b-4a0e-9ea1-e6d39be6ea56", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "9.2 does report 2.5 though JRuby doesn't always _fully_ support the version it reports as. As long as we keep 9.2 in the test matrix I think we're good.", "created": "2020-05-14T11:38:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I think all of these monkey patches can be deleted:\u00a0[https://github.com/puppetlabs/puppet/blob/main/lib/puppet/util/monkey_patches.rb#L85-L150]\n\nThere's also some conditional spec logic in:\n\n{noformat}\nspec/unit/functions/camelcase_spec.rb:  it 'performs capitalize of international UTF-8 characters', :if => RUBY_VERSION >= \"2.4\" do\nspec/unit/functions/capitalize_spec.rb:  it 'performs capitalize of international UTF-8 characters', :if => RUBY_VERSION >= \"2.4\" do\nspec/unit/functions/downcase_spec.rb:  it 'performs capitalize of international UTF-8 characters', :if => RUBY_VERSION >= \"2.4\" do\nspec/unit/functions/upcase_spec.rb:  it 'performs capitalize of international UTF-8 characters', :if => RUBY_VERSION >= \"2.4\" do\nspec/unit/http/factory_spec.rb:  it \"disables ruby's max retry on 2.5 and up\", if: RUBY_VERSION.to_f >= 2.5 do\nspec/unit/util/run_mode_spec.rb:    @gte_ruby_2_4 ||= SemanticPuppet::Version.parse(RUBY_VERSION) >= SemanticPuppet::Version.parse('2.4.0')\nspec/unit/util_spec.rb:    @gte_ruby_2_4 ||= SemanticPuppet::Version.parse(RUBY_VERSION) >= SemanticPuppet::Version.parse('2.4.0')\n{noformat}", "created": "2020-08-20T18:38:00.000000"}, {"author": "5abd613dd4cf3c56be24b70d", "body": "Some of the work for removing EOL Ruby version support was done here: https://puppet.atlassian.net/browse/PUP-10625\u00a0\n\nWe can update the distinction between fixnum and bignum and removing monkey_patches as part of this ticket.", "created": "2020-08-26T01:40:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/77be9ff90e55d4765da20d9167763d06dfa70711", "created": "2020-09-09T18:28:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in e2a883df7e", "created": "2020-09-14T19:30:00.000000"}], "components": [], "created": "2020-05-14T11:22:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@b8241ce"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10592"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o030e4:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Replace usage of Fixnum and Bignum with Integer as part of dropping support for Rubies older than 2.5."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_435722459_*|*_1_*:*_1_*:*_8950776258_*|*_10007_*:*_1_*:*_562312957_*|*_3_*:*_1_*:*_250419618_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_457291150"}], "description": "Puppet (the gem) currently supports ruby 2.3 and up, but 2.3 and 2.4 are EOL (https://www.ruby-lang.org/en/news/2020/04/05/support-of-ruby-2-4-has-ended/). We should drop those versions in puppet 7, remove monkey patches relating to older versions, and reduce our CI testing matrix. Also drop distinction between Bignum and Fixnum (they were unified as Integer in 2.4).\n\nBolt already requires 2.5\n\nJRuby 9.2 supports ruby 2.5 so that shouldn't affect puppetserver. /cc [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69], [~accountid:557058:104b5720-714d-4539-b455-df472251ec89]", "epicLinkSummary": "Puppet 7 Runtime", "estimate": "PT0S", "externalId": "27617", "fixedVersions": ["PUP 7.0.0"], "id": "27617", "issueType": "Task", "key": "PUP-10509", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": "29793", "parentSummary": "Puppet 7 Runtime", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-09-14T19:30:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Drop support for ruby < 2.5", "timeSpent": "PT0S", "updated": "2020-12-17T12:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-05-14T10:31:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3a08c894"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3228"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01w8w:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2086_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_16216528674"}], "epicLinkSummary": "Remove AIX 6.1 FOSS support", "estimate": "PT0S", "externalId": "24508", "fixedVersions": [], "id": "24508", "issueType": "Task", "key": "PUP-10508", "labels": [], "originalEstimate": "PT0S", "parent": "59842", "parentSummary": "Remove AIX 6.1 FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Won't Fix", "resolutionDate": "2020-11-18T02:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Public-facing Puppet docs to remove AIX 6.1", "timeSpent": "PT0S", "updated": "2020-11-18T02:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "5b9fcedc03b52466f05c4510", "created": "2020-05-14T06:57:00.000000", "name": "full_log.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11787"}], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "5.5.x is no longer supported, newer puppet version are no longer using mcollective", "created": "2021-06-02T07:32:00.000000"}], "components": ["Types and Providers"], "created": "2020-05-14T06:58:00.000000", "creator": "5b9fcedc03b52466f05c4510", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@46394e0b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk67p:r"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_438411713_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_32741256976"}], "description": "This is happening only on systemd.\n\nSteps to reproduce(tested on Ubuntu 16.04):\n{noformat}# install puppet-agent 5.5.14\nroothostname:~# puppet --version\n5.5.14\n{noformat}\n{noformat}roothostname:~# puppet resource service mcollective\nservice { 'mcollective':\n  ensure => 'stopped',\n  enable => 'false',\n}\n\n# use puppet_agent module to upgrade to 5.5.18\nroothostname:~# cat test.pp\nclass {'::puppet_agent':\n    package_version => '5.5.18',\n    collection => 'puppet5',\n  }\n{noformat}\n{noformat}root@hostname:~# puppet apply test.pp --trace\nNotice: Compiled catalog for hostname in environment production in 0.27 seconds\nNotice: /Stage[main]/Puppet_agent::Install/Package[puppet-agent]/ensure: ensure changed '5.5.14-1xenial' to '5.5.18-1xenial'\nNotice: /Stage[main]/Puppet_agent::Service/Service[puppet]/ensure: ensure changed 'stopped' to 'running'\nError: Systemd start for mcollective failed!\n{noformat}\n{noformat}# mcollective is still stopped, but on the seccond puppet run it will work\nroothostname:~# puppet resource service mcollective\nservice { 'mcollective':\n  ensure => 'stopped',\n  enable => 'false',\n}\n\n\nroothostname:~# puppet apply test.pp --trace\nNotice: Compiled catalog for hostname in environment production in 0.30 seconds\nNotice: /Stage[main]/Puppet_agent::Service/Service[mcollective]/ensure: ensure changed 'stopped' to 'running'\nNotice: Applied catalog in 0.53 seconds\n\n\nroot@hostname:~# puppet resource service mcollective\nservice { 'mcollective':\n  ensure => 'running',\n  enable => 'true',\n}\n{noformat}\nIf mcollective service is started before applying the manifest, the upgrade works\n Upgrade works to 5.5.16 but not to 5.5.17, 5.5.18, 5.5.19, 5.5.20\n\n\u00a0\n\nFull Log:\u00a0[^full_log.txt]", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26541", "fixedVersions": [], "id": "26541", "issueType": "Bug", "key": "PUP-10507", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5b9fcedc03b52466f05c4510", "resolution": "Won't Fix", "resolutionDate": "2021-06-02T07:32:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Unable to start mcollective on first try in puppet > 5.5.17", "timeSpent": "PT0S", "updated": "2021-06-02T07:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "{code:java}\ncbadescu@ciprian:~/puppetlabs/puppet-PUP-10505$ grep -r 'running?' *\next/windows/service/daemon.rb:        while service.running? do\nlib/puppet/provider/service/openbsd.rb:  def running?\nlib/puppet/provider/service/openbsd.rb:    rcctl(:restart, @resource[:name]) if running?\nlib/puppet/agent/locker.rb:  def running?\nlib/puppet/agent/locker.rb:    #TRANSLATORS 'Puppet::Agent::Locker.running?' is a method name and should not be translated\nlib/puppet/agent/locker.rb:    message = _('Puppet::Agent::Locker.running? is deprecated as it is inherently unsafe.')\nlocales/puppet.pot:#. TRANSLATORS 'Puppet::Agent::Locker.running?' is a method name and should not be translated\nlocales/puppet.pot:msgid \"Puppet::Agent::Locker.running? is deprecated as it is inherently unsafe.\"\nspec/unit/provider/service/openbsd_spec.rb:  context \"#running?\" do\nspec/unit/provider/service/openbsd_spec.rb:      expect(provider.running?).to be_truthy\nspec/unit/provider/service/openbsd_spec.rb:      expect(provider.running?).to be_truthy\nspec/unit/provider/service/openbsd_spec.rb:      expect(provider.running?).to be_nil\n\n{code}", "created": "2020-05-25T02:36:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "There is no usage of Puppet::Agent::Locker#running? in puppet (5.5.x and master branches).\n\nLast known reference was removed in: https://github.com/puppetlabs/puppet/pull/8113/files#diff-c6a03ccca02fa0c4815d03fba3017602L98", "created": "2020-05-25T02:40:00.000000"}], "components": [], "created": "2020-05-13T02:40:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3a097db6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk9sv:00hw"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6274241_*|*_3_*:*_1_*:*_293471_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1030217209"}], "description": "Since the running? method is deprecated in Puppet, we should investigate if there is a suitable replacement and update the Puppet code.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "24507", "fixedVersions": [], "id": "24507", "issueType": "Improvement", "key": "PUP-10505", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Fixed", "resolutionDate": "2020-05-25T02:40:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Investigate and replace the running? method from Puppet", "timeSpent": "PT0S", "updated": "2020-05-25T05:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "You are right, it does not sort. It should do that - it was a design criteria that went missing in the implementation (i.e. the documentation is \"right\").", "created": "2020-05-12T16:12:00.000000"}], "components": ["Hiera & Lookup"], "created": "2020-05-12T13:02:00.000000", "creator": "623a4b6094742a00683d7127", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27153d3a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Other"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01u54:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5966897279_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_35028621198"}], "description": "*Puppet Version:* 5.5.10-4\n*Puppet Server Version:* 5.5.10-4 (puppet-master-passenger)\n*OS Name/Version:* debian buster\n\nThe [documentation|https://puppet.com/docs/puppet/latest/hiera_config_yaml_5.html#specifying_file_paths] claims \"If multiple files are found, Hiera searches all of them in alphanumerical order.\"\n\nThis doesn't actually happen.\n\nWhen I insert a {{.sort}} before the {{.map}} in https://github.com/puppetlabs/puppet/blob/master/lib/puppet/pops/lookup/location_resolver.rb#L44 it works, although it probably still fails the documentation claim for {{globs}} - to get that right, I think one would need to define a comparision for {{ResolvedLocation}} objects based on their {{location}}, and add {{.sort}} after {{.flatten}} in line 45.\n\nIt is possible newer versions added sorting somewhere else, but I can't find it.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22288", "fixedVersions": [], "id": "22288", "issueType": "Bug", "key": "PUP-10503", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4b6094742a00683d7127", "resolution": "Duplicate", "resolutionDate": "2021-08-30T00:40:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "hiera glob files not included in order", "timeSpent": "PT0S", "updated": "2021-08-30T00:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:4b02db91-705f-4691-a56a-9a839ecbce6e", "body": "merged into master with https://github.com/puppetlabs/puppet/commit/edac15599a6fce3e9a169edffab7ee3f21bc2929", "created": "2020-05-13T11:21:00.000000"}, {"author": "557058:4b02db91-705f-4691-a56a-9a839ecbce6e", "body": "This has passed ci as a part of puppet-agent 6.15.0.195.g95e09983", "created": "2020-05-14T15:50:00.000000"}], "components": [], "created": "2020-05-11T16:11:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2b50674d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01tkw:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Adds a `puppet help <app> --ronn` command line option to generate help text for an application in ronn format. This eliminates the need for `puppet man` which is deprecated and will be removed in Puppet 7."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_102589516_*|*_1_*:*_1_*:*_426471_*|*_10007_*:*_1_*:*_154973949_*|*_5_*:*_1_*:*_0"}], "description": "Puppet docs tooling runs {{puppet man}} to produce ronn output for each application and converts that to html using the ronn gem. See https://github.com/puppetlabs/puppet-docs/blob/e09308ea830fbeb97a2702dd0b46c89a8d2af954/lib/puppet_references/puppet/man.rb#L120. We need to provide a way to generate the same output without relying on the {{puppet man}} application which will be removed in puppet 7", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23380", "fixedVersions": ["PUP 6.16.0"], "id": "23380", "issueType": "Task", "key": "PUP-10502", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-05-14T15:50:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Use puppet help to generate ronn output", "timeSpent": "PT0S", "updated": "2020-05-19T07:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-05-11T13:00:00.000000", "creator": "557058:97578a32-3955-4c5c-939e-58a878437b49", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6e82623"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hykbbr:9iei"}], "description": "Let resource\u00a0*A*\u00a0be a dependency of resource\u00a0*B*\n Let resource\u00a0*A* be no-op\nh2. Problem\n\nPuppet will\u00a0always\u00a0consider\u00a0*B*'s dependency to be satisfied, even if resource\u00a0*A*\u00a0is detected to be out-of-sync.\n\nResource\u00a0*A*\u00a0is in no-op mode so it cannot \"fail\". Puppet will never skip resource\u00a0*B*\u00a0due to a dependency failure. However, resource\u00a0*A*\u00a0_is_ out-of-sync, and is known to be in an incorrect state. Logically, this should cause resource\u00a0*B* to be skipped, just as it would be if resource\u00a0*A* were to be marked out-of-sync due to a sync failure.\n\nDepending on your dependency chains this behavior can cause problems, when Puppet cannot successfully configure resource\u00a0*B*\u00a0unless or until resource\u00a0*A*\u00a0is in-sync.\nh3. Example Manifest\n{code:java}file { 'dependency':\n  path   => '/tmp/never-create-me',\n  ensure => present,\n  noop   => true,\n}\n\nnotify { 'reliant':\n  message => 'I rely on dependency being in-sync to operate correctly',\n  require => File['dependency'],\n} {code}\nh3. Behavior Today\n\nOutput of {{puppet apply}}:\n{code:java}Notice: Compiled catalog for reids-macbook-pro.local in environment production in 0.03 seconds\nNotice: /Stage[main]/Main/File[dependency]/ensure: current_value 'absent', should be 'present' (noop)\nNotice: I rely on dependency being in-sync to operate correctly\nNotice: /Stage[main]/Main/Notify[reliant]/message: defined 'message' as 'I rely on dependency being in-sync to operate correctly'\nNotice: Applied catalog in 0.02 seconds {code}\nNotice how a dependency of {{Notify[reliant]}} is out-of-sync, but Puppet will still attempt to sync {{Notify[reliant]}}.\u00a0\nh3. Desired Behavior\n\nWhat the output of {{puppet apply}} should be:\n{code:java}Notice: Compiled catalog for reids-macbook-pro.local in environment production in 0.03 seconds Notice: /Stage[main]/Main/File[dependency]/ensure: current_value 'absent', should be 'present' (noop)\nNotice: /Stage[main]/Main/Notify[reliant]: Dependency File[dependency] in sync: false\nWarning: /Stage[main]/Main/Notify[reliant]: Skipping because of out of sync dependencies {code}\nh3. Considerations\n\nWhile it is desirable to expect that an out-of-sync dependency will cause resources that rely on it to be skipped, this behaviour would need to be feature flagged as it is a different behavior than what we have today.\n\nThis likely hasn't caused wider confusion mostly because no-op is frequently an all-or-nothing operation; it's less common to no-op some resources and not others, though doing so is highly sought after by many Puppet-as-a-Service customers and is made easier to do using patterns and modules like the popular [trlinkin-noop|https://forge.puppet.com/trlinkin/noop].\n\nMaybe something like... {{resource_dependency_requirement}}?\n\n{code}\n[main]\nresource_dependency_requirement = none_failed\nresource_dependency_requirement = in_sync\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27615", "fixedVersions": [], "id": "27615", "issueType": "Improvement", "key": "PUP-10499", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:97578a32-3955-4c5c-939e-58a878437b49", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Out-of-sync no-op resources should cause dependent resources to skip", "timeSpent": "PT0S", "updated": "2020-08-17T23:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Functions like your {{chrony_key}} execute server-side which runs as the {{puppet}} user and is probably why you're getting a permission denied error. If you want the function to execute on the client, then you need to call it using a deferred function, which was introduced in puppet 6. See https://puppet.com/docs/puppet/latest/write_a_puppet_function_to_store_secrets.html\n\nThat said you could avoid the need for the function if you use {{onlyif}}/{{unless}} to guard against an empty file instead of {{creates}}", "created": "2020-05-11T15:12:00.000000"}, {"author": "623c15aab75ca8007056d4ac", "body": "Hi [~accountid:63d40628f6e1b543161789a7],\n\nthanks for your valuable feedback.\n\nI want to execute the function on the server(master) side. I was not aware that those functions calls are executed with non-root user permissions.\n\nI was on that track already and took a look inside the /etc/passwd.\n\nWe have there the followowing users:\n\n\n{code:java}\npe-puppet:x:995:992:pe-puppetserver daemon:/opt/puppetlabs/server/data/puppetserver:/sbin/nologin\npe-postgres:x:994:991::/opt/puppetlabs/server/data/postgresql:/sbin/nologin\npe-webserver:x:993:990::/var/cache/puppetlabs/nginx:/sbin/nologin\npe-puppetdb:x:992:989:pe-puppetdb daemon:/opt/puppetlabs/server/data/puppetdb:/sbin/nologin\npe-console-services:x:991:988:pe-console-services daemon:/opt/puppetlabs/server/data/console-services:/sbin/nologin\npe-orchestration-services:x:990:987:pe-orchestration-services daemon:/opt/puppetlabs/server/data/orchestration-services:/sbin/nologin\n{code}\n\nSo which user will execute the function then ?\n\nThanks in adavance.\n\n-Christian\n", "created": "2020-05-12T00:07:00.000000"}, {"author": "623c15aab75ca8007056d4ac", "body": "Found it...\n\n\n{code:java}chown pe-puppet /etc/chrony_project.key{code}\n\ndid the trick.\n\nThanks for the hint.", "created": "2020-05-12T00:12:00.000000"}], "components": [], "created": "2020-05-11T10:48:00.000000", "creator": "623c15aab75ca8007056d4ac", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5a45557e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01t34:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_15842113_*|*_6_*:*_1_*:*_0"}], "description": "Hi,\n\nmy problem is very simple. I have the following piece of code in my manifest:\n{code:java}$keyfile = '/etc/chrony_project.key'\n# the pipe to cat is a ugly workaround to prevent selinux from blocking this\nexec { 'generate central chrony key on pms':\n  command => \"chronyc keygen 100 SHA1 256 | cat > ${keyfile} && chmod 600 ${keyfile}\",\n  require => Package['chrony'],\n  creates => $keyfile,\n}\n\n$hash = chrony_key($keyfile)\n{code}\nThen I've a custom ruby function like this:\n{code:java}Puppet::Functions.create_function(:chrony_key) do\n  dispatch :keyout do\n    param 'String', :keyfile\n  end\n\n  def keyout(keyfile)\n    data = if File.exist? keyfile\n           File.read(keyfile)\n         else ''\n         end\n    data\n  end\nend\n{code}\nSo the file get's created and the function should return the conent of the file.\n Simple as that.\n\nWhen I deploy this and let the agent run it always dies with the following error:\n\n{code:java}\nInfo: Retrieving locales\nInfo: Loading facts\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Function Call, Permission denied - /etc/chrony_project.key (file: /etc/puppetlabs/code/environments/fix_chronyc_selinux/modules/profile_itz_baseline/manifests/chrony.pp, line: 63, column: 11) on node somehost.de Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run\n{code}\n\nI've spend hours to investigate this and did not find a valid reason.\n\nHelp is very much appreciated !\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27613", "fixedVersions": ["PUP 6.16.0"], "id": "27613", "issueType": "Bug", "key": "PUP-10501", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c15aab75ca8007056d4ac", "resolution": "Incomplete", "resolutionDate": "2020-05-11T15:12:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Error while evaluating a Function Call, Permission denied ", "timeSpent": "PT0S", "updated": "2020-05-27T05:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "There's some duplication between this and PUP-9480.", "created": "2020-05-11T15:14:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This is actually a dup of 9480, closing.", "created": "2020-12-04T08:34:00.000000"}], "components": [], "created": "2020-05-11T06:53:00.000000", "creator": "557058:d266d245-5cba-4a99-842a-d1e061513459", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3bf9e44b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-8620"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01sfc:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18041695_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_17876454252"}], "description": "For all version of Puppet that I am aware of, the [host resource type|https://puppet.com/docs/puppet/5.5/types/host.html] does not support a stock configuration of Linux. In particular, both RHEL/CentOS and Debian/Ubuntu flavors come with IPv6 enabled by default. This results in two stock entries in /etc/hosts that resemble this:\n{code:java}\n127.0.0.1       localhost\n::1             localhost ip6-localhost ip6-loopback {code}\nAs it stands today, running \"puppet resource host\" will not return both of these entries - it will only return the IPv4 variant. Additionally, it seems to be impossible to precisely recreate this pair of entries, or any other entry for which a name has both an IPv4 and an IPv6 address.", "epicLinkSummary": "Host Type/Provider Improvements", "estimate": "PT0S", "externalId": "26568", "fixedVersions": [], "id": "26568", "issueType": "Bug", "key": "PUP-10498", "labels": [], "originalEstimate": "PT0S", "parent": "19940", "parentSummary": "Host Type/Provider Improvements", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:d266d245-5cba-4a99-842a-d1e061513459", "resolution": "Duplicate", "resolutionDate": "2020-12-04T08:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "host resources don't support stock Linux configurations", "timeSpent": "PT0S", "updated": "2020-12-04T08:35:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "70121:90ffc51d-f8c7-42ed-9f88-a31c9706bd0a", "created": "2020-05-08T14:12:00.000000", "name": "puppetrun.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12033"}], "comments": [{"author": "70121:90ffc51d-f8c7-42ed-9f88-a31c9706bd0a", "body": "I was able to find some entries in the kernel log with some call traces. Once a puppet configuration gets stuck the kernel does pick it up and starts dumping info.\u00a0\n\nOne such entry from kern.log while a puppet pid is stuck.\u00a0\n\n\nMay 11 11:06:40 r01blspcy kernel: [11600.653015] \"echo 0 > /proc/sys/kernel/hung_task_timeout_secs\" disables this message.\nMay 11 11:06:40 r01blspcy kernel: [11600.653680] puppet D 0 28708 15365 0x00004000\nMay 11 11:06:40 r01blspcy kernel: [11600.653682] Call Trace:\nMay 11 11:06:40 r01blspcy kernel: [11600.653689] __schedule+0x2e3/0x740\nMay 11 11:06:40 r01blspcy kernel: [11600.653692] ? __switch_to_asm+0x40/0x70\nMay 11 11:06:40 r01blspcy kernel: [11600.653693] ? __switch_to_asm+0x34/0x70\nMay 11 11:06:40 r01blspcy kernel: [11600.653694] schedule+0x42/0xb0\nMay 11 11:06:40 r01blspcy kernel: [11600.653695] schedule_timeout+0x203/0x2f0\nMay 11 11:06:40 r01blspcy kernel: [11600.653697] wait_for_completion+0xb1/0x120\nMay 11 11:06:40 r01blspcy kernel: [11600.653701] ? wake_up_q+0x70/0x70\nMay 11 11:06:40 r01blspcy kernel: [11600.653706] __floppy_read_block_0+0x140/0x190 [floppy]\nMay 11 11:06:40 r01blspcy kernel: [11600.653708] ? floppy_cmos_show+0x30/0x30 [floppy]\nMay 11 11:06:40 r01blspcy kernel: [11600.653711] floppy_revalidate+0xfc/0x240 [floppy]\nMay 11 11:06:40 r01blspcy kernel: [11600.653715] check_disk_change+0x62/0x70\nMay 11 11:06:40 r01blspcy kernel: [11600.653717] floppy_open+0x28e/0x360 [floppy]\nMay 11 11:06:40 r01blspcy kernel: [11600.653719] ? disk_block_events+0x5c/0x80\nMay 11 11:06:40 r01blspcy kernel: [11600.653721] __blkdev_get+0xe1/0x550\nMay 11 11:06:40 r01blspcy kernel: [11600.653722] blkdev_get+0x3d/0x140\nMay 11 11:06:40 r01blspcy kernel: [11600.653724] ? blkdev_get_by_dev+0x50/0x50\nMay 11 11:06:40 r01blspcy kernel: [11600.653725] blkdev_open+0x8f/0xa0\nMay 11 11:06:40 r01blspcy kernel: [11600.653729] do_dentry_open+0x143/0x3a0\nMay 11 11:06:40 r01blspcy kernel: [11600.653730] vfs_open+0x2d/0x30\nMay 11 11:06:40 r01blspcy kernel: [11600.653732] do_last+0x194/0x900\nMay 11 11:06:40 r01blspcy kernel: [11600.653734] path_openat+0x8d/0x290\nMay 11 11:06:40 r01blspcy kernel: [11600.653736] do_filp_open+0x91/0x100\nMay 11 11:06:40 r01blspcy kernel: [11600.653738] ? __alloc_fd+0x46/0x150\nMay 11 11:06:40 r01blspcy kernel: [11600.653739] do_sys_open+0x17e/0x290\nMay 11 11:06:40 r01blspcy kernel: [11600.653741] __x64_sys_openat+0x20/0x30\nMay 11 11:06:40 r01blspcy kernel: [11600.653743] do_syscall_64+0x57/0x190\nMay 11 11:06:40 r01blspcy kernel: [11600.653745] entry_SYSCALL_64_after_hwframe+0x44/0xa9\nMay 11 11:06:40 r01blspcy kernel: [11600.653747] RIP: 0033:0x7fc08cc3bd94\nMay 11 11:06:40 r01blspcy kernel: [11600.653752] Code: Bad RIP value.\nMay 11 11:06:40 r01blspcy kernel: [11600.653753] RSP: 002b:00007ffde03b0010 EFLAGS: 00000293 ORIG_RAX: 0000000000000101\nMay 11 11:06:40 r01blspcy kernel: [11600.653754] RAX: ffffffffffffffda RBX: 0000561496472700 RCX: 00007fc08cc3bd94\nMay 11 11:06:40 r01blspcy kernel: [11600.653755] RDX: 0000000000080000 RSI: 00005614972d4200 RDI: 00000000ffffff9c\nMay 11 11:06:40 r01blspcy kernel: [11600.653755] RBP: 00005614972d4200 R08: 0000000000000000 R09: 00007fc08cd16b80\nMay 11 11:06:40 r01blspcy kernel: [11600.653756] R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000080000\nMay 11 11:06:40 r01blspcy kernel: [11600.653756] R13: 00007fc08b86d3c4 R14: 00000000deb97429 R15: 0000000000000000\nMay 11 11:08:40 r01blspcy kernel: [11721.479575] INFO: task puppet:28708 blocked for more than 1087 seconds.\nMay 11 11:08:40 r01blspcy kernel: [11721.480269] Not tainted 5.4.0-29-generic #33-Ubuntu", "created": "2020-05-11T11:32:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:70121:90ffc51d-f8c7-42ed-9f88-a31c9706bd0a] given the low-level calls here, eg. {{floppy_open}} and {{floppy_revalidate}}, I don't think this is due to puppet. Probably need to take this up with Ubuntu at https://bugs.launchpad.net/ubuntu/", "created": "2020-05-11T12:28:00.000000"}, {"author": "557058:21d9d780-8ae3-4c51-be90-79baad66ec89", "body": "Looks like Buddy is using puppet agent 6.15 with puppet server 5.x, is this officially supported?", "created": "2020-05-26T02:21:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Ah yeah, puppetserver5 and agent6 is not a supported configuration, see https://puppet.com/docs/puppet/latest/upgrade_minor.html. We've also been testing and shipping 20.04 for awhile now and haven't seen any other reports, so I'm going to close this.", "created": "2021-01-27T10:52:00.000000"}], "components": ["Catalog Application"], "created": "2020-05-08T14:15:00.000000", "creator": "70121:90ffc51d-f8c7-42ed-9f88-a31c9706bd0a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5e26eae2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Other"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01ryw:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_252806363_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_22548202812"}], "description": "*Puppet Version: 6.15.0*\n *Puppet Server Version: 5.5.1*\n *OS Name/Version: Ubuntu 20.04*\n\nPuppet runs seemingly randomly decide to hang after loading facts.\n Describe steps to reproduce\u2026\nRun a puppet agent run, or allow the puppet service to run it.\n\n*Desired Behavior: Puppet agent to run to completion every time.*\n\n*Actual Behavior: Agent randomly hangs.*\n\nWhile I know I don't have everything resolved in my environment yet I've attached a debug run of my agent, and this one succeeded. When I encounter another that fails I will upload that log. When it hangs you can't kill it with sigterm or sigkill, and when you attach to the process via strace you also can't kill the strace instance.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28675", "fixedVersions": [], "id": "28675", "issueType": "Bug", "key": "PUP-10497", "labels": ["ubuntu"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:90ffc51d-f8c7-42ed-9f88-a31c9706bd0a", "resolution": "Cannot Reproduce", "resolutionDate": "2021-01-27T10:52:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Agent hangs randomly applying configuation Ubuntu 20.04", "timeSpent": "PT0S", "updated": "2021-01-27T10:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-05-06T16:57:00.000000", "creator": "5a5d378ca42ac966073ebe16", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@68880044"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o022f9:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Thank you https://github.com/Hexta for adding support on version ranges for `eq` operator.  Now all the providers that support version ranges will also handle simple versions, making the behaviour consistent between package providers,  eg: '1.2.3'"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_488880250_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1285102970"}], "description": "*Puppet Version: 6.11.0*\n *Puppet Server Version: 6.11.0*\n *OS Name/Version: Debian 9*\n{code:java}\npuppet resource package prometheus-client ensure='0.7.1' provider='pip3' --debug\n{code}\n\u00a0\n\n*Desired Behavior:*\n\nPackage install without failing notice in debug log.\n\n*Actual Behavior:*\n\nDebug log contains strange string:\n{noformat}\nDebug: Cannot parse 0.7.1 as a pip version range, falling through.{noformat}\n*PR: [https://github.com/puppetlabs/puppet/pull/8138]*\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27610", "fixedVersions": ["PUP 6.16.0"], "id": "27610", "issueType": "Improvement", "key": "PUP-10496", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a5d378ca42ac966073ebe16", "resolution": "Fixed", "resolutionDate": "2020-05-27T05:44:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Fix parsing version range for regular version", "timeSpent": "PT0S", "updated": "2020-05-29T02:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "A couple options for fixing this:\n# Skip applying the settings catalog in versioned mode, which would probably look something like PUP-8682, conditional on file-syncs mode. \n# Change the ensure in the settings catalog to allow either a directory or a symlink. \n\nThese both require updates to puppet.\n", "created": "2020-05-07T21:37:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "imo, since option #1 already has tickets associated with it, as something we already wanted to do, we should probably go that route. /cc [~accountid:63d40628f6e1b543161789a7]", "created": "2020-05-07T21:46:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "okay, we realized that option #1 would still require the settings catalog to be applied when puppetserver starts, so we would encounter this issue every time puppetserver restarted.\n\n#2 now seems like the best approach.", "created": "2020-05-08T16:29:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We also discussed what it would take to do away with the settings catalog entirely. I'll be writing something up for that. That seems like a good long term solution, but in the short term, it's probably fine to just fix the one resource.", "created": "2020-05-08T16:33:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] Can you tell me how to reproduce this issue?", "created": "2020-05-08T16:57:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "In a PE install with code-manager enabled and {{versioned_deploys}} on, run a code deploy, then restart the server.", "created": "2020-05-08T17:04:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I think this may only be an issue if {{confdir}} is a dangling symlink or if the symlink points to a file. If I create a symlink pointing to a directory:\n\n{noformat}\n$ bx puppet apply -e \"file { '$HOME/.puppetlabs/etc/puppet-target': ensure => directory }", "created": "2020-05-15T18:22:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Now that CODEMGMT-1272 is resolved, I can no longer reproduce this issue.\nYour analysis seems accurate, [~accountid:63d40628f6e1b543161789a7].\nClosing.", "created": "2020-05-18T11:48:00.000000"}], "components": [], "created": "2020-05-06T12:33:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5f2ceb33"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzwl99:zk94"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_565024_*|*_3_*:*_1_*:*_940160768_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_93429512"}], "description": "When file-sync is in {{versioned_deploys}} mode, we turn the target of Puppet's codedir setting into a symlink that points at the most recently-deployed version of the code. However, Puppet's internal settings catalog tries to ensure that {{codedir}} is a directory. When it finds a symlink instead, it errors, causing server startup to fail.\n{code:java}2020-05-06T16:27:25.444Z ERROR [clojure-agent-send-pool-0] [puppetserver] Puppet Could not set 'directory' on ensure: File exists - /etc/puppetlabs/code/latest\nFile exists - /etc/puppetlabs/code/latestorg/jruby/RubyDir.java:632:in `mkdir'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/file/ensure.rb:93:in `block in set_directory'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/property.rb:490:in `set'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/property.rb:570:in `sync'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/file/ensure.rb:189:in `sync'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:241:in `sync'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:136:in `sync_if_needed'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:82:in `perform_changes'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:21:in `evaluate'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:267:in `apply'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:287:in `eval_resource'org/jruby/RubyMethod.java:119:in `call'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:191:in `block in evaluate'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:521:in `block in thinmark'uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/benchmark.rb:308:in `realtime'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:520:in `thinmark'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:191:in `block in evaluate'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/graph/relationship_graph.rb:122:in `traverse'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:178:in `evaluate'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:240:in `block in apply'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:521:in `block in thinmark'uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/benchmark.rb:308:in `realtime'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:520:in `thinmark'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:239:in `block in apply'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:165:in `with_destination'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/report.rb:146:in `as_logging_destination'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:238:in `apply'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/settings.rb:1070:in `use'uri:classloader:/puppetserver-lib/puppet/server/puppet_config.rb:89:in `initialize_puppet'uri:classloader:/puppetserver-lib/puppet/server/master.rb:37:in `initialize' \n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "23379", "fixedVersions": [], "id": "23379", "issueType": "Bug", "key": "PUP-10500", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Cannot Reproduce", "resolutionDate": "2020-05-18T11:48:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Puppet settings catalog requires codedir to be a directory", "timeSpent": "PT0S", "updated": "2020-05-18T11:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5b9fcedc03b52466f05c4510", "body": "[~accountid:5b5a27ad106ec32d95ea277d] we'll add support for Fedora 32 as a new platform in this release", "created": "2020-08-24T01:43:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "It looks like this is already done as Fedora 32 is in https://puppet.com/docs/puppet/7.3/system_requirements.html#packaged-platforms. I'm going to close this. Please reopen if I'm missing something", "created": "2021-01-27T10:55:00.000000"}], "components": [], "created": "2020-05-06T07:02:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@208f6b38"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-3210"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01qao:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1808_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_22999979274"}], "description": "Update Public-facing Puppet docs to include this platform\n", "epicLinkSummary": "Add Fedora 32 (amd64) FOSS support", "estimate": "PT0S", "externalId": "27558", "fixedVersions": [], "id": "27558", "issueType": "Task", "key": "PUP-10494", "labels": [], "originalEstimate": "PT0S", "parent": "58500", "parentSummary": "Add Fedora 32 (amd64) FOSS support", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Done", "resolutionDate": "2021-01-27T10:55:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Public-facing Puppet docs to include Fedora 32 (amd64)", "timeSpent": "PT0S", "updated": "2021-01-27T10:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This relates to PUP-10603 and PUP-10613", "created": "2020-08-07T18:04:00.000000"}], "components": [], "created": "2020-05-05T18:10:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@18892f44"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10649"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hykbbr:9i4"}], "description": "When downloading files from http(s) sources, puppet does not encode the URL prior to parsing it, so you have to URL encode the string in the manifest: \"http://host/foo%20bar\". That's unexpected, users shouldn't have to do that.", "epicLinkSummary": "URL Encoding", "estimate": "PT0S", "externalId": "21298", "fixedVersions": [], "id": "21298", "issueType": "Task", "key": "PUP-10492", "labels": [], "originalEstimate": "PT0S", "parent": "23431", "parentSummary": "URL Encoding", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Handle special characters in http(s) source URLs", "timeSpent": "PT0S", "updated": "2021-05-03T11:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "It might be good to expand on why {{tags}} don't provide the necessary function?\n\nI assume the annotation would need to be propagated to {{eval_generate}} and {{generated}} resources, which were issues we had with {{tags}}.", "created": "2020-05-13T18:48:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "I've updated the description quite a bit, included some commentary about tags, and changed the suggested name to \"metadata\" (reasoning given).\n\nMy initial instinct is actually that we would _not_ propagate metadata to generated resources. If propagation is needed, tags could be a better choice for that kind of data.", "created": "2020-05-14T16:56:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "I've managed to come up with two possible reasons to prefer \"annotation\" over \"metadata\". Recording it here for consideration.\n\nFirst, in the specific context of Puppet, we've already used \"meta-\" to describe the general space that a parameter like this exists in. It is literally a _meta_\u00a0parameter. In a sense, all of the metaparameters (tag, notify, loglevel) are metadata", "created": "2020-05-15T09:15:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This makes sense to me, overall (y) to the annotation name and not using tags. As this is a foundational kind of feature, could you post what you\u2019ve written up to puppet-dev (if you haven\u2019t already)?", "created": "2021-02-24T23:24:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "A couple of thoughts to make annotations composable is to require that they are set for a specific data type. This way users can both get validation (the value must match the data type), and clashes are avoided, say you want to use more than one annotation. The data type can be a simple alias, but have to exist. For example:\n{code:puppet}\ntype OurOrg::Owner = String[1]\n\nannotation => { OurOrg::Owner => \"Kim Jones\" }\n{code}\n\nAlso note that Pcore has the notion of annotation that works in a similar way - there the type must be a kind of annotation, and any Pcore Object can be annotated. Annotations are included in the serialization of a Pcore Object. Puppet has a function to allow users to annotate Objects. In Pcore, you use the annotation type to retrieve the annotation value from the object. This was done so that annotations can have behavior - for example, the value associated with the annotated target could be some kind of identifier and the value may be stored some place else and retrieved from an external source, or it could be some other kind of derived value.\n\nSomething important to decide on is if annotations should propagate (like tags) or not. The use case \"notify an owner if resource failed\" kind of implies that it needs to propagate.\n\nJust my 2c thrown into the mix.", "created": "2021-02-25T07:14:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "[~accountid:63d40628f6e1b543161789a7]\u00a0I put a note out to puppet-dev on May 14, 2020, here: [https://groups.google.com/g/puppet-dev/c/cDCyp_U8Sv0/m/FiN1EqxWAwAJ.]\u00a0No responses or commentary in that forum.\n\nWhat else needs to happen to move this ticket forward?\n\n\u00a0\n----\n[~accountid:70121:81a73de1-7f52-49cd-b0b0-46c1b147202a]\u00a0that's a good consideration. Type validation is a powerful feature, provides some compelling benefits, and that idea inspires the example below. However, I think use of types needs to be optional, not something that could act as a barrier to entry.\u00a0To be most useful, annotations need to be very, very easy to use.\n\nUsers who want type validation could adopt this pattern:\n{code:puppet}type OurOrg::Annotation =\n  Struct[Optional[owner]      => String[1],\n         Optional[department] => Enum[operations, support, engineering]]\n\nnotify { 'example':\n  annotation => OurOrg::Annotation({'owner' => 'Riley'})\n}\n{code}\n\u00a0In the proposed implementation, the metaparameter is validated by a type already (Data). If this is a compelling adjustment, we could choose someday to make that configurable. E.g.\n{code:java}\nannotation_assert_type = Data # default", "created": "2021-09-20T14:57:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "Moved this to Open so we can discuss it on triage", "created": "2021-09-21T01:02:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:557058:d266d245-5cba-4a99-842a-d1e061513459], are we using something similar on customer0?", "created": "2021-10-07T03:29:00.000000"}, {"author": "557058:d266d245-5cba-4a99-842a-d1e061513459", "body": "[~accountid:70121:4596f954-1fdf-472f-a700-6b7c2ffbc525] - we kinda do but this would be even better. We utilize [https://forge.puppet.com/modules/ploperations/profile_metadata], which we own, do accomplish a higher level version of this. We combine that with [https://forge.puppet.com/modules/ploperations/meta_motd] to show metadata in the message of the day (motd) and also have [https://github.com/puppetlabs/infinitory] which gives us a web interface to browse this information. These serve us fairly well but an in-built solution would be way better and could easily enhance what we are already doing - I could absolutely see utilizing what is proposed here to enhance one or both of our modules and to enhance infinitory. Feel free to hit me up if you'd like to see a live demo of what this looks like in our environment.", "created": "2021-10-07T06:46:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "[~accountid:557058:613151bd-b161-4bc3-9e32-335fdcef4d89], [~accountid:70121:4c2994e4-73a9-4e99-971a-6d93d39be223] , do you have any concerns about increase of data to be saved in puppetdb?\n\n[~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b], what is your view on this feature?", "created": "2021-10-11T08:41:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "Noting for the future:\n\nGiven that this is fairly trivial to implement (PR is already up), the main consideration for the future is really just what to call it, and what use cases motivate it.\n\nIf we're waiting for other Puppet products to drive the motivation to decide on a name and merge the PR, I expect that if it comes, it will come from HDP. HDP's analytics and reporting platform is the potential Puppet product benefactor of richer annotations on resources describing their business purpose.\n\nIf I were confident on the naming I would advocate for merging as-is, but without naming confidence I won't take that position yet. When we're ready, this should be fairly trivial to accomplish.", "created": "2022-02-25T11:08:00.000000"}], "components": [], "created": "2020-05-05T11:30:00.000000", "creator": "557058:97578a32-3955-4c5c-939e-58a878437b49", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6d9bf9cf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk428:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/May/20"}, {"fieldName": "productboard URL", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:url", "value": "https://puppet.productboard.com/feature-board/planning/features/11160860"}], "description": "Consider the following use cases.\n|1\u00a0|As a Puppet code workflow designer,\n I want to my teams to create document-as-you-go annotations in their code for\n \u2003\u2003\u2022 Business-process identifiers pertaining to configuration items\n \u2003\u2003\u2022 Human-readable descriptions of configuration items\n \u2003\u2003\u2022 Responsible party for configuration items\n So that later when Puppet is is making changes to a system, I can easily look up who, what, and why.|\n|2|As a Puppet content developer,\n I want to attach ownership information to resources,\n So my team can be identified and alerted if Puppet has a problem applying my resources.|\n|3|As a change deployment approver,\n When reviewing changes made in a lower-tier environment to decide if it's ok to promote,\n I want to consume a high-level summation for the _meaning_ of changes applied to a system,\n So I can quickly get a sense of what's being done,\n Without needing to read low-level Puppet implementation code.|\n|4|\u00a0As a customer receiving a Puppet-managed server as a service,\u00a0\n I want to review a\u00a0*human-readable*\u00a0list of all \u201cstuff\u201d managed by Puppet on my system,\n So I can have some understanding of what Puppet is doing.|\n\nCurrently, we don't have a way to attach any kind of self-documenting information to Puppet content, or produce dynamic reports about what Puppet is doing on a target system based on documentation or annotations written for human consumption.\n\nFurther, while we have puppet-strings to create self-documenting\u00a0_code_, we don't have any tooling to create self-documenting\u00a0_catalogs_ or\u00a0_reports_\u2014these being examples of artifact outputs produced by the potentially documented code.\nh2. Feature Request\n\nProvide a solve for use case #1 above, in support of the rest of the use cases.\nh3. Suggestion\n\nA simple way to solve for this would be to add a new, non-operative metaparam, \"*annotation*\". As a metaparam, \"annotation\" would be available to specify on any Puppet resource or class. Because it is non-operative and for reporting purposes only, the addition of the metaparam would by itself constitute foundational delivery of this feature.\n\nThe annotation metaparam could be built on by later PE features to produce polished reports, but would not depend on such a thing to deliver value today.\n\nFor a customer engagement, a proof-of-concept module has been implemented [here|https://github.com/reidmv/reidmv-annotation]. (Note that the module is more complicated than a built-in integration would be).\n\nExample usage:\n{code:java}notify { 'example':\n  message  => 'this is a notify resource',\n  annotation => 'this is some annotation, a description, about it',\n}\n\nfile { '/tmp/example.conf':\n  ensure   => file,\n  owner    => 'root',\n  annotation => {\n    'description' => 'Annotation does not need to be a string',\n    'product'     => 'Example Product',\n    'owner'       => 'Kelly',\n  },\n} {code}\nh3. What about tags?\n\nTags have two characteristics that make them unsuitable to fully address these use cases.\n # Tags cannot contain text written for human consumption, such as descriptions or text-form comments due to not allowing spaces and other special characters.\n # Tags propagate. Especially for long-form comments, it may be desirable NOT to propagate them, as duplication and accidental scope escape can be undesirable.\n\nFor some use cases the propagation feature of tags may make them more desirable than using annotation. Annotation would be different enough that a meaningful decision could be made about which to use for a given purpose.\nh3. Compatibility considerations\n\nAfaik, there are no concerns with regards to backwards compatibility. If an existing class or type already uses a parameter called \"annotation\", that will mask/override an annotation by the same name.\n\nProbable Implementation Difficulty: trivial. Improper diff to demonstrate:\n{code:diff}diff --git a/lib/puppet/type.rb b/lib/puppet/type.rb\nindex 8951854ddd..5f230e3cea 100644\n--- a/lib/puppet/type.rb\n+++ b/lib/puppet/type.rb\n@@ -1714,6 +1714,16 @@ class Type\n\n+  newmetaparam(:annotation) do\n+    desc \"User-supplied descriptive or administrative information about\n+      this resource. Annotation is non-operative, but will be visible in the\n+      node's catalog and can be queried for reporting purposes.\"\n+  end\n+ {code}\n\u00a0\nh3. Naming considerations\n\nBased on the Wikipedia definition of the term, \"metadata\" seems to describe the generalized purpose of attaching data to Puppet resources non-operatively, and fit the use cases given above.\n\n[https://en.wikipedia.org/wiki/Metadata]\n\nThe term \"annotation\" is preferred though, because there are multiple different possible kinds of metadata. The definitions of both of those nouns more or less matches the use case for the proposed feature. Additional context below in the comments, regarding preference for annotation.\n\n[https://en.wikipedia.org/wiki/Annotation]", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27556", "fixedVersions": [], "id": "27556", "issueType": "New Feature", "key": "PUP-10491", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:97578a32-3955-4c5c-939e-58a878437b49", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Allow adding descriptive or administrative information to resources", "timeSpent": "PT0S", "updated": "2022-07-26T15:01:00.000000", "votes": "4", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/0f388769e45cb9f2a1e772195186f108d6bba005", "created": "2020-07-29T16:12:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 81e3bdf38bbfb1ec", "created": "2020-08-05T10:46:00.000000"}], "components": [], "created": "2020-05-05T10:49:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6aebed99"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-9120"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hykbbr:gi"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Remove a dependency on the http-client gem. If you have a puppet provider that relies on this gem, be sure to install it explicitly instead of relying on puppet to provide it."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_585256533_*|*_1_*:*_1_*:*_7356616364_*|*_10007_*:*_1_*:*_5661111_*|*_3_*:*_1_*:*_1097334_*|*_5_*:*_1_*:*_0"}], "description": "We added a hard gem dependency on http-client but we didn't end up using the gem in the 6.x timeframe. We should drop the dependency in 7", "epicLinkSummary": "Puppet 7.0.0 Removals", "estimate": "PT0S", "externalId": "22287", "fixedVersions": ["PUP 7.0.0"], "id": "22287", "issueType": "Task", "key": "PUP-10490", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": "23142", "parentSummary": "Puppet 7.0.0 Removals", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-08-05T10:46:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Drop dependency on http-client gem", "timeSpent": "PT0S", "updated": "2020-11-09T09:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "attachments": [], "comments": [], "components": [], "created": "2020-05-05T06:51:00.000000", "creator": "5b9fcedc03b52466f05c4510", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5c712c16"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-9120"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01p2g:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Remove deprecated method DirectoryService#write_to_file"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6568007_*|*_10007_*:*_1_*:*_82968253_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_9221641681"}], "description": "{noformat}\nlib/puppet/provider/user/directoryservice.rb:  def write_to_file(filename, value)\nlib/puppet/provider/user/directoryservice.rb:    Puppet.deprecation_warning(\"Puppet::Type.type(:user).provider(:directoryservice).write_to_file is deprecated and will be removed in Puppet 5.\")\n{noformat}\n", "epicLinkSummary": "Puppet 7.0.0 Removals", "estimate": "PT0S", "externalId": "28674", "fixedVersions": ["PUP 7.0.0"], "id": "28674", "issueType": "Task", "key": "PUP-10489", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": "23142", "parentSummary": "Puppet 7.0.0 Removals", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5b9fcedc03b52466f05c4510", "resolution": "Fixed", "resolutionDate": "2020-08-21T01:17:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Remove deprecated method from DirectoryService", "timeSpent": "PT0S", "updated": "2020-11-09T09:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "attachments": [], "comments": [], "components": [], "created": "2020-05-05T06:30:00.000000", "creator": "5b9fcedc03b52466f05c4510", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@66a616b9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-9120"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01p20:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Remove deprecated method Puppet::Provider::NameService#listbyname"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7811255_*|*_10007_*:*_1_*:*_83320788_*|*_3_*:*_1_*:*_606054_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_9220652528"}], "description": "{noformat}\nlocales/puppet.pot:msgid \"listbyname is deprecated and will be removed in a future release of Puppet. Please use `self.instances` to obtain a list of users.\"\nspec/unit/provider/nameservice_spec.rb:  describe \"#listbyname\" do\nspec/unit/provider/nameservice_spec.rb:      expect(Puppet).to receive(:deprecation_warning).with(/listbyname is deprecated/)\nspec/unit/provider/nameservice_spec.rb:      described_class.listbyname\nspec/unit/provider/nameservice_spec.rb:      expect(described_class.listbyname).to eq(%w{root foo})\nspec/unit/provider/nameservice_spec.rb:          described_class.listbyname\nspec/unit/provider/nameservice_spec.rb:          described_class.listbyname\nspec/unit/provider/nameservice_spec.rb:      expect(described_class.listbyname).to eq(%w{root bin})\nspec/unit/provider/nameservice_spec.rb:      described_class.listbyname {|x| yield_results << x }\nlib/puppet/provider/nameservice.rb:    def listbyname\nlib/puppet/provider/nameservice.rb:      Puppet.deprecation_warning(_(\"listbyname is deprecated and will be removed in a future release of Puppet. Please use `self.instances` to obtain a list of users.\"))\n{noformat}\n", "epicLinkSummary": "Puppet 7.0.0 Removals", "estimate": "PT0S", "externalId": "26566", "fixedVersions": ["PUP 7.0.0"], "id": "26566", "issueType": "Task", "key": "PUP-10488", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": "23142", "parentSummary": "Puppet 7.0.0 Removals", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5b9fcedc03b52466f05c4510", "resolution": "Fixed", "resolutionDate": "2020-08-21T01:17:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Remove deprecated method from Puppet::Provider::NameService", "timeSpent": "PT0S", "updated": "2020-11-09T09:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "attachments": [], "comments": [], "components": [], "created": "2020-05-05T06:27:00.000000", "creator": "5b9fcedc03b52466f05c4510", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@30e7a709"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10591"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01p1s:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "TypeCalculator.enumerable deprecated in PUP-5648 and will be removed in Puppet 7 since its functionality has been moved to Iterable."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_168785137_*|*_1_*:*_1_*:*_7932041_*|*_10007_*:*_1_*:*_73976981_*|*_3_*:*_1_*:*_171869950_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_8120967723"}], "description": "\n{noformat}\nlib/puppet/pops/types/type_calculator.rb:    Puppet.deprecation_warning(_('TypeCalculator.enumerable is deprecated. Use iterable'))\n{noformat}\n", "epicLinkSummary": "Puppet 7 Language", "estimate": "PT0S", "externalId": "25467", "fixedVersions": ["PUP 7.0.0"], "id": "25467", "issueType": "Task", "key": "PUP-10487", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": "20310", "parentSummary": "Puppet 7 Language", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5b9fcedc03b52466f05c4510", "resolution": "Fixed", "resolutionDate": "2020-08-12T03:40:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Remove deprecated methods from TypeCalculator", "timeSpent": "PT0S", "updated": "2020-11-09T09:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "attachments": [], "comments": [], "components": [], "created": "2020-05-05T06:23:00.000000", "creator": "5b9fcedc03b52466f05c4510", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2b37c620"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10591"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01p1k:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The Enumeration class was deprecated in PUP-5648 and will be removed in Puppet 7 since its functionality has been moved to Iterable."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_169499912_*|*_1_*:*_1_*:*_8151689_*|*_10007_*:*_1_*:*_73977249_*|*_3_*:*_1_*:*_178071451_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_8114809969"}], "description": "{noformat}\nlocales/puppet.pot:msgid \"Enumeration.enumerator is deprecated. Use Iterable.on instead\"\nspec/unit/pops/types/enumeration_spec.rb:  expect(Enumeration.enumerator([1,2,3]).respond_to?(:next)).to eql(true)\nspec/unit/pops/types/enumeration_spec.rb:    expect(Enumeration.enumerator({:a=>1}).respond_to?(:next)).to eql(true)\nspec/unit/pops/types/enumeration_spec.rb:    enum = Enumeration.enumerator(\"abc\")\nspec/unit/pops/types/enumeration_spec.rb:    enum = Enumeration.enumerator(2)\nspec/unit/pops/types/enumeration_spec.rb:    enum = Enumeration.enumerator(range)\nspec/unit/pops/types/enumeration_spec.rb:    enum = Enumeration.enumerator(range)\nspec/unit/pops/types/enumeration_spec.rb:    enum = Enumeration.enumerator(range)\nspec/unit/pops/types/enumeration_spec.rb:      enum = Enumeration.enumerator(x)\nlib/puppet/pops/types/enumeration.rb:# The Enumeration class provides default Enumerable::Enumerator creation for Puppet Programming Language\nlib/puppet/pops/types/enumeration.rb:  class Enumeration\nlib/puppet/pops/types/enumeration.rb:      Puppet.deprecation_warning(_('Enumeration.enumerator is deprecated. Use Iterable.on instead'))\nlib/puppet/pops/types/enumeration.rb:      Puppet.deprecation_warning(_('Enumeration.enumerator is deprecated. Use Iterable.on instead'))\n{noformat}", "epicLinkSummary": "Puppet 7 Language", "estimate": "PT0S", "externalId": "24505", "fixedVersions": ["PUP 7.0.0"], "id": "24505", "issueType": "Task", "key": "PUP-10486", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": "20310", "parentSummary": "Puppet 7 Language", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5b9fcedc03b52466f05c4510", "resolution": "Fixed", "resolutionDate": "2020-08-12T03:52:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Remove deprecated Enumeration type", "timeSpent": "PT0S", "updated": "2020-11-09T09:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c12ff94742a00683e41fd", "attachments": [], "comments": [{"author": "557058:ea8d8852-0291-4b62-9047-0e4b235efa5d", "body": "Possibly, other calls to execute the command need to be quoted using {{quote()}} ...\n\nhttps://github.com/puppetlabs/puppet/blob/6.14.0/lib/puppet/provider/package/pip.rb#L142\n\nhttps://github.com/puppetlabs/puppet/blob/6.14.0/lib/puppet/provider/package/pip.rb#L166\n\nhttps://github.com/puppetlabs/puppet/blob/6.14.0/lib/puppet/provider/package/pip.rb#L206", "created": "2020-05-01T14:32:00.000000"}, {"author": "557058:ea8d8852-0291-4b62-9047-0e4b235efa5d", "body": "Note that this affects out Packages (View packages in use across your infrastructure) feature.", "created": "2020-05-04T09:12:00.000000"}, {"author": "623c12ff94742a00683e41fd", "body": "Reviewed your changes [~accountid:557058:ea8d8852-0291-4b62-9047-0e4b235efa5d]\u00a0and added some unit tests to cover them. Looks good to me but someone else from the team should also take a look at the pull request as a whole before proceeding to merge.", "created": "2020-05-07T07:59:00.000000"}], "components": [], "created": "2020-05-01T14:20:00.000000", "creator": "557058:ea8d8852-0291-4b62-9047-0e4b235efa5d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@72141ace"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01ops:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Paths containing spaces will now be quoted in pip package provider as it caused issues on Windows when executing CLI commands."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_155155778_*|*_1_*:*_1_*:*_325128639_*|*_10007_*:*_1_*:*_339728881_*|*_3_*:*_1_*:*_95259495_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_75165832"}], "description": "*Puppet Version:\u00a06.4.5 and 6.14.0*\n*OS Name/Version: Windows*\n\nOn a Windows Server 2016 node running Puppet 6.4.5 and 6.14.0 with Python installed in a path with spaces, the Puppet catalog returns the below error if package collection is enabled:\n\nCannot collect packages for Puppet::Type::Package::ProviderPip provider; [nil, nil]\n\nMore specifically, this issue was fixed in PUP-9647 for getting the pip version, but this was not fixed when Puppet executes the `pip freeze -all' command to get the packages.\u00a0\n\n*Desired Behavior:*\n\nQuote function should be added to the pip provider here:\n[https://github.com/puppetlabs/puppet/blob/6.14.0/lib/puppet/provider/package/pip.rb#L79]\n\n\u00a0\n\nRelevant sections of configurations files (puppet.conf, hiera.conf, Server's conf.d, defaults/sysconfig)\n\nFor memory issues with server heap dumps are also helpful.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21296", "fixedVersions": ["PUP 5.5.21", "PUP 6.16.0"], "id": "21296", "issueType": "Bug", "key": "PUP-10485", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ea8d8852-0291-4b62-9047-0e4b235efa5d", "resolution": "Fixed", "resolutionDate": "2020-05-13T01:27:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "pip package provider does not handle pip executable paths with spaces", "timeSpent": "PT0S", "updated": "2020-07-02T04:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:b0000c48-c6a4-41b8-baf9-6d9c091a181c] I think this is a dup of PUP-10432. Could you try the just released 6.15.0 puppet-agent and see if that resolves the issue? If so, please close this as a dup.", "created": "2020-05-01T10:20:00.000000"}, {"author": "557058:b0000c48-c6a4-41b8-baf9-6d9c091a181c", "body": "Duplicate of PUP-10432", "created": "2020-05-01T10:50:00.000000"}], "components": ["Types and Providers"], "created": "2020-05-01T06:11:00.000000", "creator": "557058:b0000c48-c6a4-41b8-baf9-6d9c091a181c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Even if this setting & warning is in place, it shouldn't confuse the package provider to the point that it becomes inoperative."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4be8b036"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Console Browser", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Chrome"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master Config", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Monolithic"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "CentOS 7"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01ohk:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_16766124_*|*_6_*:*_1_*:*_0"}], "description": "If the yum subscription-manager is enabled but not registered with an entitlement server, a warning will show in every output of the yum command:\n\n\u00a0\n{code:java}\nThis system is not registered with an entitlement server. You can use subscription-manager to register.\u00a0\n{code}\nThis confuses the yum package provider, causing Package resources to no longer be able to update packages.\n\nSteps to repro:\n # Install CentOS 7\n # Create\u00a0/etc/yum/pluginconf.d/subscription-manager.conf\n # Set contents of the above .conf file to:\n*[main]*\n*enabled=1*\n # Run *yum check-update* and notice the warning\n # Now try to update a yum package using puppet:\n*puppet resource package <name> ensure=latest*\n # You'll notice the package doesn't get updated\n # Go back to the .conf file and set *enabled=0*\n # Retry updating the\u00a0yum package using puppet and notice it now works.", "environment": "Somehow the\u00a0subscription-manager.conf appeared in my system as I was setting up docker and docker-compose. It was not until later that I realized it broke puppet's package provider.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "21294", "fixedVersions": ["PUP 6.15.0"], "id": "21294", "issueType": "Bug", "key": "PUP-10484", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:b0000c48-c6a4-41b8-baf9-6d9c091a181c", "resolution": "Duplicate", "resolutionDate": "2020-05-01T10:50:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Unregistered yum subscription-manager confuses yum package provider", "timeSpent": "PT0S", "updated": "2020-05-01T10:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": [], "created": "2020-04-30T15:37:00.000000", "creator": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@79adccfc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "SERVER-2138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01o8o:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_84678571_*|*_1_*:*_1_*:*_4974884_*|*_10007_*:*_1_*:*_88341161_*|*_3_*:*_2_*:*_1306130207_*|*_4_*:*_1_*:*_7505337_*|*_5_*:*_2_*:*_937029064_*|*_10006_*:*_1_*:*_16276"}], "epicLinkSummary": "Threadsafe Puppet", "estimate": "PT0S", "externalId": "20203", "fixedVersions": ["PUP 6.16.0"], "id": "20203", "issueType": "Bug", "key": "PUP-10483", "labels": [], "originalEstimate": "PT0S", "parent": "16739", "parentSummary": "Threadsafe Puppet", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "resolution": "Fixed", "resolutionDate": "2020-05-28T18:15:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "LOAD_PATH can get corrupted when multithreading is on", "timeSpent": "PT0S", "updated": "2020-05-28T18:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:4b02db91-705f-4691-a56a-9a839ecbce6e", "body": "merged into master at https://github.com/puppetlabs/puppet/commit/1eacc4773b129ecd2feb895f7cfd416dea454c01", "created": "2020-05-05T18:13:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in bbd18f57a53a0355c9060dd47844f8a72556166a", "created": "2020-05-06T09:57:00.000000"}], "components": [], "created": "2020-04-30T15:30:00.000000", "creator": "557058:4b02db91-705f-4691-a56a-9a839ecbce6e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6fbb30f6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-8550"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01o88:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet now uses the http client to retrieve file metadata from http(s) sources"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_56671363_*|*_1_*:*_1_*:*_122599_*|*_10007_*:*_1_*:*_360728263_*|*_3_*:*_1_*:*_282006_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_80615285"}], "description": "Puppet uses the legacy HTTP code (Puppet::Util::HttpProxy.request_with_redirects) to retrieve file metadata for http(s) file sources. That code does not use persistent connections, doesn't support basic auth, and doesn't trust the puppet CA for HTTPS connections.\n\nPuppet should our HTTP client to ensure it behaves consistently.", "epicLinkSummary": "Agent HTTP connection improvements", "estimate": "PT0S", "externalId": "28673", "fixedVersions": ["PUP 6.16.0"], "id": "28673", "issueType": "Task", "key": "PUP-10482", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": "21028", "parentSummary": "Agent HTTP connection improvements", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4b02db91-705f-4691-a56a-9a839ecbce6e", "resolution": "Fixed", "resolutionDate": "2020-05-06T09:57:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "FileMetadata HTTP terminus needs to use the new Puppet::HTTP::Client code", "timeSpent": "PT0S", "updated": "2020-05-19T07:44:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4b02db91-705f-4691-a56a-9a839ecbce6e", "attachments": [], "comments": [{"author": "557058:4b02db91-705f-4691-a56a-9a839ecbce6e", "body": "Merged into master with https://github.com/puppetlabs/puppet/commit/c38342f7063cf2c0b4ed9b1c1da7c1486d446c86", "created": "2020-05-20T16:49:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in https://github.com/puppetlabs/puppet/commit/cdd4bddef009d34091b2bebc4b49c342cb4b333d", "created": "2020-05-21T13:02:00.000000"}], "components": [], "created": "2020-04-30T15:10:00.000000", "creator": "557058:4b02db91-705f-4691-a56a-9a839ecbce6e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1494cc6b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-9096"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzco4j:9"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The Puppet::Network::HTTP::Connection class is deprecated and will be removed in puppet 7. Calls to the Puppet::Network::HttpPool factory methods (such as http_instance) will be routed to the new HTTP client in puppet."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_73072865_*|*_1_*:*_1_*:*_1346366_*|*_10007_*:*_1_*:*_177872060_*|*_3_*:*_2_*:*_257547890_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_2_*:*_1297069657"}], "epicLinkSummary": "Puppet 6.y Deprecations", "estimate": "PT0S", "externalId": "27554", "fixedVersions": ["PUP 6.16.0"], "id": "27554", "issueType": "Task", "key": "PUP-10481", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": "23140", "parentSummary": "Puppet 6.y Deprecations", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4b02db91-705f-4691-a56a-9a839ecbce6e", "resolution": "Fixed", "resolutionDate": "2020-05-21T13:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Deprecate Puppet::Network::HTTP::{Connection,NoCachePool,Compression}", "timeSpent": "PT0S", "updated": "2020-05-29T02:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4b02db91-705f-4691-a56a-9a839ecbce6e", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in https://github.com/puppetlabs/puppet/commit/2e66f5dc0b3b30f58312431ed5f1d301671a2684", "created": "2020-05-05T21:35:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in bbd18f57a53a0355c9060dd47844f8a72556166a", "created": "2020-05-06T09:57:00.000000"}], "components": [], "created": "2020-04-30T14:52:00.000000", "creator": "557058:4b02db91-705f-4691-a56a-9a839ecbce6e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@241bbbbd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-9096"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01ffi:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "`puppet module search` is now deprecated. Users should search for modules on the Puppet Forge instead."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_45055273_*|*_1_*:*_1_*:*_446328745_*|*_10007_*:*_1_*:*_9850340_*|*_5_*:*_1_*:*_0"}], "description": "Spit out a deprecation warning when a user uses {puppet module search}", "epicLinkSummary": "Puppet 6.y Deprecations", "estimate": "PT0S", "externalId": "21293", "fixedVersions": ["PUP 6.16.0"], "id": "21293", "issueType": "Task", "key": "PUP-10480", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": "23140", "parentSummary": "Puppet 6.y Deprecations", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4b02db91-705f-4691-a56a-9a839ecbce6e", "resolution": "Fixed", "resolutionDate": "2020-05-06T10:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Deprecate {puppet module search}", "timeSpent": "PT0S", "updated": "2020-05-19T07:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "This does not have to go into puppet, and is not a good idea in general as it makes the result of lookup depend on order of evaluation - it creates a hard to debug and reason about configuration. Features like this was deliberately removed from the hiera 5 implementation because of the mess they create.\n\nIf you really want to do this, you can write your own backend function (in puppet language for example), it has access to puppet variables in scope. Don't however try to make `paths` be anything other than file paths - there are other options for passing other things to backends - such as \"options\", and \"uri/uris\". The file paths are automatically handled with change monitoring etc.\n\nIf all you want to do is to produce a hash with values from facts, that is super simple to do in a custom backend function.\n\nSuggest closing this ticket with Won't Do.", "created": "2020-04-30T11:16:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "Hey Henrik! There was a long discussion in Slack about this that didn't get carried into the ticket description.\n\n*Re:* \u201cmakes the result of lookup depend on order of evaluation\u201d:\n\nYou're right, and we are aware of that concern. We had a long Slack discussion about best practices, user awareness of this kind of issue, what appropriate guard-rails should be, or how aggressively we should protect against users doing this. There is nowhere else in Hiera that programmatically protects against the use of local-scope variables in the hierarchy as far as I know, so the suggested default option {{topscope_variables_only=true}} and associated error message actually provides more protection for the proposed {{getvar}} backend than we have anywhere else. We considered permitting only {{$facts}} or {{$trusted}} to be used here by default as well. The current suggestion of any top-scope variable without opting in to what Puppet tells you is a bad idea is because it's usually a safe bet that top-scope variables are set before classes are evaluated, and therefore reasonably permissible. It would permit un-errored use of Hiera data from ENCs or standard functions called in site.pp, which would otherwise not be possible without setting a more restrictive version of the guardrail feature flag to false.\n\n*Re:* \u201cDon\u2019t however try to make `paths` be anything other than file paths\u201d\n\nThat sounds like a valuable implementation note to be aware of. For now, updated the description to use \"uris\".\n\n*Re:* \u201cyou can write your own backend function [\u2026] that is super simple to do in a custom backend function\u201d\n\nThis is where we started, actually, and was one of the options considered and discussed in the Slack thread. The main counter-point is disagreement that for _users_ writing a customer back-end function is that simple. It's simple to write a function, but more complicated to know that you can write a backend, choose an appropriate backend type, and put it together. Not that hard, but definitely a barrier.\n\nThe original impetus for this ticket was implementing an integration with ServiceNow through the {{trusted_external_command}} feature. If _we_ want to do this, and only do it ourselves, for ServiceNow, then we just write a servicenow backend. But if we want users to be able to do this more generally, including for in-house use of {{trusted_external_command}}, we should provide a generalized backend for this in Puppet.", "created": "2020-04-30T12:56:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Can we write a supported custom backend that users can use and install if they want to use it? The main argument is against having it be built into Puppet, since we've been moving towards having less and less in core over the last couple of years. Seems like the usability should be similar if it's built-in vs installing an external plugin. Isn't that they way people use hiera-eyaml now?", "created": "2020-04-30T13:03:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "hiera-eyaml is built in. Works out-of-box, no plugins or additional installation required.\n\nThe primary use case motivating the discussion around providing it out-of-box (I don\u2019t care if it\u2019s technically core or technically one of the modules we ship with core) is:\n\n*Provide a way to supply Hiera data through {{trusted_external_command}}.*\n\nLike for eyaml, the ideal solution to this use case should not require users to identify and install extra plugins. It so happens that there are several other ways users inject data into Puppet for which the same motivation (\"I want this data to go to Hiera\") may also exist. E.g., node-provided Hiera data (through facts). It seems like we can solve our primary use case through a generalized backend, and scoop up those extra use cases as a side-effect.\n\nAlternative approaches could be to modify the definition of how {{trusted_external_command}} works, and ship a purpose-specific {{trusted_external_command}}-only Hiera backend instead. I haven't explored any design ideas for that yet. We would need to be careful not to overcomplicate the interface if we want to jump that way.\n\n", "created": "2020-04-30T13:48:00.000000"}, {"author": "70121:81a73de1-7f52-49cd-b0b0-46c1b147202a", "body": "Hiera eyaml is a module that is shipped with puppet agent - there is just a tiny bit of support for it in puppet's repo because puppet's hiera5 implementation needed to override the hiera3 version of it. I.e the actual eyaml logic is in a module. What is suggested here should be in a separate module as well. When hiera 3 is gone completely (in hiera eyaml module as well) then the puppet core specials for it can be cleaned up.\n\nWe had to support getting variables in scope since hiera 5 needed to be backwards compatible in this respect. What the hiera 5 implementation does is that it monitors if any values that affect the context has changed in such a way that the hierarchy may be affected and if that is detected then the cache is evicted. This leads to worse performance. Thus - using variables in scope leads to worse performance.\n\nWhen using a solution like the proposed you also have to use the lookup cli with `compile` which makes it slower. Without `compile` it would not produce what is produced in real use.\n\nA far better solution would be to allow a hiera.yaml to specify a function that is called to produce variables that are derived from initial topscope variables. Those variables (produced by function returning a hash) would be available for interpolation in hiera yaml, and in hiera data, but not be available as variables in the puppet language.  This way, there would be no dynamic changes to the context and no messy order of evaluation problems to confuse people. (This was one of the features I wanted to add to hiera 5).\n\n\n", "created": "2020-05-02T05:31:00.000000"}, {"author": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] We implemented {{getvar}} in the CMDB module -- https://github.com/puppetlabs/puppetlabs-servicenow_cmdb_integration/blob/master/lib/puppet/functions/servicenow_cmdb_integration/getvar.rb -- so it's not urgent. But it would probably be nice-to-have to facilitate Hiera lookups on the {{trusted['external']}} variable for non-CMDB module users. /cc [~accountid:557058:97578a32-3955-4c5c-939e-58a878437b49]", "created": "2020-07-28T18:13:00.000000"}, {"author": "61af86343618cd006f430854", "body": "Hi,\n\nThis sounds like a useful change, have you looked at creating a PR for this? The module's code is open source and we encourage community contributions.\u00a0\n\nWe actively monitor new PRs and review/merge them.\u00a0 Unfortunately, there has not been enough of a demand for this change to prioritize and resource.\n\nThank you for taking the time to create this ticket.", "created": "2022-03-08T11:57:00.000000"}], "components": [], "created": "2020-04-29T15:42:00.000000", "creator": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@500fd0d5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01nd4:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Apr/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7782002179_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_50787266862"}], "description": "Configuring this would look something like\n{code:yaml}\nhierarchy:\n  - name: \"Node-specific Hiera data, via trusted and via fact\"\n    data_hash: getvar\n    uris:\n      - \"trusted.external.servicenow.hieradata\"\n      - \"trusted.external.unicorn.hieradata\"\n      - \"facts.hieradata\"\n  - name: \"Some yaml stuff\"\n    data_hash: yaml\n    paths:\n      - \"environments/%{trusted.extensions.pp_environment}.yaml\"\n      - \"common.yaml\"\n{code}\nwhere for the {{getvar}} Hiera layer, {{path}}\u00a0(or each entry in {{paths}}) resolves to a {{Hash}} value containing hiera lookup keys. For example:\n{code:json}{\n  \"cygwin::enable\": false,\n  \"ntp::servers\": [\n    \"time.nist.gov\",\n    \"clock.sjc.he.net\"\n  ],\n  \"ntp::restrict\": [\n    \"127.0.0.1\"\n  ],\n  \"ntp::disable_monitor\": true,\n  \"resource_api::agent::api_version\": \"1.4.2\",\n  \"resource_api::server::api_version\": \"1.4.2\",\n  \"syslog::server\": \"rsyslog.ops.puppetlabs.net\"\n}\n{code}\nTo provide best-practices guardrails, by default {{path}} must start with a valid top-scope variable such as {{trusted}} or {{facts}}, because per Hiera best practices, only variables not subject to evaluation-order dependencies or calling scope should be referenced in hiera.yaml. Thus, the following hierarchy configuration should fail:\n{code:yaml}---\nhierarchy:\n  - name: \"Example failure\"\n    data_hash: getvar\n    uri: \"class_scope_variable.hieradata\"\n{code}\nThe error emitted should look something like:\n{panel}\n{{ERROR: /etc/puppetlabs/code/environments/production/hiera.yaml: getvar hierarchy level \"Example failure\" is configured to consult missing or non-topscope variable \"class_scope_variable\". This is prohibited by the topscope_variables_only=true option, which dictates that variables consulted must exist and be in topscope. If you would like to consult \"class_scope_variable\" anyway, you must set topscope_variables_only=false.}}\n{panel}\nConfiguring the backend to allow the use of non-topscope variables would look like this:\n{code:yaml}---\nhierarchy:\n  - name: \"Example failure (bypassed)\"\n    data_hash: getvar\n    uri: \"class_scope_variable.hieradata\"\n    options:\n      topscope_variables_only: false\n{code}\n\nThe backend type should be {{data_hash}}. The most technically appropriate type might be {{lookup_key}}, but there are UX considerations here and the name {{data_hash}} helps communicate to the user how this works\u2014the data returned should be like what you find in a yaml file, which is type {{data_hash}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "22286", "fixedVersions": [], "id": "22286", "issueType": "Task", "key": "PUP-10478", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "resolution": "Won't Do", "resolutionDate": "2022-03-08T11:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Add getvar Hiera backend", "timeSpent": "PT0S", "updated": "2022-03-08T11:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5b9fcedc03b52466f05c4510", "attachments": [], "comments": [{"author": "5b590061a3f8512ca5eb3be7", "body": "For posterity, this fixes these kind of forking errors when managing the state of the agent service using a `service` resource:\n\n\u00a0\n{code:java}\nJun 25 15:41:37 pe-201970-compile puppet-agent[9133]: Run of Puppet configuration client already in progress", "created": "2020-07-13T14:01:00.000000"}], "components": [], "created": "2020-04-29T02:22:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@69b4dfb4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk9sv:00c"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_247553889_*|*_1_*:*_1_*:*_2612588_*|*_10007_*:*_1_*:*_433104879_*|*_3_*:*_1_*:*_85259076_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_6434660"}], "description": "Ideally we should never do a non-local return. \nCode to be assessed:\n- https://github.com/puppetlabs/puppet/commit/ce74cd97085c3d3bd7b4888c80bcbf14ebfdfa2\n- https://github.com/puppetlabs/puppet/commit/10d89dc463ebe8d31cee3a3603e924ae614f754a\n- https://github.com/puppetlabs/puppet/commit/42f1f27d914576be95b8745b6015897993f9aea3.\n\nIt would be great to clean that up so that nil is always returned due to an error, so that [Puppet::Application::Agent consistently exits with 1.|https://github.com/puppetlabs/puppet/blob/42f1f27d914576be95b8745b6015897993f9aea3/lib/puppet/application/agent.rb#L360-L374]\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28672", "fixedVersions": ["PUP 5.5.21", "PUP 6.16.0"], "id": "28672", "issueType": "Task", "key": "PUP-10477", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Fixed", "resolutionDate": "2020-05-08T01:38:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Remove non-local return from agent.rb", "timeSpent": "PT0S", "updated": "2020-07-13T14:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "attachments": [], "comments": [{"author": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "body": "This is assigned to me for now. This work was spawned from conversations around the compile API in puppetserver and changes we needed to support apply blocks in plans: https://github.com/puppetlabs/puppetserver/pull/2329#discussion_r416030694", "created": "2020-04-28T09:21:00.000000"}], "components": [], "created": "2020-04-28T09:01:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7a16ead7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hykawv:0c"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_335352597_*|*_1_*:*_1_*:*_16306757_*|*_10007_*:*_1_*:*_12861720_*|*_3_*:*_1_*:*_506792123_*|*_10009_*:*_1_*:*_176322510_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_259246052"}], "description": "Update the PAL implementation to support newer use cases in bolt. \n\nThere are a few cases in bolt's code where we are calling private functions in the compile layer to override some settings. At least two examples:\n\none [when filtering variables|https://github.com/puppetlabs/bolt/blob/master/lib/bolt/catalog.rb#L104]\n\nand another [when evaluating to get node definitions|https://github.com/puppetlabs/bolt/blob/master/lib/bolt/catalog.rb#L130]\n\nBolt also overrides some puppet settings, like [rich data|https://github.com/puppetlabs/bolt/blob/master/lib/bolt/catalog.rb#L62].\n\nThe PAL layer in puppet should be updated to handle these cases and have sane defaults, such that we don't need to call private or internal functions in bolt (or PE when it's using bolt) or update puppet settings to compile correctly.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "27552", "fixedVersions": ["PUP 6.16.0"], "id": "27552", "issueType": "Task", "key": "PUP-10476", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Fixed", "resolutionDate": "2020-05-13T12:02:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Update Puppet's PAL API to fulfill bolt use cases", "timeSpent": "PT0S", "updated": "2020-05-13T12:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "attachments": [], "comments": [], "components": [], "created": "2020-04-27T18:12:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@54b101ec"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-9120"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03rhz:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Remove deprecated method Puppet::Util::Yaml.load_file"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_152753249_*|*_1_*:*_1_*:*_10394748920_*|*_10007_*:*_1_*:*_90929940_*|*_3_*:*_1_*:*_5058498_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_439061864"}], "description": "The load_file method is unsafe, and should be removed:\n\n{noformat}\n  def self.load_file(filename, default_value = false, strip_classes = false)\n    Puppet.deprecation_warning(_(\"Puppet::Util::Yaml.load_file is deprecated. Use safe_load_file instead.\"))\n{noformat}", "epicLinkSummary": "Puppet 7.0.0 Removals", "estimate": "PT0S", "externalId": "28671", "fixedVersions": ["PUP 7.0.0"], "id": "28671", "issueType": "Bug", "key": "PUP-10475", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": "23142", "parentSummary": "Puppet 7.0.0 Removals", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-09-03T00:41:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Remove Puppet::Util::Yaml.load_file", "timeSpent": "PT0S", "updated": "2020-11-09T09:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "attachments": [], "comments": [], "components": [], "created": "2020-04-27T18:10:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3a36911b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-9120"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hykbbr:fi"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Remove deprecated Puppet::Resource methods: \n* Puppet::Resource.set_default_parameters\n* Puppet::Resource.validate_complete\n* Puppet::Resource::Type.assign_parameter_values"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_9729033906_*|*_10007_*:*_1_*:*_155299868_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_83156159"}], "description": "Remove the following deprecated methods:\n\n{noformat}\nlib/puppet/resource.rb:    Puppet.deprecation_warning(_('The method Puppet::Resource.set_default_parameters is deprecated and will be removed in the next major release of Puppet.'))\nlib/puppet/resource.rb:    Puppet.deprecation_warning(_('The method Puppet::Resource.validate_complete is deprecated and will be removed in the next major release of Puppet.'))\nlib/puppet/resource/type.rb:    Puppet.deprecation_warning(_('The method Puppet::Resource::Type.assign_parameter_values is deprecated and will be removed in the next major release of Puppet.'))\n{noformat}", "epicLinkSummary": "Puppet 7.0.0 Removals", "estimate": "PT0S", "externalId": "27550", "fixedVersions": ["PUP 7.0.0"], "id": "27550", "issueType": "Bug", "key": "PUP-10474", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": "23142", "parentSummary": "Puppet 7.0.0 Removals", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-08-21T02:55:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Remove deprecated Puppet::Resource methods", "timeSpent": "PT0S", "updated": "2020-11-10T02:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in https://github.com/puppetlabs/puppet/commit/715ac6903a498f4618a5d716c3fd557a1477babf", "created": "2020-09-15T12:42:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in c1cd3f8c5f.", "created": "2020-09-28T12:46:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Follow up commit merged to main in https://github.com/puppetlabs/puppet/commit/d3cddc59c885bc658ab5590707904efa29ea3fab", "created": "2020-10-13T11:30:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 9b985858f5", "created": "2020-10-14T15:27:00.000000"}], "components": [], "created": "2020-04-27T18:04:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@325b864f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10593"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03b7j:w"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Note this is a removal not a deprecation.\n\nPuppet's legacy auth.conf has been deprecated for several major releases, and puppet 7 removes support for legacy auth.conf entirely. As a result, all authorization to puppet REST APIs is controlled by puppetserver's auth.conf. In addition, \"allow\" and \"deny\" rules in puppet's fileserver.conf used for custom file mounts will be ignored and puppet will log an error for each entry. Finally, the `rest_authconfig` setting has been removed."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Apr/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_2432817919_*|*_1_*:*_1_*:*_7575088495_*|*_10007_*:*_2_*:*_459024786_*|*_3_*:*_2_*:*_566318534_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3645300555"}], "description": "Per https://puppet.com/docs/puppetserver/latest/deprecated_features.html#use-of-core-puppet-authconf-for-authorizing-master-service-routes\n\n\"The jruby-puppet.use-legacy-auth-conf setting will be removed from Puppet Server configuration, and Puppet Server will instead always use the new trapperkeeper-authorization \u201cauth.conf\u201d when authorizing client requests.\"\n\nThis ticket is to remove the legacy authorization layer from puppet. This includes the {{rest_authconfig}} setting, the AuthConfigLoader, AuthConfigParser, DefaultAuthProvider, AuthConfig, Authorization, Rights, AuthStore, beaker and rspec tests.", "epicLinkSummary": "Puppet 7 Server", "estimate": "PT0S", "externalId": "26565", "fixedVersions": ["PUP 7.0.0"], "id": "26565", "issueType": "Bug", "key": "PUP-10473", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": "20311", "parentSummary": "Puppet 7 Server", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-10-14T15:27:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Remove legacy auth.conf support", "timeSpent": "PT0S", "updated": "2020-11-10T02:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to main in  https://github.com/puppetlabs/puppet/commit/71754e9f61cebfe7dbee8ac50b9284754c078208", "created": "2020-08-18T18:12:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in f8ce2fb868454b1b99882ac5b57ef773c9cb9bee", "created": "2020-08-26T12:35:00.000000"}], "components": [], "created": "2020-04-27T17:46:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3f7a197d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-9120"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o03b7j:i"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Removes the deprecated Puppet.define_settings method."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_670983798_*|*_1_*:*_1_*:*_9749402158_*|*_10007_*:*_1_*:*_15346066_*|*_5_*:*_1_*:*_0"}], "description": "Remove the Puppet.define_settings method", "epicLinkSummary": "Puppet 7.0.0 Removals", "estimate": "PT0S", "externalId": "26564", "fixedVersions": ["PUP 7.0.0"], "id": "26564", "issueType": "Bug", "key": "PUP-10472", "labels": ["doc_reviewed", "platform_7"], "originalEstimate": "PT0S", "parent": "23142", "parentSummary": "Puppet 7.0.0 Removals", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-08-26T12:35:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Remove Puppet.define_settings", "timeSpent": "PT0S", "updated": "2020-11-10T02:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:91233464-4152-4228-81dd-172d43a52a03", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in https://github.com/puppetlabs/puppet/commit/236e7aece797b5c33048f2649fe97f711d8845fe", "created": "2020-05-01T14:31:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 2071772bbd", "created": "2020-05-05T21:28:00.000000"}], "components": [], "created": "2020-04-27T10:52:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@553a1b1d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-8550"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyl28x:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Changes the `Puppet.runtime` method to take symbols instead of strings"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_370623996_*|*_1_*:*_1_*:*_3861319_*|*_10007_*:*_1_*:*_342016219_*|*_3_*:*_1_*:*_303152_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_12565629"}], "description": "The {{Puppet.runtime[name]}}\u00a0API should use symbols, e.g. {{:http}}, because it doesn't require the caller to allocate a string (puppet doesn't use the frozen string pragma yet).\n\nIf a string is specified, we may want to covert to a symbol using {{String#to_sym}}, but we could also just not do that.\n\nUpdate API docs to use a symbol.", "epicLinkSummary": "Agent HTTP connection improvements", "estimate": "PT0S", "externalId": "23378", "fixedVersions": ["PUP 6.16.0"], "id": "23378", "issueType": "Bug", "key": "PUP-10471", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": "21028", "parentSummary": "Agent HTTP connection improvements", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-05-05T21:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:32 AM", "summary": "Accept symbols as names of runtime implementation", "timeSpent": "PT0S", "updated": "2020-05-19T07:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4b02db91-705f-4691-a56a-9a839ecbce6e", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master https://github.com/puppetlabs/puppet/commit/12ac708d12e12aa0513348872ea0cec36701b5f8", "created": "2020-04-29T14:14:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Passed CI in 69a5d3fc4f18711645cf53db1168d12a2c9c0494", "created": "2020-04-30T10:10:00.000000"}], "components": [], "created": "2020-04-27T10:45:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7cc3deb7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-8550"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyl28v:c"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_71756915_*|*_1_*:*_1_*:*_4303212_*|*_10007_*:*_1_*:*_75208906_*|*_3_*:*_1_*:*_102541661_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3268005"}], "description": "The old API accepts credentials as {{options[:basic_auth]}} where it contains a hash of {{\\{user: \"username\"\\}}} and {{\\{password: \"a password\"\\}}}. The new API accepts a flattened version {{options[:user]}} and {{options[:password]}}, which assumes basic authentication. We should be able to support different authentication schemes in the future, so it would be good to namespace them, e.g. {{options[:basic_auth]}} vs {{options[:digest_auth]}}.", "epicLinkSummary": "Agent HTTP connection improvements", "estimate": "PT0S", "externalId": "20202", "fixedVersions": ["PUP 6.16.0"], "id": "20202", "issueType": "Bug", "key": "PUP-10470", "labels": [], "originalEstimate": "PT0S", "parent": "21028", "parentSummary": "Agent HTTP connection improvements", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-04-30T10:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:31 AM", "summary": "Pass credentials in basic_auth hash", "timeSpent": "PT0S", "updated": "2020-04-30T10:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5b9fcedc03b52466f05c4510", "body": "Merged in master at: https://github.com/puppetlabs/puppet/commit/69a5d3fc4f18711645cf53db1168d12a2c9c0494\nPassed CI\nThanks [~accountid:557058:2268636a-3880-4b3c-a73a-6200f2fd381a]", "created": "2020-05-06T01:44:00.000000"}], "components": ["Types and Providers"], "created": "2020-04-27T06:09:00.000000", "creator": "557058:2268636a-3880-4b3c-a73a-6200f2fd381a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5a86bd35"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01ki8:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Thanks https://github.com/ananace, \nFixed a bug where the Gentoo provider was not correctly selected on Gentoo-family distributions."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_95316661_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_666576275"}], "description": "*Puppet Version:* 6.13.0\n *Puppet Server Version:* 6.10.0\n *OS* *Name/Version:*\u00a0 Sabayon Linux 20.03\n\nThe portage provider in Puppet confines to only operatingsystem gentoo, which won't work on distributions based on Gentoo.\n\n*Desired Behavior:*\n\nThe portage provider works on all Gentoo-family distributions.\n\n*Actual Behavior:*\n\n{{Error: /Package[net-misc/choria-bin]: Provider portage is not functional on this host}}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "28715", "fixedVersions": ["PUP 6.16.0"], "id": "28715", "issueType": "Bug", "key": "PUP-10469", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2268636a-3880-4b3c-a73a-6200f2fd381a", "resolution": "Fixed", "resolutionDate": "2020-05-06T01:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:34 AM", "summary": "Portage package provider doesn't work on Gentoo-based distributions", "timeSpent": "PT0S", "updated": "2020-05-29T02:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "body": "Hi [~accountid:557058:f2ee3fe1-33d7-4cc0-9468-a0aeab57eee5], thanks for the report. This appears to be an issue with the native Ubuntu package? Our Puppet Agent package (contains its own Ruby) should be available soon (nightlies are up now - https://nightlies.puppet.com/apt/pool/focal/ ). Puppet itself is not fully working with Ruby 2.7 yet (https://puppet.atlassian.net/browse/PUP-10247), but that work is also underway.", "created": "2020-04-27T13:06:00.000000"}], "components": [], "created": "2020-04-25T11:40:00.000000", "creator": "557058:f2ee3fe1-33d7-4cc0-9468-a0aeab57eee5", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@39edcb42"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Other"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01kdc:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Apr/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_177934690_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 5.5.10*\n *Puppet Server Version: 5.5.10*\n *OS Name/Version: Ubuntu 20.04*\n\n\u00a0\n\nHi,\n\n\u00a0\n\nI just tried to tried to upgrade my puppet server (which was running on Ubuntu 18.04 for two years) to Ubuntu 20.04 which was released on Thursday.\n\nUbuntu comes with puppet 5.5.10, but I don't see the the code lines causing trouble have changed in 5.5.19.\n\nTrouble on both the puppet master and client.\n\n\u00a0\n\nThe master can't deliver certificates it just has created because of:\n\nApr 25 18:45:55 puppet puppet-master[4109]: Server Error: can't modify frozen String: \"\"\n Apr 25 18:45:55 puppet puppet-master[4109]: /usr/lib/ruby/vendor_ruby/puppet/network/http/response.rb:14:in `encode!'\n\n\u00a0\n\nIt tries to modify a frozen value and ruby aborts. Thus, master is not working.\n\n\u00a0\n\n\u00a0\n\nThe client, in contrast, is working, but issues tons of warning messages, most of the kind\n\n/usr/lib/ruby/vendor_ruby/puppet/util.rb:461: warning: URI.escape is obsolete\n\n\u00a0\n\nsome others.\n\n\u00a0\n\nSo both master and agent seem to be not compatible with recent ruby versions. While it keeps the master from running, the agent mostly works.\n\n\u00a0\n\n\u00a0\n\n\u00a0\n\n\u00a0\n\n*Desired Behavior:*\n\n*Actual Behavior:*\n\nPlease take a moment and attach any relevant log output and/or manifests. This will help us immensely when troubleshooting the issue.\n\nExamples:\n Run puppet agent with --test --trace --debug\n\nRelevant sections of {{/var/log/puppetlabs/puppetserver/puppetserver.log}} or any applicable logs from the same directory.\n\nFor more detailed information turn up the server logs by upping the log level in the server's logback.xml\n\nRelevant sections of configurations files (puppet.conf, hiera.conf, Server's conf.d, defaults/sysconfig)\n\nFor memory issues with server heap dumps are also helpful.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "26563", "fixedVersions": [], "id": "26563", "issueType": "Bug", "key": "PUP-10467", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:f2ee3fe1-33d7-4cc0-9468-a0aeab57eee5", "resolution": "Duplicate", "resolutionDate": "2020-04-27T13:06:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Several incompatibilities between puppet 5 and later ruby libs keep it from running", "timeSpent": "PT0S", "updated": "2020-04-27T13:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-04-24T18:54:00.000000", "creator": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@105d2283"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10457"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01k6w:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1174_*|*_3_*:*_1_*:*_1728840518_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3974617253"}], "description": "(Initial planned release date: 2020-04-30)\n\n1) Create versions and filters for the release in in JIRA. Ensure that the filters are shared with the \u2018All Employees\u2019 group.\n\n2) Create or update the Kanban board for the release series. Ensure that the underlying filter for the board includes issues from the release filter and add a quick filter to highlight just those issues.\n\n3) Create Release tickets (in the Project Central project) for the Puppet Platform and puppet-agent releases, with sub-tasks for each milestone (e.g., \u201cString Freeze\u201d, \u201cStop Ship Line\u201d, \u201cReady to Ship\u201d, and \u201cGeneral Availability (GA)\u201d.\n\n4) Create release pages for the Puppet Platform and puppet-agent releases in Confluence, under the appropriate \u201cUpcoming Releases\u201d parent page. Make sure the pages reference the release filters, tickets, and Kanban board as needed.\n\n5) Update the \u201cVersions & Dependencies\u201d pages for Puppet Platform and puppet-agent with dependency versions for releases. Format the release versions in italics and link them to their corresponding release pages.\n\n6) Add events for the release milestone dates to Group-Platform Google calendar. Ensure the description for each event includes a link to the release page.\n\n7) Send an email to stakeholders (e.g., puppet-dev@googlegroups.com and discuss-platform@puppet.com) outlining the scope and timeline for the release.\n", "duedate": "2020-05-01T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.20 Release - 2020-04-30\n", "estimate": "PT0S", "externalId": "27548", "fixedVersions": [], "id": "27548", "issueType": "Task", "key": "PUP-10466", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26561", "parentSummary": "Puppet Platform 5.5.20 Release - 2020-04-30\n", "priority": "Normal", "projectDescription": "This is the JIRA project for issues relating to the Puppet core code.", "projectKey": "PUP", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "resolution": "Fixed", "resolutionDate": "2020-06-29T19:12:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:33 AM", "summary": "Communicate scope and timeline of next release (Puppet Platform 5.5.20)", "timeSpent": "PT0S", "updated": "2020-06-29T19:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "attachments": [], "comments": [], "components": [], "created": "2020-04-24T18:54:00.000000", "creator": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7fdd4758"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-10457"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customf