<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Thu Feb 08 23:22:19 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-2662] test automatic migration for Goldenrod</title>
                <link>https://folio-org.atlassian.net/browse/FOLIO-2662</link>
                <project id="10290" key="FOLIO">FOLIO</project>
                    <description>&lt;p&gt;Issue used to capture the upgrade testing results, and for linking back any bug tickets when they get created.&lt;/p&gt;</description>
                <environment></environment>
        <key id="81702">FOLIO-2662</key>
            <summary>test automatic migration for Goldenrod</summary>
                <type id="10003" iconUrl="https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium">Task</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="6291011f9c617b006a6f8d98">jroot</assignee>
                                                                <reporter accountid="557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d">Jakub Skoczen</reporter>
                                    <labels>
                            <label>devops-backlog</label>
                    </labels>
                <created>Mon, 29 Jun 2020 13:42:23 +0000</created>
                <updated>Tue, 18 Aug 2020 15:01:10 +0000</updated>
                            <resolved>Fri, 7 Aug 2020 14:35:35 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                <comments>
                                                            <comment id="199225" author="557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d" created="Wed, 15 Jul 2020 13:05:18 +0000"  >&lt;p&gt;Asked &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3A8beefd73-a887-4c94-94bf-22e4b9a5acb6&quot; class=&quot;user-hover&quot; rel=&quot;557058:8beefd73-a887-4c94-94bf-22e4b9a5acb6&quot; data-account-id=&quot;557058:8beefd73-a887-4c94-94bf-22e4b9a5acb6&quot; accountid=&quot;557058:8beefd73-a887-4c94-94bf-22e4b9a5acb6&quot; rel=&quot;noreferrer&quot;&gt;Brandon Tharp&lt;/a&gt; if the migration could be retested early next week since Jason is away.&lt;/p&gt;</comment>
                                                            <comment id="199227" author="6291011f9c617b006a6f8d98" created="Wed, 29 Jul 2020 15:50:11 +0000"  >&lt;p&gt;This is on-going. My DRAFT process for testing an upgrade is the following:&lt;/p&gt;

&lt;p&gt;1.) Grab the install.json and okapi-install.json files from the desired Folio-org&apos;s platform-complete release branch: &lt;a href=&quot;https://github.com/folio-org/platform-complete&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://github.com/folio-org/platform-complete&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2.) Git Clone the appropriate Libraries Folio release repo from here: &amp;lt;Private Git repo URL, alternative here: &lt;a href=&quot;https://github.com/folio-org/folio-install/tree/kube-rancher/alternative-install/kubernetes-rancher/TAMU&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://github.com/folio-org/folio-install/tree/kube-rancher/alternative-install/kubernetes-rancher/TAMU&lt;/a&gt;&amp;gt;&lt;/p&gt;

&lt;p&gt;3.) Copy in the json files from the 1st step above to the /deploy-jobs/create-deploy/install folder.&lt;/p&gt;

&lt;p&gt;4.) Update the install.json and okapi-install.json under /deploy-jobs/create-deploy-pubsub/install to include only the version of pubsub that is desired.&lt;/p&gt;

&lt;p&gt;5.) Build and push two create-deploy Docker containers to VMWare Integrated Container registry: qX-202X-pubsub and qX-202X-test.&lt;/p&gt;

&lt;p&gt;Docker command examples below:&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;
docker build -t vic.library.tamu.edu/folio/create-deploy:q2-2020-test .
docker push vic.library.tamu.edu/folio/create-deploy:q2-2020-test
docker build -t vic.library.tamu.edu/folio/create-deploy:q2-2020-pubsub .
docker push vic.library.tamu.edu/folio/create-deploy:q2-2020-pubsub
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;6.) In Rancher Dev, deploy the &quot;create-upgrade-pubsub&quot; K8s Job to the appropriate upgrade testing namespace first using the Diku/Tamu-tenant-config secret and tagged qX-202X-pubsub image mentioned above. For the Job Configuration settings set Completions, Parallelism and Back Off Limit to 1.&lt;/p&gt;

&lt;p&gt;7.) If it succeeded, in Rancher Dev deploy the &quot;create-upgrade-diku/tamu&quot; K8s Job to the appropriate upgrade testing namespace second using the Diku/Tamu-tenant-config secret and the qX-202X-test image mentioned above. For the Job Configuration settings set Completions, Parallelism and Back Off Limit to 1. Set a long Active Deadline Seconds for the Job (I use 10000).&lt;/p&gt;

&lt;p&gt;8.) If any of it fails, get the logs from Splunk Rancher index and/or from the containers themselves and record them. Folio Issue Jiras will need to be filed.&lt;/p&gt;

&lt;p&gt;To roll back:&lt;/p&gt;

&lt;p&gt;1.) In Rancher Dev, spin down the Okapi container in the appropriate upgrade testing namespace, and spin down the Postgres Okapi database and Postgres modules database containers in their corresponding &quot;postgres-modules/okapi&quot; namespaces.&lt;/p&gt;

&lt;p&gt;2.) Restore the Postgres data volumes in vSphere as they were snapshot the night before. You can find the volume names for the databases under the Volumes tab in Rancher Dev - Folio Project.&lt;/p&gt;

&lt;p&gt;3.) In Rancher Dev, spin back up the two database containers to 1 pod each, then the Okapi container to 1 pod.&lt;/p&gt;

&lt;p&gt;Note: If any new modules need deploying, copy an existing older version of the Workload in Rancher Dev, and update the name and tag. You can also update the &quot;workloads.yaml&quot; provided in the appropriate Folio Git repo for Libraries under the YAML folder, and import it to the appropriate testing namespace in Rancher Dev.&lt;/p&gt;</comment>
                                                            <comment id="199233" author="6291011f9c617b006a6f8d98" created="Wed, 29 Jul 2020 15:54:56 +0000"  >&lt;p&gt;Many Jira issues have been created in the course of testing, some being completed and successful:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/browse/MODORDSTOR-161&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://folio-org.atlassian.net/browse/MODORDSTOR-161&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://folio-org.atlassian.net/browse/MODCONF-54&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://folio-org.atlassian.net/browse/MODCONF-54&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://folio-org.atlassian.net/browse/MODORGSTOR-74&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://folio-org.atlassian.net/browse/MODORGSTOR-74&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://folio-org.atlassian.net/browse/MODPERMS-88&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://folio-org.atlassian.net/browse/MODPERMS-88&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://folio-org.atlassian.net/browse/MODPUBSUB-112&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://folio-org.atlassian.net/browse/MODPUBSUB-112&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://folio-org.atlassian.net/browse/MODPUBSUB-106&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://folio-org.atlassian.net/browse/MODPUBSUB-106&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A majority of these have been closed after being tested successfully. There appear to still be issues with mod-pubsub, mod-feesfines and mod-circ.&lt;/p&gt;</comment>
                                                            <comment id="199236" author="6291011f9c617b006a6f8d98" created="Fri, 31 Jul 2020 13:53:52 +0000"  >&lt;p&gt;During more testing and log tracing, it was determined that when upgrading a whole instance at once - these components/modules needed to be upgraded for the tenant first:&lt;/p&gt;

&lt;p&gt;okapi v3.x&lt;br/&gt;
mod-pubsub&lt;br/&gt;
mod-permissions&lt;br/&gt;
mod-authtoken&lt;/p&gt;

&lt;p&gt;The reason is the new SYS permissions introduced by Okapi 3x not existing yet. Okapi does not seem to do this order of operations for you with that in mind, so it must be done purposefully. Incremental upgrades of modules for a tenant do not seem to trigger these same issues.&lt;/p&gt;

&lt;p&gt;Details on the errors are in the Comments section of these tickets:&lt;br/&gt;
&lt;a href=&quot;https://folio-org.atlassian.net/browse/MODPUBSUB-106&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://folio-org.atlassian.net/browse/MODPUBSUB-106&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://folio-org.atlassian.net/browse/MODPUBSUB-112&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://folio-org.atlassian.net/browse/MODPUBSUB-112&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After having successfully upgraded two tenants with data, I am not able to login to either tenant after building the new Q2 front-end. Hitting these errors:&lt;/p&gt;

&lt;p&gt;From the Folio UI:&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;Sorry, the information entered does not match our records.&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;From mod-users pod log:&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;INFO: loadDbSchema: Loaded templates/db_scripts/schema.json OK
21:31:34 INFO CQLWrapper CQL &amp;gt;&amp;gt;&amp;gt; SQL: username==tamu_admin &amp;gt;&amp;gt;&amp;gt;WHERE lower(f_unaccent(users.jsonb-&amp;gt;&amp;gt;&lt;span class=&quot;code-quote&quot;&gt;&apos;username&apos;&lt;/span&gt;)) LIKE lower(f_unaccent(&lt;span class=&quot;code-quote&quot;&gt;&apos;tamu\_admin&apos;&lt;/span&gt;)) LIMIT 10 OFFSET 0
Jul 30, 2020 9:31:34 PM org.folio.cql2pgjson.CQL2PgJSON loadDbSchema
INFO: loadDbSchema: Loaded templates/db_scripts/schema.json OK
21:31:34 INFO CQLWrapper CQL &amp;gt;&amp;gt;&amp;gt; SQL: username==tamu_admin &amp;gt;&amp;gt;&amp;gt;WHERE lower(f_unaccent(users.jsonb-&amp;gt;&amp;gt;&lt;span class=&quot;code-quote&quot;&gt;&apos;username&apos;&lt;/span&gt;)) LIKE lower(f_unaccent(&lt;span class=&quot;code-quote&quot;&gt;&apos;tamu\_admin&apos;&lt;/span&gt;)) LIMIT 10 OFFSET 0
21:31:34 ERROR PgUtil current transaction is aborted, commands ignored until end of transaction block
io.vertx.pgclient.PgException: current transaction is aborted, commands ignored until end of transaction block
at io.vertx.pgclient.impl.codec.ErrorResponse.toException(ErrorResponse.java:29) ~[mod-users-fat.jar:?]
at io.vertx.pgclient.impl.codec.QueryCommandBaseCodec.handleErrorResponse(QueryCommandBaseCodec.java:57) ~[mod-users-fat.jar:?]
at io.vertx.pgclient.impl.codec.PgDecoder.decodeError(PgDecoder.java:233) ~[mod-users-fat.jar:?]
at io.vertx.pgclient.impl.codec.PgDecoder.decodeMessage(PgDecoder.java:122) [mod-users-fat.jar:?]
at io.vertx.pgclient.impl.codec.PgDecoder.channelRead(PgDecoder.java:102) [mod-users-fat.jar:?]
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) [mod-users-fat.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [mod-users-fat.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [mod-users-fat.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [mod-users-fat.jar:?]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) [mod-users-fat.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [mod-users-fat.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [mod-users-fat.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [mod-users-fat.jar:?]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [mod-users-fat.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [mod-users-fat.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [mod-users-fat.jar:?]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [mod-users-fat.jar:?]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) [mod-users-fat.jar:?]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714) [mod-users-fat.jar:?]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650) [mod-users-fat.jar:?]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576) [mod-users-fat.jar:?]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) [mod-users-fat.jar:?]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [mod-users-fat.jar:?]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [mod-users-fat.jar:?]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [mod-users-fat.jar:?]
at java.lang.&lt;span class=&quot;code-object&quot;&gt;Thread&lt;/span&gt;.run(&lt;span class=&quot;code-object&quot;&gt;Thread&lt;/span&gt;.java:748) [?:1.8.0_222]
Jul 30, 2020 9:31:37 PM org.folio.cql2pgjson.CQL2PgJSON loadDbSchema&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Before the upgrade, login capabilitty was tested and successful.&lt;/p&gt;</comment>
                                                            <comment id="199243" author="6291011f9c617b006a6f8d98" created="Mon, 3 Aug 2020 13:15:04 +0000"  >&lt;p&gt;It was noted that doing an Okapi upgrade for the instance, the newer Okapi module version would get enabled for the supertenant automatically but not for the institutional tenants.&lt;/p&gt;

&lt;p&gt;Enabling the newer Okapi module for the tenant had no effect on a successful Q2 tenant upgrade or not. The upgrade still reports as successful, but I still cannot log in... There is a bug filed for mod-users for this (&lt;a href=&quot;https://folio-org.atlassian.net/browse/MODUSERS-213&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://folio-org.atlassian.net/browse/MODUSERS-213&lt;/a&gt;).&lt;/p&gt;</comment>
                                                            <comment id="199249" author="5c706fbb47a54a6728e59df2" created="Fri, 7 Aug 2020 14:30:28 +0000"  >&lt;p&gt;Here are some notes on Index Data&apos;s experience with Goldenrod upgrades, mostly confirming &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=6291011f9c617b006a6f8d98&quot; class=&quot;user-hover&quot; rel=&quot;6291011f9c617b006a6f8d98&quot; data-account-id=&quot;6291011f9c617b006a6f8d98&quot; accountid=&quot;6291011f9c617b006a6f8d98&quot; rel=&quot;noreferrer&quot;&gt;jroot&lt;/a&gt;&apos;s notes above:&lt;/p&gt;

&lt;p&gt;Our experience attempting to upgrade from Fameflower to Goldenrod in place is rather mixed. There seem to be some issues with the order in which you proceed, due to the Okapi major version upgrade, the minor version upgrades to mod-permissions and mod-authtoken that are required to support module permissions, and changes to mod-pubsub. The safest high-level upgrade order seems to be:&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;Upgrade Okapi and enable new version for all tenants&lt;/li&gt;
	&lt;li&gt;For each regular tenant, upgrade mod-permissions, mod-authtoken, and mod-pubsub. This will break the tenant temporarily (users will be unable to log in, timer tasks will fail)&lt;/li&gt;
	&lt;li&gt;Upgrade the rest of the modules for each regular tenant by posting the `install.json` file&lt;/li&gt;
	&lt;li&gt;Upgrade the supertenant&lt;/li&gt;
&lt;/ol&gt;


&lt;h2&gt;&lt;a name=&quot;Detailedprocedure&quot;&gt;&lt;/a&gt;Detailed procedure&lt;/h2&gt;

&lt;ol&gt;
	&lt;li&gt;Register all Goldenrod module descriptors with Okapi (easiest using Okapi &lt;a href=&quot;https://github.com/folio-org/okapi/blob/master/doc/guide.md#module-descriptor-sharing&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;module descriptor sharing&lt;/a&gt;)&lt;/li&gt;
	&lt;li&gt;Deploy all Goldenrod modules and register with Okapi discovery service&lt;/li&gt;
	&lt;li&gt;Load PostgreSQL extensions in the public schema of the each RMB module&apos;s database with the command &lt;tt&gt;ALTER EXTENSION pg_trgm SET SCHEMA public;&lt;/tt&gt; (if all module schemas are in one database, obviously only need to do once; this is a database-level operation)&lt;/li&gt;
	&lt;li&gt;Upgrade Okapi.  Goldenrod version of Okapi is 3.1.2.&lt;/li&gt;
	&lt;li&gt;For each tenant (except for the supertenant, which is automatically upgraded), upgrade the Okapi API to the Goldenrod version with a POST to &lt;tt&gt;/&amp;#95;/proxy/tenants/&amp;lt;tenantId&amp;gt;/install&lt;/tt&gt; with payload: &lt;tt&gt;[ { &quot;id&quot;: &quot;okapi-3.1.2&quot;, &quot;action&quot;: &quot;enable&quot; } ]&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;To upgrade a tenant, first upgrade mod-permissions, mod-authtoken, and mod-pubsub to the Goldenrod versions with a POST to &lt;tt&gt;/&amp;#95;/proxy/tenants/&amp;lt;tenantId&amp;gt;/install&lt;/tt&gt; with payload:
&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;id&quot;&lt;/span&gt; : &lt;span class=&quot;code-quote&quot;&gt;&quot;mod-permissions-5.11.2&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;action&quot;&lt;/span&gt; : &lt;span class=&quot;code-quote&quot;&gt;&quot;enable&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;mod-authtoken-2.5.1&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;action&quot;&lt;/span&gt; : &lt;span class=&quot;code-quote&quot;&gt;&quot;enable&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;mod-pubsub-1.2.5&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;action&quot;&lt;/span&gt; : &lt;span class=&quot;code-quote&quot;&gt;&quot;enable&quot;&lt;/span&gt;
} ]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;b&gt;AT THIS POINT:&lt;/b&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;ul&gt;
	&lt;li&gt;mod-pubsub may throw errors on init if the pubsub permissions user record is not present (this was true in several of our installations, not sure how it happens).
&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;
20:25:41.048 [vert.x-eventloop-thread-0] ERROR SecurityManagerImpl  [80559444eqId] Failed to add permission source-storage.events.post &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; pub-sub user. Received status code 400
20:25:41.058 [vert.x-eventloop-thread-0] ERROR SecurityManagerImpl  [80559454eqId] Failed to add permission inventory.events.post &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; pub-sub user. Received status code 400
20:25:41.060 [vert.x-eventloop-thread-0] ERROR SecurityManagerImpl  [80559456eqId] Failed to add permission source-records-manager.events.post &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; pub-sub user. Received status code 400
20:25:41.061 [vert.x-eventloop-thread-0] ERROR SecurityManagerImpl  [80559457eqId] Failed to add permission patron-blocks.events.post &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; pub-sub user. Received status code 400
20:25:41.070 [vert.x-eventloop-thread-0] ERROR SecurityManagerImpl  [80559466eqId] Failed to add permission circulation.events.post &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; pub-sub user. Received status code 400
20:25:41.115 [vert.x-eventloop-thread-0] ERROR SecurityManagerImpl  [80559511eqId] pub-sub user was not logged in, received status 422
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;To resolve, create a permissionsUser record with the appropriate permissions:&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;userId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;&amp;lt;UUID of pub-sub user&amp;gt;&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;permissions&quot;&lt;/span&gt;: [
    &lt;span class=&quot;code-quote&quot;&gt;&quot;source-storage.events.post&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;source-records-manager.events.post&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;inventory.events.post&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;circulation.events.post&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;patron-blocks.events.post&quot;&lt;/span&gt;,
  ]
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
	&lt;li&gt;Timer calls start failing. This is OK, they recover after the full upgrade:
&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;
timer call failed to module mod-circulation-18.0.12 &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; tenant sim : POST request &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; mod-circulation-18.0.12 /circulation/scheduled-anonymize-processing failed with 500: HTTP request to &lt;span class=&quot;code-quote&quot;&gt;&quot;http:&lt;span class=&quot;code-comment&quot;&gt;//okapi:9130/configurations/entries&quot;&lt;/span&gt; failed, status code: 403, response: &lt;span class=&quot;code-quote&quot;&gt;&quot;Access requires permission: configuration.entries.collection.get&quot;&lt;/span&gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Finally, post the full upgrade &lt;tt&gt;install.json&lt;/tt&gt; file from the &lt;a href=&quot;https://github.com/folio-org/platform-complete/tree/q2-2020&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;platform-complete q2-2020 branch&lt;/a&gt; with a command like: &lt;tt&gt;curl -w &apos;\n&apos; -D - -X POST -d @install.json -H &quot;X-Okapi-Token: &amp;lt;tokenValue&amp;gt;&quot; &lt;a href=&quot;http://okapi:9130/_/proxy/tenants/&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://okapi:9130/_/proxy/tenants/&lt;/a&gt;&amp;lt;tenantId&amp;gt;/install&lt;/tt&gt;. &lt;b&gt;Note that this request can take anywhere from several minutes to several hours to return, depending on the size of the tenant dataset, so plan accordingly&lt;/b&gt;&lt;/p&gt;
</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                                                <inwardlinks description="is blocked by">
                                        <issuelink>
            <issuekey id="36880">MODCONF-54</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="32590">MODORDSTOR-161</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="74936">MODORGSTOR-74</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="34304">MODPERMS-88</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="33094">MODPUBSUB-106</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="33055">MODPUBSUB-112</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="67743">MODUSERS-213</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="57220">RMB-687</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                        <customfield id="customfield_10107" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Affected Institution</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10415"><![CDATA[TAMU]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <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|i01d5z:</customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10024" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>[CHART] Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 29 Jul 2020 15:50:11 +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>