Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optional host macvlan for storage network #731

Merged
merged 1 commit into from
Feb 21, 2024

Conversation

Akrog
Copy link
Contributor

@Akrog Akrog commented Feb 15, 2024

This patch adds an optional environmental variable called NETWORK_STORAGE_MACVLAN that when set will create a macvlan on top of the storage VLAN network to hold the IPs instead of the VLAN itself.

This allows host to/from pod network communication on the same host using the storage VLAN.

This is necessary for example when using Cinder's LVM driver with the iSCSI transport protocol and using the IP assigned to the pod's storage network attachment.

The iscsi initiator (client) is run on the host, but it won't have network access to the iSCSI target port that gets opened in the cinder volume network namespace.

We don't default to always create the macvlan because LVM is a Proof of Concept backend that should not be used in production for serious workloads.

An example of how to use this is to use the existing cinder-operator LVM iSCSI sample, but changing how we deploy the operators:

NETWORK_STORAGE_MACVLAN=true make openstack

Related cinder-operator PR: openstack-k8s-operators/cinder-operator#338

This patch adds an optional environmental variable called
`NETWORK_STORAGE_MACVLAN` that when set will create a macvlan on top of
the storage VLAN network to hold the IPs instead of the VLAN itself.

This allows host to/from pod network communication on the same host
using the storage VLAN.

This is necessary for example when using Cinder's LVM driver with the
iSCSI transport protocol and using the IP assigned to the pod's storage
network attachment.

The iscsi initiator (client) is run on the host, but it won't have
network access to the iSCSI target port that gets opened in the cinder
volume network namespace.

We don't default to always create the macvlan because we are also
introducing an alternative solution in the cinder-operator that will
work for now (until we move the iSCSI target creation to privsep).

This alternate solution requires the human operator to configure the
cinder backend to use the host's storage network IP directly (the
operator will make internally required changes to make that work).
@Akrog Akrog changed the title WIP: Optional host macvlan for storage network Optional host macvlan for storage network Feb 21, 2024
Copy link
Contributor

@abays abays left a comment

Choose a reason for hiding this comment

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

/lgtm

Copy link
Contributor

openshift-ci bot commented Feb 21, 2024

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: abays, Akrog, fao89

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

The pull request process is described here

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-merge-bot openshift-merge-bot bot merged commit 2fbbe00 into openstack-k8s-operators:main Feb 21, 2024
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants