Upgrade path 1.9 to 1.12

Hello Everyone,
I am trying migrate from 1.9 to 1.12
Steps

  1. Built new new node 1.12
  2. Migrate database from old server to new one.
  3. Run upgrade command from yeti web

Fail on

root@sbc-trunk01:/opt/yeti-web# su -s /bin/bash yeti-web
yeti-web@sbc-trunk01:~$ RAILS_ENV=production ./bin/bundle.sh exec rake db:migrate
App Timezone US/Eastern
Yeti DB timezone UTC
CDR DB timezone UTC
ActiveRecord timezone utc
== 20220717150840 CnameLua: migrating =========================================
-- execute("\n\n      alter extension yeti update TO \"1.3.4\";\n      alter table class4.customers_auth add cnam_database_id smallint references class4.cnam_databases(id);\n      alter table class4.customers_auth_normalized add cnam_database_id smallint;\n      alter table class4.cnam_databases\n        add response_lua varchar,\n        add request_lua varchar,\n        add drop_call_on_error boolean not null default false;\n            ")
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:

PG::InvalidParameterValue: ERROR:  extension "yeti" has no update path from version "1.3.6" to version "1.3.4"

root@sbc-trunk01:/opt/yeti-web# apt-cache policy postgresql-13-pgq-ext
postgresql-13-pgq-ext:
  Installed: 3.1.1-2
  Candidate: 3.1.1-2
  Version table:
 *** 3.1.1-2 500
        500 http://pkg.yeti-switch.org/debian/bullseye 1.12/main amd64 Packages
        100 /var/lib/dpkg/status
     3.1.1-1 500
        500 http://pkg.yeti-switch.org/debian/bullseye 1.12/main amd64 Packages
root@sbc-trunk01:/opt/yeti-web# apt-cache policy postgresql-13-yeti
postgresql-13-yeti:
  Installed: 1.3.6
  Candidate: 1.3.6
  Version table:
 *** 1.3.6 500
        500 http://pkg.yeti-switch.org/debian/bullseye 1.12/main amd64 Packages
        100 /var/lib/dpkg/status
     1.3.5 500
        500 http://pkg.yeti-switch.org/debian/bullseye 1.12/main amd64 Packages
     1.3.4 500
        500 http://pkg.yeti-switch.org/debian/bullseye 1.12/main amd64 Packages
     1.3.3p5 500
        500 http://pkg.yeti-switch.org/debian/bullseye 1.12/main amd64 Packages
root@sbc-trunk01:/opt/yeti-web# apt-cache policy postgresql-13-web
N: Unable to locate package postgresql-13-web
root@sbc-trunk01:/opt/yeti-web# apt-cache policy yeti-web
yeti-web:
  Installed: 1.12.99-1
  Candidate: 1.12.99-1
  Version table:
 *** 1.12.99-1 500
        500 http://pkg.yeti-switch.org/debian/bullseye 1.12/main amd64 Packages
        100 /var/lib/dpkg/status
     1.12.98-1 500

Any help, thank you.

try to replace 1.3.4 with 1.3.6 in migration file.

Can you please provide name of the file.

/opt/yeti-web/db/migrate/20220717150840_cname_lua.rb

Thank you for reply,
I was need to set 1.36 in
And upgrade process completed OK.

 /opt/yeti-web/db/migrate/20220805080124_process_diversion.rb 

Right now on attempt to access UI, getting error 500.

Sep  6 06:28:00 sbc-trunk01 yeti-web[2076]: request to node 8
Sep  6 06:28:00 sbc-trunk01 yeti-web[2076]: NodeApi::Error passed one or more unknown fields:['customer_auth_external_type']
Sep  6 06:28:00 sbc-trunk01 yeti-web[2076]: /opt/yeti-web/app/lib/node_api.rb:155:in `rescue in wrap_errors'\n/opt/yeti-web/app/lib/node_api.rb:150:in `wrap_errors'\n/opt/yeti-web/app/lib/node_api.rb:138:in `block in perform_request'\n/opt/yeti-web/app/lib/node_api.rb:137:in `synchronize'\n/opt/yeti-web/app/lib/node_api.rb:137:in `perform_request'\n/opt/yeti-web/app/lib/node_api.rb:86:in `calls_filtered'\n/opt/yeti-web/app/models/node.rb:100:in `public_send'\n/opt/yeti-web/app/models/node.rb:100:in `calls'\n/opt/yeti-web/app/models/yeti/cdrs_filter.rb:44:in `block in raw_cdrs'\n/opt/yeti-web/app/services/node_parallel_rpc.rb:47:in `process_node'\n/opt/yeti-web/app/services/node_parallel_rpc.rb:33:in `block in call'\n/opt/yeti-web/vendor/bundle/ruby/3.2.0/gems/parallel-1.12.1/lib/parallel.rb:484:in `call_with_index'\n/opt/yeti-web/vendor/bundle/ruby/3.2.0/gems/parallel-1.12.1/lib/parallel.rb:342:in `block (2 levels) in work_in_threads'\n/opt/yeti-web/vendor/bundle/ruby/3.2.0/gems/parallel-1.12.1/lib/parallel.rb:495:in `with_instrumentation'\n/opt/yeti-web/vendor/bundle/ruby/3.2.0/gems/parallel-1.12.1/lib/parallel.rb:341:in `block in work_in_threads'\n/opt/yeti-web/vendor/bundle/ruby/3.2.0/gems/parallel-1.12.1/lib/parallel.rb:206:in `block (2 levels) in in_threads'

Can you please clarify if need generate key ?
If I try specify the key any upgrade attempt is failing.

 RAILS_ENV=production ./bin/bundle.sh exec rake db:migrate
rake aborted!
Psych::SyntaxError: (<unknown>): could not find expected ':' while scanning a simple key at line 23 column 1

From documentation

Configure security keys seed by creating /opt/yeti-web/config/secrets.yml with the following content:

production:
  secret_key_base: <RANDOM_STRING>

That been resolved. Key must be one liner.