apiVersion: jenkins.io/v1 kind: PipelineActivity metadata: annotations: lighthouse.jenkins-x.io/cloneURI: https://github.com/greencapitaltrade/bifrost.git lighthouse.jenkins-x.io/job: release pipeline.jenkins-x.io/traceID: b23a538114257b2fa79416108e4d7b78 creationTimestamp: "2026-06-01T21:18:16Z" generation: 8 labels: branch: main build: "117" context: release created-by-lighthouse: "true" event-GUID: 209150bc-5dff-11f1-8f25-4aa43a04e56b lighthouse.jenkins-x.io/baseSHA: aef9cd7cbda2999d15bbd7eb860a4e728162f92b lighthouse.jenkins-x.io/branch: main lighthouse.jenkins-x.io/buildNum: "1780348696000" lighthouse.jenkins-x.io/context: release lighthouse.jenkins-x.io/id: apitaltrade-bifrost-main-release-v4x5j lighthouse.jenkins-x.io/job: release lighthouse.jenkins-x.io/lastCommitSHA: aef9cd7cbda2999d15bbd7eb860a4e728162f92b lighthouse.jenkins-x.io/refs.org: greencapitaltrade lighthouse.jenkins-x.io/refs.repo: bifrost lighthouse.jenkins-x.io/type: postsubmit owner: greencapitaltrade podName: apitaltrade-bifrost-main-release-nbcmf-from-build-pack-pod provider: github repository: bifrost tekton.dev/pipeline: apitaltrade-bifrost-main-release-nbcmf managedFields: - apiVersion: jenkins.io/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: f:branch: {} f:context: {} f:owner: {} f:provider: {} f:repository: {} f:spec: f:lastCommitMessage: {} f:lastCommitSHA: {} f:releaseNotesURL: {} f:version: {} manager: jx-changelog-0.10.18 operation: Update time: "2026-06-01T21:23:08Z" - apiVersion: jenkins.io/v1 fieldsType: FieldsV1 fieldsV1: f:spec: f:completedTimestamp: {} f:status: {} manager: jx-promote-0.6.31 operation: Update time: "2026-06-01T21:24:08Z" - apiVersion: jenkins.io/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:lighthouse.jenkins-x.io/cloneURI: {} f:lighthouse.jenkins-x.io/job: {} f:pipeline.jenkins-x.io/traceID: {} f:labels: .: {} f:build: {} f:created-by-lighthouse: {} f:event-GUID: {} f:lighthouse.jenkins-x.io/baseSHA: {} f:lighthouse.jenkins-x.io/branch: {} f:lighthouse.jenkins-x.io/buildNum: {} f:lighthouse.jenkins-x.io/context: {} f:lighthouse.jenkins-x.io/id: {} f:lighthouse.jenkins-x.io/job: {} f:lighthouse.jenkins-x.io/lastCommitSHA: {} f:lighthouse.jenkins-x.io/refs.org: {} f:lighthouse.jenkins-x.io/refs.repo: {} f:lighthouse.jenkins-x.io/type: {} f:podName: {} f:tekton.dev/pipeline: {} f:spec: .: {} f:baseSHA: {} f:batchPipelineActivity: {} f:build: {} f:buildLogsUrl: {} f:context: {} f:gitBranch: {} f:gitOwner: {} f:gitRepository: {} f:gitUrl: {} f:message: {} f:pipeline: {} f:startedTimestamp: {} f:steps: {} manager: jx-build-controller operation: Update time: "2026-06-01T21:25:15Z" name: greencapitaltrade-bifrost-main-117 namespace: jx resourceVersion: "69607998" uid: 9c55c002-6ce4-452e-8860-a048db115e09 spec: baseSHA: aef9cd7cbda2999d15bbd7eb860a4e728162f92b batchPipelineActivity: {} build: "117" buildLogsUrl: s3://logs-gct-prod-20260425045301534100000007/jenkins-x/logs/greencapitaltrade/bifrost/main/117.log completedTimestamp: "2026-06-01T21:23:46Z" context: release gitBranch: main gitOwner: greencapitaltrade gitRepository: bifrost gitUrl: https://github.com/greencapitaltrade/bifrost.git lastCommitMessage: | fix(fleet_management): make 18.0.2.0.0 rename idempotent for split-history tenants The 18.0.2.0.0 migration in fleet_management renames the module row from fleet_management to asset_management. It crashed in prod with psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "ir_module_module_name_uniq" DETAIL: Key (name)=(asset_management) already exists. because our prod tenant has both rows in ir_module_module — asset_management was installed independently (at version 18.0.2.1.0) alongside the legacy fleet_management (at 18.0.1.0.0). The straight UPDATE name='asset_management' WHERE name='fleet_management' would create a duplicate, so Postgres rejects. This blocked the bifrost 6.74.5 deploy: the new pod crashlooped during `odoo --update=fleet_management` while the old 6.74.3 ReplicaSet kept serving — the entrypoint fix from #184 finally surfaced this latent bug because before #184 the upgrade never ran on rolling deploys. Fix is to detect the dual-presence case and delete the fleet_management row instead of renaming. The rest of the migration (xmlid + model name moves) still runs and points everything at asset_management. Behaviour on a tenant with only fleet_management is unchanged — the elif branch does the original UPDATE. Tested locally against a copy of the failing state: before: SELECT name FROM ir_module_module WHERE name IN ('fleet_management','asset_management'); name ------------------- fleet_management asset_management after: name ------------------- asset_management lastCommitSHA: 01bed91ad89a439b7d3a228e58c1fd84258dc7c9 message: 'Tasks Completed: 1 (Failed: 0, Cancelled 0), Skipped: 0' pipeline: greencapitaltrade/bifrost/main releaseNotesURL: https://github.com/greencapitaltrade/bifrost/releases/tag/v6.74.6 startedTimestamp: "2026-06-01T21:18:16Z" status: Succeeded steps: - kind: Stage stage: completedTimestamp: "2026-06-01T21:23:46Z" name: Release startedTimestamp: "2026-06-01T21:22:46Z" status: Succeeded - kind: Promote promote: environment: staging pullRequest: pullRequestURL: https://github.com/greencapitaltrade/mcu/pull/4076 startedTimestamp: "2026-06-01T21:23:46Z" status: Succeeded startedTimestamp: "2026-06-01T21:23:46Z" status: Succeeded - kind: Stage stage: completedTimestamp: "2026-06-01T21:24:11Z" name: from build pack startedTimestamp: "2026-06-01T21:18:35Z" status: Succeeded steps: - completedTimestamp: "2026-06-01T21:18:55Z" name: Git Clone startedTimestamp: "2026-06-01T21:18:35Z" status: Succeeded - completedTimestamp: "2026-06-01T21:18:59Z" name: Next Version startedTimestamp: "2026-06-01T21:18:55Z" status: Succeeded - completedTimestamp: "2026-06-01T21:19:03Z" name: Jx Variables startedTimestamp: "2026-06-01T21:18:59Z" status: Succeeded - completedTimestamp: "2026-06-01T21:19:03Z" name: Setup Npm Nexus startedTimestamp: "2026-06-01T21:19:03Z" status: Succeeded - completedTimestamp: "2026-06-01T21:19:06Z" name: Setup Pip Cache startedTimestamp: "2026-06-01T21:19:03Z" status: Succeeded - completedTimestamp: "2026-06-01T21:19:07Z" name: Process Config Templates startedTimestamp: "2026-06-01T21:19:06Z" status: Succeeded - completedTimestamp: "2026-06-01T21:19:07Z" name: Update Asset Management Version startedTimestamp: "2026-06-01T21:19:07Z" status: Succeeded - completedTimestamp: "2026-06-01T21:19:09Z" name: Check Registry startedTimestamp: "2026-06-01T21:19:07Z" status: Succeeded - completedTimestamp: "2026-06-01T21:22:47Z" name: Build Container Build startedTimestamp: "2026-06-01T21:19:10Z" status: Succeeded - completedTimestamp: "2026-06-01T21:23:08Z" name: Promote Changelog startedTimestamp: "2026-06-01T21:22:48Z" status: Succeeded - completedTimestamp: "2026-06-01T21:23:11Z" name: Promote Helm Release startedTimestamp: "2026-06-01T21:23:08Z" status: Succeeded - completedTimestamp: "2026-06-01T21:24:11Z" name: Promote Jx Promote startedTimestamp: "2026-06-01T21:23:12Z" status: Succeeded - kind: Stage stage: completedTimestamp: "2026-06-01T21:24:11Z" name: from build pack startedTimestamp: "2026-06-01T21:18:35Z" status: Succeeded steps: - completedTimestamp: "2026-06-01T21:18:55Z" name: Git Clone startedTimestamp: "2026-06-01T21:18:35Z" status: Succeeded - completedTimestamp: "2026-06-01T21:18:59Z" name: Next Version startedTimestamp: "2026-06-01T21:18:55Z" status: Succeeded - completedTimestamp: "2026-06-01T21:19:03Z" name: Jx Variables startedTimestamp: "2026-06-01T21:18:59Z" status: Succeeded - completedTimestamp: "2026-06-01T21:19:03Z" name: Setup Npm Nexus startedTimestamp: "2026-06-01T21:19:03Z" status: Succeeded - completedTimestamp: "2026-06-01T21:19:06Z" name: Setup Pip Cache startedTimestamp: "2026-06-01T21:19:03Z" status: Succeeded - completedTimestamp: "2026-06-01T21:19:07Z" name: Process Config Templates startedTimestamp: "2026-06-01T21:19:06Z" status: Succeeded - completedTimestamp: "2026-06-01T21:19:07Z" name: Update Asset Management Version startedTimestamp: "2026-06-01T21:19:07Z" status: Succeeded - completedTimestamp: "2026-06-01T21:19:09Z" name: Check Registry startedTimestamp: "2026-06-01T21:19:07Z" status: Succeeded - completedTimestamp: "2026-06-01T21:22:47Z" name: Build Container Build startedTimestamp: "2026-06-01T21:19:10Z" status: Succeeded - completedTimestamp: "2026-06-01T21:23:08Z" name: Promote Changelog startedTimestamp: "2026-06-01T21:22:48Z" status: Succeeded - completedTimestamp: "2026-06-01T21:23:11Z" name: Promote Helm Release startedTimestamp: "2026-06-01T21:23:08Z" status: Succeeded - completedTimestamp: "2026-06-01T21:24:11Z" name: Promote Jx Promote startedTimestamp: "2026-06-01T21:23:12Z" status: Succeeded version: 6.74.6 status: {}