<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Thu Feb 08 23:22:21 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary add field=key&field=summary to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>FOLIO Jira</title>
    <link>https://folio-org.atlassian.net</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>1001.0.0-SNAPSHOT</version>
        <build-number>100246</build-number>
        <build-date>07-02-2024</build-date>
    </build-info>

<item>
            <title>[FOLIO-2665] folio-testing-backend Jenkins build broken today, permissions for email configuration</title>
                <link>https://folio-org.atlassian.net/browse/FOLIO-2665</link>
                <project id="10290" key="FOLIO">FOLIO</project>
                    <description>&lt;p&gt;Following today&apos;s merge of branches related to 
    &lt;span class=&quot;jira-issue-macro resolved&quot; data-jira-key=&quot;FOLIO-2633&quot; &gt;
                &lt;a href=&quot;https://folio-org.atlassian.net/browse/FOLIO-2633&quot; class=&quot;jira-issue-macro-key issue-link&quot;  title=&quot;Jenkins builds broken when okapi-3 until ModuleDescriptors have permissionsRequired, then verify&quot; &gt;
            &lt;img class=&quot;icon&quot; src=&quot;https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium&quot; /&gt;
            FOLIO-2633
        &lt;/a&gt;
                                                    &lt;span class=&quot;aui-lozenge aui-lozenge-subtle aui-lozenge-success jira-macro-single-issue-export-pdf&quot;&gt;Closed&lt;/span&gt;
            &lt;/span&gt;
 and 
    &lt;span class=&quot;jira-issue-macro resolved&quot; data-jira-key=&quot;FOLIO-2660&quot; &gt;
                &lt;a href=&quot;https://folio-org.atlassian.net/browse/FOLIO-2660&quot; class=&quot;jira-issue-macro-key issue-link&quot;  title=&quot;duplicate roles in folio-ansible and folio-infrastructure&quot; &gt;
            &lt;img class=&quot;icon&quot; src=&quot;https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10303?size=medium&quot; /&gt;
            FOLIO-2660
        &lt;/a&gt;
                                                    &lt;span class=&quot;aui-lozenge aui-lozenge-subtle aui-lozenge-success jira-macro-single-issue-export-pdf&quot;&gt;Closed&lt;/span&gt;
            &lt;/span&gt;
, all other daily reference environment builds were successful.&lt;/p&gt;

&lt;p&gt;However &lt;a href=&quot;https://jenkins-aws.indexdata.com/job/Automation/job/folio-testing-backend/521/consoleFull&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;folio-testing-backend/521&lt;/a&gt; did fail at the task which posts mod-email configuration to mod-configuration:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;TASK [post-config-entries : post mod-email configuration]
failed: [10.36.1.78] (item=email_from.json.j2) =&amp;gt; {&quot;changed&quot;: false, &quot;connection&quot;: &quot;close&quot;,
&quot;content&quot;: &quot;Access requires permission: configuration.entries.item.post&quot;,
&quot;content_type&quot;: &quot;text/plain&quot;, &quot;item&quot;: &quot;email_from.json.j2&quot;,
&quot;msg&quot;: &quot;Status code was 403 and not [201, 422]:
...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Note that folio-testing-core-backend (and other builds) are successful at this task.&lt;/p&gt;

&lt;p&gt;Also note that yesterday&apos;s build of &lt;a href=&quot;https://jenkins-aws.indexdata.com/job/Automation/job/folio-testing-backend/520/consoleFull&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;folio-testing-backend/520&lt;/a&gt; (prior to today&apos;s merges) is successful at this task.&lt;/p&gt;</description>
                <environment></environment>
        <key id="81705">FOLIO-2665</key>
            <summary>folio-testing-backend Jenkins build broken today, permissions for email configuration</summary>
                <type id="10001" iconUrl="https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10303?size=medium">Bug</type>
                                            <priority id="10001" iconUrl="https://dev.folio.org/assets/jira-priority/jira-p2.svg">P2</priority>
                        <status id="6" iconUrl="https://folio-org.atlassian.net/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10003">Done</resolution>
                                                        <assignee accountid="61cd0ca0bce5e00069e98be7">David Crossley</assignee>
                                                                <reporter accountid="61cd0ca0bce5e00069e98be7">David Crossley</reporter>
                                    <labels>
                    </labels>
                <created>Tue, 30 Jun 2020 03:02:58 +0000</created>
                <updated>Thu, 2 Jul 2020 05:00:15 +0000</updated>
                            <resolved>Thu, 2 Jul 2020 05:00:15 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                <comments>
                                                            <comment id="199277" author="5cd423bebc70090d6ce241b1" created="Tue, 30 Jun 2020 16:53:00 +0000"  >&lt;p&gt;One difference in folio-testing is that it is importing the tenant-admin-permissions role again at the end: &lt;a href=&quot;https://github.com/folio-org-priv/folio-infrastructure/blob/master/CI/ansible/folio-testing.yml#L76&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://github.com/folio-org-priv/folio-infrastructure/blob/master/CI/ansible/folio-testing.yml#L76&lt;/a&gt;. I&apos;m not sure what the history here is. It shouldn&apos;t hurt to run it again, but this is the one thats failing. The role runs successfully a few times before this time. &lt;/p&gt;</comment>
                                                            <comment id="199280" author="5cd423bebc70090d6ce241b1" created="Tue, 30 Jun 2020 21:34:01 +0000"  >&lt;p&gt;My above guess was wrong, so the problem is the obvious error (no permissions to post config entries), build passes when posting config entries is skipped: &lt;a href=&quot;https://jenkins-aws.indexdata.com/job/Automation/job/folio-testing-test/92/&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://jenkins-aws.indexdata.com/job/Automation/job/folio-testing-test/92/&lt;/a&gt;. So need to find out why mod configuration perms aren&apos;t assigned on testing but are on snapshot.&lt;/p&gt;</comment>
                                                            <comment id="199282" author="5c706fbb47a54a6728e59df2" created="Wed, 1 Jul 2020 21:43:51 +0000"  >&lt;p&gt;I think &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5cd423bebc70090d6ce241b1&quot; class=&quot;user-hover&quot; rel=&quot;5cd423bebc70090d6ce241b1&quot; data-account-id=&quot;5cd423bebc70090d6ce241b1&quot; accountid=&quot;5cd423bebc70090d6ce241b1&quot; rel=&quot;noreferrer&quot;&gt;Ian Hardy&lt;/a&gt; figured it out, recording here for completeness:&lt;/p&gt;

&lt;p&gt;The issue does not occur when using Okapi 2.x, because module permissions do not create the special &lt;tt&gt;SYS#&lt;/tt&gt; permissions with that version of Okapi.&lt;/p&gt;

&lt;p&gt;Okapi v3.x creates special &lt;tt&gt;SYS#&lt;/tt&gt; permissions for module permissions associated with interface endpoints. Those permissions look like this:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
  {
    &lt;span class=&quot;code-quote&quot;&gt;&quot;permissionName&quot;&lt;/span&gt; : &lt;span class=&quot;code-quote&quot;&gt;&quot;SYS#mod-marccat-2.3.0-SNAPSHOT.380#/marccat/bibliographic/fields/mandatory#[GET]&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;displayName&quot;&lt;/span&gt; : &lt;span class=&quot;code-quote&quot;&gt;&quot;&lt;span class=&quot;code-object&quot;&gt;System&lt;/span&gt; generated: SYS#mod-marccat-2.3.0-SNAPSHOT.380#/marccat/bibliographic/fields/mandatory#[GET]&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt; : &lt;span class=&quot;code-quote&quot;&gt;&quot;41fe286e-8f52-43fe-aed7-37168b965a8c&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;description&quot;&lt;/span&gt; : &lt;span class=&quot;code-quote&quot;&gt;&quot;&lt;span class=&quot;code-object&quot;&gt;System&lt;/span&gt; generated permission set&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;tags&quot;&lt;/span&gt; : [ ],
    &lt;span class=&quot;code-quote&quot;&gt;&quot;subPermissions&quot;&lt;/span&gt; : [ &lt;span class=&quot;code-quote&quot;&gt;&quot;configuration.all&quot;&lt;/span&gt; ],
    &lt;span class=&quot;code-quote&quot;&gt;&quot;childOf&quot;&lt;/span&gt; : [ ],
    &lt;span class=&quot;code-quote&quot;&gt;&quot;grantedTo&quot;&lt;/span&gt; : [ ],
    &lt;span class=&quot;code-quote&quot;&gt;&quot;mutable&quot;&lt;/span&gt; : &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;visible&quot;&lt;/span&gt; : &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;dummy&quot;&lt;/span&gt; : &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
  }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Note that a standard permissionSet (in this case, configuration.all) is a subPermission of the system-generated permission set. That means that the &lt;tt&gt;childOf&lt;/tt&gt; property of configuration.all is no longer empty.&lt;/p&gt;

&lt;p&gt;The request that is used to pull in the top-level permissionSets to assign to the admin user (&lt;tt&gt;/perms/permissions?query=%28childOf%3D%3D%5B%5D%20not%20permissionName%3D%3Dokapi.%2A%20not%20permissionName%3D%3DSYS%23%2A%29&amp;amp;length=5000&lt;/tt&gt;) therefore excludes any formerly top-level permissionSets that are used as module permissions by any module enabled for the tenant.&lt;/p&gt;</comment>
                                                            <comment id="199285" author="5c706fbb47a54a6728e59df2" created="Wed, 1 Jul 2020 22:07:38 +0000"  >&lt;p&gt;The problem with &lt;tt&gt;post-config-entries&lt;/tt&gt; occurs on testing but not snapshot because the UI permissions are already created and granted to the tenant admin on snapshot before &lt;tt&gt;post-config-entries&lt;/tt&gt; runs &amp;#8211; and several UI permissionSets contain &lt;tt&gt;configuration.all&lt;/tt&gt; as a subPermission. On testing, the UI permissions are created and granted in a separate step, as part of the frontend build, after &lt;tt&gt;post-config-entries&lt;/tt&gt; runs.&lt;/p&gt;</comment>
                                                            <comment id="199288" author="61cd0ca0bce5e00069e98be7" created="Thu, 2 Jul 2020 04:59:56 +0000"  >&lt;p&gt;Wayne developed an improved CQL query, in conjunction with a followup ansible json_query, to handle the new system permissions of Okapi v3.&lt;/p&gt;

&lt;p&gt;See &lt;a href=&quot;https://github.com/folio-org/folio-ansible/pull/363&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;folio-ansible/pull/363&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="81697">FOLIO-2633</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10000" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummarycf">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10057" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Development Team</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10155"><![CDATA[FOLIO DevOps]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10019" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i01d8v:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="1986">DevOps: sprint 92</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10024" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>[CHART] Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 30 Jun 2020 16:53:00 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10025" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>[CHART] Time in Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>