Skip to content

docs: add disconnected environment guide#20

Open
stevefulme1 wants to merge 3 commits intoredhat-cop:mainfrom
stevefulme1:docs/disconnected-environment-guide
Open

docs: add disconnected environment guide#20
stevefulme1 wants to merge 3 commits intoredhat-cop:mainfrom
stevefulme1:docs/disconnected-environment-guide

Conversation

@stevefulme1
Copy link
Copy Markdown

Summary

  • Adds comprehensive documentation for running the Migration Factory in disconnected (air-gapped) or restricted network environments
  • Covers OLM Operator catalog mirroring (all 7 required Operators), container image mirroring (EE, VDDK), Ansible collection mirroring (13 collections), Python package mirroring, Git repository access, AAP deployment, and network/firewall considerations
  • Includes a validation checklist for pre-flight verification

Related

  • Resolves: MFG-117

Test plan

  • Review documentation for accuracy and completeness
  • Verify all Operator package names match current Red Hat catalog
  • Verify all collection names and version constraints match galaxy.yml and requirements-dev.yml
  • Validate oc-mirror example configuration syntax
  • Confirm inventory variable names match current inventory.yml

🤖 Generated with Claude Code

Comprehensive guide covering all steps needed to run the Migration
Factory in air-gapped or restricted networks, including OLM catalog
mirroring, container image mirroring, Ansible collection and Python
package availability, Git access, and AAP deployment considerations.

Resolves: MFG-117

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@sabre1041 sabre1041 left a comment

Choose a reason for hiding this comment

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

Great starting point! his also might be a good use case to have our EMEA contribution team work through as well using this document as a baseline


- An internal container registry (e.g., a self-hosted Quay, Artifactory,
or Nexus instance) accessible from all OpenShift clusters.
- An internal HTTP/HTTPS server or Automation Hub instance for hosting
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Since we are not including the management of Execution Environments. Could it be assumed that all dependencies are satisfied by the runtime execution of an EE?


## 1. Operator Lifecycle Manager (OLM) Catalog Mirroring

The Migration Factory depends on the following OLM-managed Operators.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
The Migration Factory depends on the following OLM-managed Operators.
The Ansible for OpenShift Virtualization Migration depends on the following OLM-managed Operators.

- A Red Hat account with entitlements for downloading Operator catalog
indexes and container images.

## 1. Operator Lifecycle Manager (OLM) Catalog Mirroring
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Do we want to take into account #21 as well?


## 1. Operator Lifecycle Manager (OLM) Catalog Mirroring

The Migration Factory depends on the following OLM-managed Operators.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
The Migration Factory depends on the following OLM-managed Operators.
The Ansible for OpenShift Virtualization Migration depends on the following OLM-managed Operators.

Each must be available in a mirrored CatalogSource on every target
cluster.

| Operator | Package Name | Default Namespace |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Does the destination namespace matter in the context of mirroring?


## 5. Git Repository Access

The Migration Factory project source and any GitOps export targets must
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
The Migration Factory project source and any GitOps export targets must
The Ansible for OpenShift Virtualization Migration project source and any GitOps export targets must

aap_project_branch: main
```

- If using the `vm_gitops_export` role, ensure the target Git repository
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Depends on #16 which will also be eventually located in the openshift_virtualization_ops collection


When deploying AAP in a disconnected environment:

- The AAP Operator must be included in the mirrored Operator catalog (it
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This assumes an OpenShift deployment of AAP

Before running the Migration Factory in a disconnected environment,
verify the following:

- [ ] All seven required Operators are installable from the mirrored
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
- [ ] All seven required Operators are installable from the mirrored
- [ ] All required Operators are installable from the mirrored

CatalogSource.
- [ ] The EE image is pullable from the internal registry.
- [ ] The VDDK image is pullable from the internal registry.
- [ ] All 13 required Ansible collections are available in the Private
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
- [ ] All 13 required Ansible collections are available in the Private
- [ ] All required Ansible collections are available in the Private

- Rename "Migration Factory" to project name
- Add EE dependency assumption note
- Add OpenShift GitOps operator to required list
- Add oc-mirror additionalImages tip
- Apply wording suggestions from review
- Add clarifying notes for AAP and collection dependencies

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.

2 participants