# OpenShift Data Foundation Setup

This document describes how OpenShift Data Foundation (ODF) is configured in our environment.

## Overview

OpenShift Data Foundation is deployed across different environments (dev, qa and prod-basel) with specific configurations for each environment.

## Network Configuration

Network configuration is handled through NetworkNodeConfigurationPolicy (NNCP) in non-production environments:

- Defined in `manifests/overlays/dev/openshift-data-foundation/00_nncp.yaml` for dev
- Similar configuration exists for QA environment
- Configures network interfaces for ODF storage nodes

## Storage Configuration

### Development & QA

Development and QA environments use similar configurations for storage:
- Based on NNCP for network configuration
- Local storage configuration for testing purposes

### Production (Basel)

The production environment in Basel uses MetalLB for storage pool configuration:

- Defined in `manifests/overlays/prod-basel/openshift-data-foundation/01_metallb-storage-pool.yaml`
- Configures storage pools for ODF
- Utilizes MetalLB for load balancing storage traffic

## Testing

ODF deployment is verified through smoke tests:

- Implemented in `playbooks/20_smoketest_ocp.yaml`
- Validates the ODF installation and basic functionality
- Ensures storage classes are properly configured and accessible

## Best Practices

1. Always verify network configurations before deploying ODF changes
2. Run smoke tests after any modifications to the ODF setup
3. Keep separate configurations for different environments (dev, qa, and prod)
4. Test changes in dev and qa before promoting to production

## Related Files

- `manifests/overlays/dev/openshift-data-foundation/00_nncp.yaml`
- `manifests/overlays/prod-basel/openshift-data-foundation/01_metallb-storage-pool.yaml`
- `playbooks/20_smoketest_ocp.yaml` 