Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions docs/assemblies/common_configurations.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,27 @@ https://access.redhat.com/documentation/en-us/red_hat_satellite/6.13/html-single
If not using Satellite version 6.13, then refer to the specific version of the
documentation for the version of Satellite that is in use.

=== Using `edpm_bootstrap_command` for configuring system proxy settings

`edpm_bootstrap_command` can be used to configure system proxy settings by
creating a file under `/etc/profile.d` that defines the proxy environment
variables.

----
edpm_bootstrap_command: |
cat >/etc/profile.d/proxy.sh <<EOF
export http_proxy="http://USERNAME:PASSWORD@proxy-server.example.com:3128/"
export https_proxy="http://USERNAME:PASSWORD@proxy-server.example.com:3128/"
export no_proxy="localhost,127.0.0.1,::1" # Add any hosts to bypass the proxy
EOF
----
Comment on lines +55 to +68
Copy link
Contributor

Choose a reason for hiding this comment

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

Should we not drop this option and text completely as it can be confusing for the user or atleast detail what all situations it won't work. The statement below (won't always apply to tasks executed by ansible) sounds vague to me. I think instead of /etc/profile.d/proxy.sh using environment key value pairs in /etc/environment would always work and we can document that.

Copy link
Contributor Author

@slagle slagle Oct 29, 2025

Choose a reason for hiding this comment

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

/etc/environment doesn't apply to all processes.
The reason I added this part about still configuring the env vars is to show an example of how to configure a system proxy that would be used by any shell process, such as when the user logs in. I can drop the note about ansible though.

Copy link
Contributor

Choose a reason for hiding this comment

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

We need it for ansible tasks right as we're doing it with environment in the play. AFAIK ansible's non-interactive shell would always use /etc/environment.

Copy link
Contributor

Choose a reason for hiding this comment

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

As discussed in slack I'll merge it and we revisit it later.


Note that these variable values won't always apply to tasks executed by
ansible. To ensure ansible tasks always use a proxy, create the
`edpm_playbook_environment` secret and reference it on the
`OpenStackDataPlaneNodeSet` as shown in
xref:proc_creating-a-set-of-data-plane-nodes.adoc.

=== Customizing container image locations

The container images used by the various roles from edpm-ansible can pull from
Expand Down
14 changes: 14 additions & 0 deletions docs/assemblies/proc_creating-a-set-of-data-plane-nodes.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,17 @@ $ oc create secret generic redhat-registry \
* Replace `<registry_username>` with the applicable user name.
* Replace `<registry_password>` with the applicable password.

. Optional: Configure environment variables for all playbooks, such as proxy settings:
+
The `edpm_playbook_environment` variable sets environment variables that are applied to all tasks within all playbooks. This is useful for configuring proxy settings or other environment variables needed across the data plane deployment.
+
----
$ oc create secret generic edpm-playbook-environment \
--from-literal edpm_playbook_environment='{"HTTP_PROXY": "http://proxy.example.com:8080", "HTTPS_PROXY": "http://proxy.example.com:8080", "NO_PROXY": "localhost,127.0.0.1", "http_proxy": "http://proxy.example.com:8080", "https_proxy": "http://proxy.example.com:8080", "no_proxy": "localhost,127.0.0.1"}'
----
+
* Replace the proxy values with your actual proxy server addresses.

+
----
apiVersion: dataplane.openstack.org/v1beta1
Expand All @@ -188,11 +199,14 @@ spec:
name: subscription-manager
- secretRef:
name: redhat-registry
- secretRef:
name: edpm-playbook-environment
----

+
For a complete list of the Red Hat Customer Portal registration commands, see https://access.redhat.com/solutions/253273. For information about how to log into `registry.redhat.io`, see https://access.redhat.com/RegistryAuthentication#creating-registry-service-accounts-6.
endif::[]

. If your nodes are bare metal, you must configure the bare metal template, see xref:con_provisioning-bare-metal-data-plane-nodes_{context}[Provisioning bare metal data plane nodes].

. Optional: The sample `OpenStackDataPlaneNodeSet` CR you copied includes default node configurations under the `nodes` section. You can add additional nodes, and edit the configured values as required. For example, to add node-specific Ansible variables that customize the node, add the following configuration to your `openstack-edpm.yaml` file:
Expand Down