System Requirements
Redhat Satellite 6 license
Licence for Satellite Clients: Red Hat Enterprise Linux for Virtual Datacenters with Smart Management, Premium
System Name:
Ip address:
Netmask:
Gateway:
DNS:
CPU: 2 cores minimum, 4 recommended
RAM: 12G minimum, 16 recommended
Datavg: 250G Minimum/500G using thick provisioning since there will be databases installed
Minimal (@base) redhat install using XFS
selinux set to [permissive] or enforcing mode
vi /etc/selinux/config
if no dns, add itself to /etc/hosts
user with sudo all
Ports and Firewalls Requirements
os install partition scheme
/boot 1G
/ 1G
/home 5G
/opt 3G
/tmp 2.5G
/usr 5G
/var 3.5G
/var/log 2G
swap 4G
Add the filesystems for satellite
jlfs datavg pulplv 200G /var/lib/pulp root root 750 xfs
jlfs datavg mongodblv 25G /var/lib/mongodb root root 750 xfs
jlfs datavg pgsqllv 2G /var/lib/pgsql root root 750 xfs
Remove network manager
yum remove NetworkManager NetworkManager-team NetworkManager-tui NetworkManager-config-server NetworkManager-libnm
Configure Firewall
# get the active zone
firewall-cmd --get-active-zones
# set the default zone to drop
firewall-cmd --set-default-zone=drop
# clean up what is extra but keep ssh
firewall-cmd --zone=drop --permanent --remove-service=dhcpv6-client
# add services for satellite
firewall-cmd --zone=drop --permanent --add-service=RH-Satellite-6
# adds --add-service=dhcp --add-service=dns --add-service=tftp
# reload the firewall and verify it state
firewall-cmd --reload
firewall-cmd --zone=drop --list-all
Registration
subcribe to satellie
subscription-manager register --type=satellite
Set the version on redhat portal
attach to redhat satellite
also attach the license for the clients to this satellite.
something like: Red Hat Enterprise Linux for Virtual Datacenters with Smart Management, Premium
download the manifest for later step.
List available Entitlements
subscription-manager list --available --all
subscription-manager list --all --available | grep Satellite -A 10
Find the pool id
subscription-manager attach --pool=
Disable all repos
yum repolist
subscription-manager repos --disable "*"
Enable the repos for satellite server.
Attention to the satellite version
subscription-manager repos --enable rhel-7-server-rpms --enable rhel-server-rhscl-7-rpms --enable rhel-7-server-satellite-6.X-rpms
yum repolist
Update the server
yum -y update -y
Install chronyd for time synchronization
yum install chrony
Add the timeservers to /etc/hosts if not in dns
vi /etc/chrony.conf and change the servers if local provided.
server ..
server ..
Start and enable the service at boot
systemctl start chronyd
systemctl enable chronyd
reboot
reboot the server if it was not rebooted after installing the updates
make sure the date and time are synched.
Install katello
yum install katello
katello-installer --foreman-initial-organization "" --foreman-initial-location "Montreal" \
--foreman-admin-username "" \
--foreman-admin-password "" \
#dont do this , it installs 5 packages from epel --foreman-configure-epel-repo true \
****
Installing Done [100%] [..............................................................]
Success!
* Katello is running at https://myserver.domain.ca
Initial credentials are MyAdminUser / MyAdminPass
* Capsule is running at https://myserver.domain.ca:9090
* To install additional capsule on separate machine continue by running:
capsule-certs-generate --capsule-fqdn "$CAPSULE" --certs-tar "~/$CAPSULE-certs.tar"
The full log is at /var/log/katello-installer/katello-installer.log
****
Verify the locations and organizations assingations
{ Administer } -> Organizations and click on the organization.
under location make sure it is set to our location
{ Administer -> Settings -> Puppet
and set the default_location and default_organization
Enable Content
Create the Manifest
Login to access.redhat.com to generate our manifest file.
Locate the new satellite server, within access.redhat.com.
Be sure to re-set the Version, if it has become unset.
attacht a subscrition.
click on Download manifest
Import the Manifest
{ Content }-> Red hat Subscriptions
or from command line:
copy the manifest file downloaded in previous step to /root on the satellite server.
hammer subscription upload --organization "MyOrganization" --file /root/manifest_xxxxxxxxxxxxx.zip
authenticate with admin user
Enable redhat repositories
{ Content }-> Red hat Repositories
Select Kickstarts:
Red Hat Enterprise Linux Server -> Red Hat Enterprise Linux 6 Server (Kickstart) -> Red Hat Enterprise Linux 6 Server Kickstart x86_64 6.8
Select RPMS:
Red Hat Enterprise Linux Server -> Red Hat Enterprise Linux 6 Server (RPMs) -> Red Hat Enterprise Linux 6 Server RPMs x86_64 6Server
Red Hat Enterprise Linux Server -> Red Hat Enterprise Linux 6 Server - RH Common (RPMs) -> Red Hat Enterprise Linux 6 Server - RH Common RPMs x86_64 6Server
Red Hat Enterprise Linux Server -> RHN Tools for Red Hat Enterprise Linux 6 Server (RPMs) -> RHN Tools for Red Hat Enterprise Linux 6 Server RPMs x86_64 6Server
Red Hat Enterprise Linux Server -> Red Hat Enterprise Linux 6 Server - Extras (RPMs) -> Red Hat Enterprise Linux 6 Server - Extras RPMs x86_64
Red Hat Enterprise Linux Server -> Red Hat Enterprise Linux 6 Server - Optional (RPMs) -> Red Hat Enterprise Linux 6 Server - Optional RPMs x86_64 6Server
Red Hat Enterprise Linux Server -> Red Hat Satellite Tools 6.1 (for RHEL 6 Server) (RPMs) -> Red Hat Satellite Tools 6.1 (for RHEL 6 Server) (RPMs)
# Note: provides the katello-agent and puppet-agent packages for clients registered to the Satellite Server.
Sync redhat repositories:
{ Content } -> Sync Status
Add EPEL repo:
{ content } -> Product [ New Product ]
then select [ Repo Discovery ]
https://dl.fedoraproject.org/pub/epel/ [ Discover ]
select the desired versions: 6Server/x86_64/ and 7Server/x86_64/
then click [ Create Selected ]
set a meaningfull name and label for each
Click [ Create ]
Select the 2 new repos and click [ Sync Now ]
Add sync schedule:
{ Content } -> Sync plans
Configure virt-who
virt-who
Create a lifecycle environment
example with: Project-Dev -> Project-Pre-prod -> Project-Prod
Add a New Environment path Project-Dev
{ Content } -> Lifecycle Environments [ + New Environment Path ]
Add a new Environents Project-Pre-prod to Project-Dev path
{ Content ] -> Lifecycle Environments [ + Add New Environment ] # the one right above the Project-Dev path
Add a new Environents Project-Prod to Project-Dev path
{ Content ] -> Lifecycle Environments [ + Add New Environment ] # the one right above the Project-Dev path
Puppet note
# In 6.2 create a product and add a puppet repos, uploade a custom puppet module to that repo
create a puppet content view ( else puppet content and rpm content versioning will happen at same time )
when the puppet content view is promoted to an environemt then its puppet environment will be created.
Create a content view ( Base for RHEL X)
a content view is a collection of repositories rpms, puppet modules that are then to be used with environments.
{ Content } -> Content Views -> [ + Create New View ]
assign the products ( yum Content ) to the new view.
Base for RHEL X { Yum Content }
[ + Add Repositories ]
[ Publish New Version ]
Note: by default a publishing promotes to "Library", the base of all content views
Promote the content views
{ Content } -> Content Views -> Base for RHEL X { Versions } [ .: Promote ]
Select Project-Dev and click on [ Promote Version ]
{ Content } -> Content Views -> Base for RHEL X { Versions } [ .: Promote ]
Select Project-Pre-Prod and click on [ Promote Version ]
{ Content } -> Content Views -> Base for RHEL X { Versions } [ .: Promote ]
Select Project-Prod and click on [ Promote Version ]
Create host collections
Host Collection is equivalent to a Satellite 5 System Group, that is, a user defined group of one or more Hosts.
Host Group is a template for building a Host. This includes the content view (which defines the available RPM files and Puppet modules)
and the Puppet classes to apply (which ultimately determines the software and configuration).
{ Hosts } -> Host Collections [ + New Host Collection ]
# usually add at least one for each projects/lifecyle
Create Activation Keys
{ Content } -> Activation Keys [ + New Activation Key ] for Key-Project-Dev etc...
Assign a host collection. This will automatically add new hosts into this host collection
In the activation key go to { Host Collections } select Project-Dev and [ Add Selected ]
??? set auto attach by default,
Do I need this if set to auto attach? Assign subscriptions # will automatically assign new hosts to this subscription
How to use the key from a client
subscription-manager register --org="MyOrganisation" --activationkey="Key-Project-Dev"