EL 9 Migration via Ascender
Applies to: RHEL 9, Oracle Linux 9, CentOS Stream 9, AlmaLinux 9, Rocky Linux 9
Overview
This guide covers deploying the migrate2rlc Ansible playbook through CIQ's Ascender automation platform for Enterprise Linux 9 systems. Ascender provides centralized management, scheduling, RBAC, and audit logging for fleet-wide migrations. For standalone Ansible usage without Ascender, see Standalone Ansible.
Ascender Setup
1. Create a Project
In Ascender, create a new Project pointing to the migrate2rlc repository:
- Name: migrate2rlc
- SCM Type: Git
- SCM URL: https://github.com/ctrliq/migrate2rlc-internal.git
- SCM Credential: (your GitHub credential)
- SCM Branch: main
- Update on Launch: enabled
2. Create a Credential
Create a Machine credential for SSH access to target systems:
- Name: migrate2rlc-targets
- Credential Type: Machine
- Username: root (or a sudo-capable user)
- SSH Private Key or Password: (your target host credentials)
Create a custom credential type for CIQ Depot:
- Name: CIQ Depot Credential
- Input Configuration:
fields: - id: depot_username type: string label: Depot Username - id: depot_token type: string label: Depot Token secret: true - Injector Configuration:
extra_vars: depot_username: '{{ depot_username }}' depot_token: '{{ depot_token }}'
3. Create an Inventory
Add your EL9 target systems to an Ascender Inventory:
- Name: el9-migration-targets
- Add hosts individually or import from a dynamic source
For large fleets, use Ascender's dynamic inventory sources (AWS, Azure, VMware, or custom scripts) to auto-populate the host list.
4. Create a Job Template
- Name: migrate2rlc EL9
- Inventory: el9-migration-targets
- Project: migrate2rlc
- Playbook: migrate2rlc.yml
- Credentials: migrate2rlc-targets, CIQ Depot Credential
- Extra Variables:
depot_tier: rlc-pro - Verbosity: 1 (Normal)
- Forks: 10 (parallel host limit, adjust for your environment)
- Limit: (leave blank for all hosts, or specify a subset)
5. Run the Job
Launch the Job Template from the Ascender UI or via the API. Monitor output in real time. Each host shows its migration progress independently.
Extra Variables Reference
| Variable | Required | Default | Description |
|---|---|---|---|
| depot_tier | Yes | none | Target tier: rlc-plus, rlc-pro, or rlc-96-lts |
| depot_username | Yes | none | CIQ Portal username |
| depot_token | Yes | none | CIQ Portal token |
| force_migration | No | false | Set to true if system already has CIQ packages |
| backup_mode | No | skip | Pre-migration backup: skip, local, nfs, smb, s3 |
| backup_target | No | none | Backup target path/URI |
EL9-Specific Notes
- FIPS mode: The playbook checks for FIPS and fails if enabled. Disable FIPS
before running:
fips-mode-setup --disableand reboot. openssl-fips-provider-so: Automatically removed before pre-migration dnf update on RHEL 9 and Oracle Linux 9 (file conflict with Rocky's package).rlc-pro-release: The EL9 tier release package is installed automatically.
Monitoring and Troubleshooting
- View real-time output in the Ascender Job detail page
- Failed hosts are marked red. Click a host to see its full output.
- Re-run failed hosts only by setting Limit to the failed host list
- Migration logs on each target:
/var/log/migrate2rlc.log
Standalone Ansible Alternative
If you do not have Ascender, run the playbook directly:
ansible-playbook migrate2rlc.yml \
-i target_host, \
-e depot_tier=rlc-pro \
-e depot_username=YOUR_USER \
-e depot_token=YOUR_TOKEN
DISCLAIMER
The migrate2rlc script and playbook are provided "as is" without warranty of any kind, express or implied. Use of these tools is entirely at your own risk. CIQ, Inc. assumes no responsibility or liability for any data loss, system downtime, service disruption, or other damage resulting from the use or misuse of these tools. It is the user's responsibility to ensure adequate backups and testing in a non-production environment before performing any migration on production systems.