Satellite 6.17 Lab Notes - rhel-labs/instruqt GitHub Wiki

Provision VM

gcloud compute instances create satellite-6-17-v2 \
--project=tmm-instruqt-11-26-2021 \
--zone=us-central1-b \
--machine-type=e2-standard-8 \
--network-interface=network-tier=PREMIUM,stack-type=IPV4_ONLY,subnet=default \
--maintenance-policy=MIGRATE \
--provisioning-model=STANDARD \
--service-account=866520833223-compute@developer.gserviceaccount.com \
--scopes=https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/trace.append \
--tags=https-server \
--create-disk=auto-delete=yes,boot=yes,device-name=satellite-6-17-v2,image=projects/tmm-instruqt-11-26-2021/global/images/composer-api-e44d673b-7c92-43ca-add2-e373b83829aa-copy,mode=rw,size=502,type=pd-balanced \
--no-shielded-secure-boot \
--shielded-vtpm \
--shielded-integrity-monitoring \
--labels=goog-ec-src=vm_add-gcloud \
--reservation-affinity=any

Upload Manifest and 6.17 pre-release ISO

myee@MacBookPro ~> gcloud compute scp Downloads/Satellite-6.17-RHEL-9-20250228.n.0-x86_64-dvd.iso --zone "us-central1-b" "satellite-6-17-v2:/tmp/" --project "tmm-instruqt-11-26-2021"
Satellite-6.17-RHEL-9-20250228.n.0-x86_64-dvd.iso                                           100% 1261MB  20.2MB/s   01:02
myee@MacBookPro ~> gcloud compute scp Documents/satellite-manifest.zip --zone "us-central1-b" "satellite-6-17-v2:~/" --project "tmm-instruqt-11-26-2021"

Register the system

subscription-manager register --activationkey=12-5-22-instruqt --org=12451665 --force

Update the system

dnf upgrade -y

Reboot

reboot

Install extra software

dnf install -y dnsmasq wireguard-tools rhel-system-roles wget

Set DNS

nmcli connection modify Wired\ connection\ 1 ipv4.dns 192.0.2.1,8.8.8.8

Enable forwarding

Add these to /etc/sysctl.conf

net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1
sysctl -p

Set hostname to satellite.lab

hostnamectl set-hostname satellite.lab
exec bash

Add satellite.lab to /etc/hosts

/assets/etc-hosts-1.png

The result should be as below.

/assets/etc-hosts-2.png

Tell dnsmasq to handle wg requests

Create /etc/dnsmasq.d/wg0.conf

interface=wg0
expand-hosts
domain=lab
server=8.8.8.8
server=8.8.8.4
address=/lab/127.0.0.1
address=/lab/192.0.2.1

Offline install from ISO

Install Satellite from ISO.

Repos required from ISO

satellite-maintenance-6.16-for-rhel-9-x86_64-rpms
satellite-utils-6.16-for-rhel-9-x86_64-rpms
satellite-client-6-for-rhel-9-x86_64-rpms
satellite-capsule-6.16-for-rhel-9-x86_64-rpms

Since the above repos aren't available from CDN until GA, will upload from ISO.

Upload from local mounted repo.

hammer repository upload-content --name Satellite --product "Satellite Extras" --organization "Acme Org" --path /opt/satellite/Satellite/Packages/

Sync products from CDN

/assets/product-sync.png

Make sure the repos are set to immediate and not the default on-demand.

Enable Satellite Ansible Collection

satellite-maintain packages install -y ansible-collection-redhat-satellite

Satellite-2

Upload the dvd to satellite-2.lab. Change the hostname to satellite-2.lab. Update /etc/hosts/ to reflect satellite-2.lab.

mkdir -p /media/sat6
mount -o loop sat6-DVD.iso /media/sat6
cd /media/sat6/
./install_packages --nogpgsigs
satellite-installer --scenario satellite --foreman-initial-organization "Acme Org" --foreman-initial-location "Kicking_Horse" --foreman-initial-admin-username admin --foreman-initial-admin-password bc31c9a6-9ff0-11ec-9587-00155d1b0702 --tuning development