Skip to content

Conversation

lucian-tosa
Copy link
Contributor

@lucian-tosa lucian-tosa commented Sep 2, 2025

Summary

This PR fixes a bug where the mongodb agents were not using the NO_PROXY environment variable set on the operator. This is an issue with the agent where setting the httpProxy flag will ignore the environment variables. Therefore, running the agent without that flag work properly whether the variables are set or not.

To make sure this is tested, the e2e_operator_proxy test was updated by adding a NO_PROXY variable set to cloud-qa and asserting that the proxy does not intercept those calls.

Proof of Work

Ran a patch where the test was updated, but the fix was not added. It failed, proving that the setting the NO_PROXY variable did not work.

With the fix, the CI should be green.

Checklist

  • Have you linked a jira ticket and/or is the ticket in the title?
  • Have you checked whether your jira ticket required DOCSP changes?
  • Have you added changelog file?

Copy link

github-actions bot commented Sep 2, 2025

⚠️ (this preview might not be accurate if the PR is not rebased on current master branch)

MCK 1.3.0 Release Notes

New Features

Multi-Architecture Support

We've added comprehensive multi-architecture support for the kubernetes operator. This enhancement enables deployment on IBM Power (ppc64le) and IBM Z (s390x) architectures alongside
existing x86_64 support. Core images (operator, agent, init containers, database, readiness probe) now support multiple architectures. We do not add support IBM and ARM support for Ops-Manager and the init-ops-manager image.

  • MongoDB Agent images have been migrated to new container repository: quay.io/mongodb/mongodb-agent.
    • the agents in the new repository will support the x86-64, ARM64, s390x, and ppc64le architectures. More can be read in the public docs.
    • operator running >=MCK1.3.0 and static cannot use the agent images from the old container repository quay.io/mongodb/mongodb-agent-ubi.
  • quay.io/mongodb/mongodb-agent-ubi should not be used anymore, it's only there for backwards compatibility.

Bug Fixes

  • This change fixes the current complex and difficult-to-maintain architecture for stateful set containers, which relies on an "agent matrix" to map operator and agent versions which led to a sheer amount of images.
  • We solve this by shifting to a 3-container setup. This new design eliminates the need for the operator-version/agent-version matrix by adding one additional container containing all required binaries. This architecture maps to what we already do with the mongodb-database container.
  • Fixed an issue where the readiness probe reported the node as ready even when its authentication mechanism was not in sync with the other nodes, potentially causing premature restarts.
  • Fixed an issue where the MongoDB Agents did not adhere to the NO_PROXY environment variable configured on the operator.

Other Changes

  • Optional permissions for PersistentVolumeClaim moved to a separate role. When managing the operator with Helm it is possible to disable permissions for PersistentVolumeClaim resources by setting operator.enablePVCResize value to false (true by default). When enabled, previously these permissions were part of the primary operator role. With this change, permissions have a separate role.
  • subresourceEnabled Helm value was removed. This setting used to be true by default and made it possible to exclude subresource permissions from the operator role by specifying false as the value. We are removing this configuration option, making the operator roles always have subresource permissions. This setting was introduced as a temporary solution for this OpenShift issue. The issue has since been resolved and the setting is no longer needed.
  • We have deliberately not published the container images for OpsManager versions 7.0.16, 8.0.8, 8.0.9 and 8.0.10 due to a bug in the OpsManager which prevents MCK customers to upgrade their OpsManager deployments to those versions.

@lucian-tosa lucian-tosa changed the title Fix proxy env vars CLOUDP-342319 - Fix proxy env vars Sep 2, 2025
@lucian-tosa lucian-tosa marked this pull request as ready for review September 2, 2025 12:19
@lucian-tosa lucian-tosa requested a review from a team as a code owner September 2, 2025 12:19
@@ -145,11 +145,6 @@ else
fi



if [[ -n "${HTTP_PROXY-}" ]]; then
Copy link
Collaborator

Choose a reason for hiding this comment

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

nice! I wanted to remove this one ages ago. That just makes no sense - since the go lib gets those from the env var anyway

Copy link
Collaborator

Choose a reason for hiding this comment

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

but let's link mms-automation code here for code reference for the future? I assume/remember that they create the http client including the proxy

transport := &http.Transport{
    Proxy: http.ProxyFromEnvironment,
}

Copy link
Contributor Author

Choose a reason for hiding this comment

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

added a comment

Copy link
Collaborator

@nammn nammn left a comment

Choose a reason for hiding this comment

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

LGTM let's add some comments here in pr for future reference, wdyt?

@@ -145,11 +145,6 @@ else
fi



if [[ -n "${HTTP_PROXY-}" ]]; then
Copy link
Collaborator

Choose a reason for hiding this comment

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

but let's link mms-automation code here for code reference for the future? I assume/remember that they create the http client including the proxy

transport := &http.Transport{
    Proxy: http.ProxyFromEnvironment,
}

@anandsyncs anandsyncs removed their request for review September 2, 2025 12:57
@lucian-tosa lucian-tosa enabled auto-merge (squash) September 2, 2025 13:21
@lucian-tosa lucian-tosa merged commit a106216 into master Sep 2, 2025
9 of 10 checks passed
@lucian-tosa lucian-tosa deleted the fix_proxy_env_vars branch September 2, 2025 13:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants