Skip to content

OCPBUGS-63305: Make SimulatePrincipalPolicy optional - #10081

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
barbacbd:OCPBUGS-63305
Jan 28, 2026
Merged

openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
barbacbd:OCPBUGS-63305

Conversation

@barbacbd

Copy link
Copy Markdown
Contributor

Removing SimulatePrincipalPolicy as a required permission for Mint and Passthrough modes. Instead it will be required when a credential mode is not set.

@openshift-ci-robot openshift-ci-robot added jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Nov 13, 2025
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@barbacbd: This pull request references Jira Issue OCPBUGS-63305, which is invalid:

  • expected the bug to target the "4.21.0" version, but no target version was set

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

Removing SimulatePrincipalPolicy as a required permission for Mint and Passthrough modes. Instead it will be required when a credential mode is not set.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@barbacbd

Copy link
Copy Markdown
Contributor Author

/cc @tthvo
/cc @patrickdillon

@barbacbd

Copy link
Copy Markdown
Contributor Author

/jira refresh

@openshift-ci-robot openshift-ci-robot added jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. and removed jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Nov 13, 2025
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@barbacbd: This pull request references Jira Issue OCPBUGS-63305, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.21.0) matches configured target version for branch (4.21.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @gpei

Details

In response to this:

/jira refresh

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

Comment thread pkg/asset/permissions/permissions.go Outdated
@tthvo

tthvo commented Nov 14, 2025

Copy link
Copy Markdown
Member

Looks like have a tiny problem 🤔 related to #10081 (comment). Jobs are failing with:

level=warning msg=Action not allowed with tested creds action=iam:CreateAccessKey
level=warning msg=Action not allowed with tested creds action=iam:CreateUser
level=warning msg=Action not allowed with tested creds action=iam:DeleteUserPolicy
level=warning msg=Action not allowed with tested creds action=iam:GetUserPolicy
level=warning msg=Action not allowed with tested creds action=iam:ListAccessKeys
level=warning msg=Action not allowed with tested creds action=iam:PutUserPolicy
level=warning msg=Action not allowed with tested creds action=iam:TagUser
level=warning msg=Tested creds not able to perform all requested actions
level=warning msg=Action not allowed with tested creds action=s3:PutLifecycleConfiguration
level=warning msg=Action not allowed with tested creds action=s3:ListBucketMultipartUploads
level=warning msg=Action not allowed with tested creds action=s3:AbortMultipartUpload
level=warning msg=Action not allowed with tested creds action=iam:GetUserPolicy
level=warning msg=Action not allowed with tested creds action=iam:ListAccessKeys
level=warning msg=Tested creds not able to perform all requested actions
level=fatal msg=failed to fetch Cluster: failed to fetch dependency of "Cluster": failed to generate asset
"Platform Permissions Check": validate AWS credentials: AWS credentials cannot be used to either create
new creds or use as-is
Installer exit with code 1

@barbacbd

Copy link
Copy Markdown
Contributor Author

/retest-required

@patrickdillon

Copy link
Copy Markdown
Contributor

/approve

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Nov 14, 2025
@patrickdillon

Copy link
Copy Markdown
Contributor

@openshift-ci openshift-ci Bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Nov 14, 2025
@tthvo

tthvo commented Nov 15, 2025

Copy link
Copy Markdown
Member

/cc @jstuever

@openshift-ci
openshift-ci Bot requested a review from jstuever November 15, 2025 11:17
@tthvo

tthvo commented Nov 15, 2025

Copy link
Copy Markdown
Member

I read through the CCO code more... The 2 places in the actuator where the permission check is called here: actuator.go#L280 and actuator.go#L488.

I tried so many ways (i.e. all with credentialsMode: <mode> explicitly set) but those lines were never reached:

  1. Day-1 Mint mode
  2. Day-1 Passthrough
  3. Day-1 Passthrough and switch to Mint mode in Day 2
  4. Day-1 Mint mode and modify policy document for CredentialsRequest

My expectation is that if those lines were ever called, we would see a Cloud Trail event regardless of success or Auth error. There is none ❌ The installation completes successfully all the times with a happy CCO and all CredentialsRequest satisifed, and day 2 cases above worked just fine.

Maybe we are missing something, but CCO doesn't seem to perform any permission checks in explicitly Mint mode at all?

@gpei

gpei commented Nov 17, 2025

Copy link
Copy Markdown

/jira refresh

@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@gpei: This pull request references Jira Issue OCPBUGS-63305, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.21.0) matches configured target version for branch (4.21.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @yunjiang29

Details

In response to this:

/jira refresh

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci
openshift-ci Bot requested a review from yunjiang29 November 17, 2025 05:13
Removing SimulatePrincipalPolicy as a required permission for Mint and Passthrough modes.
Instead it will be required when a credential mode is not set.
@openshift-ci

openshift-ci Bot commented Nov 17, 2025

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: patrickdillon

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci

openshift-ci Bot commented Nov 17, 2025

Copy link
Copy Markdown
Contributor

@deepsm007: The /test command needs one or more targets.
The following commands are available to trigger required jobs:

/test artifacts-images
/test e2e-agent-compact-ipv4
/test e2e-aws-ovn
/test e2e-aws-ovn-edge-zones-manifest-validation
/test e2e-aws-ovn-upi
/test e2e-azure-nat-gateway-single-zone
/test e2e-azure-ovn
/test e2e-gcp-ovn
/test e2e-gcp-ovn-upi
/test e2e-metal-ipi-ovn-ipv6
/test e2e-openstack-ovn
/test e2e-vsphere-ovn
/test e2e-vsphere-ovn-upi
/test gofmt
/test golint
/test govet
/test images
/test integration-tests
/test integration-tests-nodejoiner
/test okd-scos-images
/test openstack-manifests
/test shellcheck
/test unit
/test verify-codegen
/test verify-deps
/test verify-vendor
/test yaml-lint

The following commands are available to trigger optional jobs:

/test aws-private
/test azure-ovn-marketplace-images
/test azure-private
/test e2e-agent-4control-ipv4
/test e2e-agent-5control-ipv4
/test e2e-agent-compact-ipv4-appliance-diskimage
/test e2e-agent-compact-ipv4-iso-no-registry
/test e2e-agent-compact-ipv4-none-platform
/test e2e-agent-compact-ipv6-minimaliso
/test e2e-agent-ha-dualstack
/test e2e-agent-sno-ipv4-pxe
/test e2e-agent-sno-ipv6
/test e2e-agent-two-node-fencing-ipv4
/test e2e-aws-byo-subnet-role-security-groups
/test e2e-aws-custom-dns-techpreview
/test e2e-aws-default-config
/test e2e-aws-overlay-mtu-ovn-1200
/test e2e-aws-ovn-custom-iam-profile
/test e2e-aws-ovn-edge-zones
/test e2e-aws-ovn-fips
/test e2e-aws-ovn-heterogeneous
/test e2e-aws-ovn-imdsv2
/test e2e-aws-ovn-proxy
/test e2e-aws-ovn-public-ipv4-pool
/test e2e-aws-ovn-public-ipv4-pool-disabled
/test e2e-aws-ovn-public-subnets
/test e2e-aws-ovn-shared-vpc-custom-security-groups
/test e2e-aws-ovn-shared-vpc-edge-zones
/test e2e-aws-ovn-single-node
/test e2e-aws-ovn-techpreview
/test e2e-aws-ovn-upgrade
/test e2e-aws-upi-proxy
/test e2e-azure-custom-dns-techpreview
/test e2e-azure-default-config
/test e2e-azure-ovn-multidisk-techpreview
/test e2e-azure-ovn-resourcegroup
/test e2e-azure-ovn-shared-vpc
/test e2e-azure-ovn-techpreview
/test e2e-azure-ovn-upi
/test e2e-azurestack
/test e2e-azurestack-upi
/test e2e-crc
/test e2e-external-aws
/test e2e-external-aws-ccm
/test e2e-gcp-custom-dns
/test e2e-gcp-custom-endpoints
/test e2e-gcp-default-config
/test e2e-gcp-ovn-byo-vpc
/test e2e-gcp-ovn-heterogeneous
/test e2e-gcp-ovn-techpreview
/test e2e-gcp-ovn-xpn
/test e2e-gcp-secureboot
/test e2e-gcp-upgrade
/test e2e-gcp-upi-xpn
/test e2e-gcp-xpn-dedicated-dns-project
/test e2e-ibmcloud-ovn
/test e2e-metal-assisted
/test e2e-metal-ipi-ovn
/test e2e-metal-ipi-ovn-dualstack
/test e2e-metal-ipi-ovn-swapped-hosts
/test e2e-metal-ipi-ovn-virtualmedia
/test e2e-metal-ovn-two-node-arbiter
/test e2e-metal-ovn-two-node-fencing
/test e2e-metal-single-node-live-iso
/test e2e-nutanix-ovn
/test e2e-openstack-ccpmso
/test e2e-openstack-ccpmso-zone
/test e2e-openstack-dualstack
/test e2e-openstack-dualstack-upi
/test e2e-openstack-externallb
/test e2e-openstack-nfv-intel
/test e2e-openstack-proxy
/test e2e-openstack-singlestackv6
/test e2e-powervs-capi-ovn
/test e2e-vsphere-externallb-ovn
/test e2e-vsphere-host-groups-ovn-techpreview
/test e2e-vsphere-multi-vcenter-ovn
/test e2e-vsphere-ovn-disk-setup-techpreview
/test e2e-vsphere-ovn-hybrid-env
/test e2e-vsphere-ovn-multi-disk
/test e2e-vsphere-ovn-multi-network
/test e2e-vsphere-ovn-techpreview
/test e2e-vsphere-ovn-upi-zones
/test e2e-vsphere-ovn-zones
/test e2e-vsphere-ovn-zones-techpreview
/test e2e-vsphere-static-ovn
/test gcp-private
/test okd-scos-e2e-aws-ovn

Use /test all to run the following jobs that were automatically triggered:

pull-ci-openshift-installer-main-artifacts-images
pull-ci-openshift-installer-main-aws-private
pull-ci-openshift-installer-main-e2e-aws-byo-subnet-role-security-groups
pull-ci-openshift-installer-main-e2e-aws-default-config
pull-ci-openshift-installer-main-e2e-aws-ovn
pull-ci-openshift-installer-main-e2e-aws-ovn-edge-zones
pull-ci-openshift-installer-main-e2e-aws-ovn-edge-zones-manifest-validation
pull-ci-openshift-installer-main-e2e-aws-ovn-fips
pull-ci-openshift-installer-main-e2e-aws-ovn-heterogeneous
pull-ci-openshift-installer-main-e2e-aws-ovn-imdsv2
pull-ci-openshift-installer-main-e2e-aws-ovn-shared-vpc-custom-security-groups
pull-ci-openshift-installer-main-e2e-aws-ovn-shared-vpc-edge-zones
pull-ci-openshift-installer-main-e2e-aws-ovn-single-node
pull-ci-openshift-installer-main-gofmt
pull-ci-openshift-installer-main-golint
pull-ci-openshift-installer-main-govet
pull-ci-openshift-installer-main-images
pull-ci-openshift-installer-main-okd-scos-images
pull-ci-openshift-installer-main-shellcheck
pull-ci-openshift-installer-main-unit
pull-ci-openshift-installer-main-verify-codegen
pull-ci-openshift-installer-main-verify-deps
pull-ci-openshift-installer-main-verify-vendor
pull-ci-openshift-installer-main-yaml-lint
Details

In response to this:

/test

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@deepsm007

Copy link
Copy Markdown
Contributor

/test all

@tthvo

tthvo commented Nov 24, 2025

Copy link
Copy Markdown
Member

/retest
/test e2e-aws-ovn-public-subnets e2e-aws-ovn-public-ipv4-pool e2e-aws-ovn-custom-iam-profile e2e-aws-overlay-mtu-ovn-1200

@openshift-ci

openshift-ci Bot commented Nov 25, 2025

Copy link
Copy Markdown
Contributor

@barbacbd: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/okd-scos-e2e-aws-ovn 991c8a0 link false /test okd-scos-e2e-aws-ovn
ci/prow/e2e-aws-ovn-heterogeneous 6f9176e link false /test e2e-aws-ovn-heterogeneous
ci/prow/e2e-aws-ovn-public-ipv4-pool 6f9176e link false /test e2e-aws-ovn-public-ipv4-pool

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@tthvo tthvo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

IIUC, the latest commit removes the iam:SimulatePrincipalPolicy requirement for Manual and Passthrough credentials mode while keep it for MintMode or default empty.

I am unsure if we need to also remove it for Mint mode as in #10081 (comment). But we can definitely remove it later if so.

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Nov 25, 2025
@jstuever

jstuever commented Dec 9, 2025

Copy link
Copy Markdown
Contributor

@tthvo I'm not sure if the previously described cases cover a situation where policy simulation would be called.

For Passthrough, it is only called from the syncPassthrough function when the credentials mode is not explicitly set to Passthrough, which would only happen if the mode is set to default (i.e., "") AND the root credential has sufficient permissions to be passthrough but not enough to be Mint.

For Mint, it is only called from the needsUpdate function (called from syncMint), which will always return true if the secret has not been created (i.e., first run) OR when a user has already been created and stored in the CR.status AND the user still exists.

@openshift-bot

Copy link
Copy Markdown
Contributor

/jira refresh

The requirements for Jira bugs have changed (Jira issues linked to PRs on main branch need to target different OCP), recalculating validity.

@openshift-ci-robot openshift-ci-robot added jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. and removed jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. labels Dec 12, 2025
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@openshift-bot: This pull request references Jira Issue OCPBUGS-63305, which is invalid:

  • expected the bug to target either version "4.22." or "openshift-4.22.", but it targets "4.21.0" instead

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

Details

In response to this:

/jira refresh

The requirements for Jira bugs have changed (Jira issues linked to PRs on main branch need to target different OCP), recalculating validity.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@tthvo

tthvo commented Dec 12, 2025

Copy link
Copy Markdown
Member

/jira refresh

@openshift-ci-robot openshift-ci-robot added the jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. label Dec 12, 2025
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@tthvo: This pull request references Jira Issue OCPBUGS-63305, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.22.0) matches configured target version for branch (4.22.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @yunjiang29

Details

In response to this:

/jira refresh

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot openshift-ci-robot removed the jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. label Dec 12, 2025
@openshift-bot

Copy link
Copy Markdown
Contributor

/jira refresh

The requirements for Jira bugs have changed (Jira issues linked to PRs on main branch need to target different OCP), recalculating validity.

@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@openshift-bot: This pull request references Jira Issue OCPBUGS-63305, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.22.0) matches configured target version for branch (4.22.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @yunjiang29

Details

In response to this:

/jira refresh

The requirements for Jira bugs have changed (Jira issues linked to PRs on main branch need to target different OCP), recalculating validity.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@patrickdillon

Copy link
Copy Markdown
Contributor

/hold cancel

@openshift-ci openshift-ci Bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jan 20, 2026
@yunjiang29

Copy link
Copy Markdown
Contributor

/payload-job periodic-ci-openshift-openshift-tests-private-release-4.22-amd64-nightly-aws-ipi-private-shared-vpc-phz-sts-mini-perm-f7

@openshift-ci

openshift-ci Bot commented Jan 27, 2026

Copy link
Copy Markdown
Contributor

@yunjiang29: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-openshift-tests-private-release-4.22-amd64-nightly-aws-ipi-private-shared-vpc-phz-sts-mini-perm-f7

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/fb428aa0-fb21-11f0-8abd-0d005f83d878-0

@yunjiang29

Copy link
Copy Markdown
Contributor

/payload-job periodic-ci-openshift-openshift-tests-private-release-4.22-arm64-nightly-aws-ipi-disc-priv-sts-ep-mini-perm-f14

@openshift-ci

openshift-ci Bot commented Jan 27, 2026

Copy link
Copy Markdown
Contributor

@yunjiang29: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-openshift-tests-private-release-4.22-arm64-nightly-aws-ipi-disc-priv-sts-ep-mini-perm-f14

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/bfe71c20-fb38-11f0-9cec-028e182b7ed6-0

@yunjiang29

Copy link
Copy Markdown
Contributor

/verified by @yunjiang29

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Jan 28, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@yunjiang29: This PR has been marked as verified by @yunjiang29.

Details

In response to this:

/verified by @yunjiang29

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-merge-bot
openshift-merge-bot Bot merged commit cbe2b67 into openshift:main Jan 28, 2026
27 of 30 checks passed
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@barbacbd: Jira Issue Verification Checks: Jira Issue OCPBUGS-63305
✔️ This pull request was pre-merge verified.
✔️ All associated pull requests have merged.
✔️ All associated, merged pull requests were pre-merge verified.

Jira Issue OCPBUGS-63305 has been moved to the MODIFIED state and will move to the VERIFIED state when the change is available in an accepted nightly payload. 🕓

Details

In response to this:

Removing SimulatePrincipalPolicy as a required permission for Mint and Passthrough modes. Instead it will be required when a credential mode is not set.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-merge-robot

Copy link
Copy Markdown
Contributor

Fix included in accepted release 4.22.0-0.nightly-2026-01-28-225830

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants