Category: Red Hat Satellite
How to Create a New Host in Foreman with Ansible
Okay…this one was quite difficult to find online. Seems like the ansible documentation for the foreman module was seriously lacking or not kept up to date by anyone. I searched for awhile to see if anyone had an actual working model of it.
Not even in the ansible chat rooms did anyone know….which was weak.
So I spent some time getting this to work smoothly, and you will probably not find anywhere else on the web on how to do this. If you do show me….so I can kick myself.
Lets get dangerous then. 😊
Step by step:
Foreman – Already setup and your “computer resource” is hooked in (VMware)
Note: The compute profile(vmware) when hooked in, will also trigger a new vm creation in vsphere prepped to do DHCP. You can combine variables from vmware_guest module and this module as they require similar variables to be passed. To setup a one stop shop to deploy in foreman and vmware with just using ansible. Iv done this already…..
Special notes: The foreman I had setup did not have organisation or location configured. This caused the module to not function properly and I had to contact one of the developers who helped me patch the code so I didn’t require them to be configured or defined. Which I will show you all how to do.
Ansible – Assuming you have it setup and working with python 2.7 not sure this module will work with python 3. Havent tried that yet…..
Module – TheForeman Collection
Note: You can find the locations of these certs on foreman server. You will to copy them over to ansible for the callback to work properly. However, it is not needed to complete the host creation, you likely just see an error at the end of the play.
[callback_foreman]
url = ‘http://foreman-1.tdr.corp-apps.com’
ssl_cert = /etc/foreman-proxy/ssl-cert.pem
ssl_key = /etc/foreman-proxy/ssl-pvt.pem
verify_certs = /etc/foreman-proxy/ssl-ca
Okay once installed you. If you look at the ansible documentation on how to manage hosts using this module…from redhat.
It utterly useless…and will not work if you try to use the examples below.
https://people.redhat.com/evgeni/fam-antsibull/plugins/host_module.html
– name: “Create a host”
host:
username: “admin”
password: “changeme“
server_url: “https://foreman.example.com”
name: “new_host“
hostgroup: my_hostgroup
state: present
The fix was to avoid trying to touch a specific resource that is only available when you have Org/Loc enabled.
diff –git plugins/module_utils/foreman_helper.py plugins/module_utils/foreman_helper.py
index 432c76df..c9a3abda 100644
— plugins/module_utils/foreman_helper.py
+++ plugins/module_utils/foreman_helper.py
@@ -396,8 +396,9 @@ class ForemanAnsibleModule(AnsibleModule):
_host_update = next(x for x in _host_methods if x[‘name’] == ‘update’)
for param in [‘location_id‘, ‘organization_id‘]:
– _host_update_taxonomy_param = next(x for x in _host_update[‘params’] if x[‘name’] == param)
– _host_update[‘params’].remove(_host_update_taxonomy_param)
+ _host_update_taxonomy_param = next((x for x in _host_update[‘params’] if x[‘name’] == param), None)
+ if _host_update_taxonomy_param is not None:
+ _host_update[‘params’].remove(_host_update_taxonomy_param)
@_check_patch_needed(fixed_version=’2.0.0′)
def _patch_templates_resource_name(self):
Trick: with ansible you can write some of the code and run the playbook and if there are missing variables it will tell you what they are.
fatal: [testnick1]: FAILED! => {
“changed”: false,
“invocation”: {
“module_args“: {
“activation_keys“: null,
“architecture”: null,
“build”: null,
“comment”: null,
“compute_attributes“: null,
“compute_profile“: null,
“compute_resource“: null,
“config_groups“: null,
“content_source“: null,
“content_view“: null,
“domain”: null,
“enabled”: null,
“environment”: null,
“hostgroup“: “my_hostgroup“,
“image”: null,
“interfaces_attributes“: null,
“ip“: null,
“kickstart_repository“: null,
“lifecycle_environment“: null,
“location”: null,
“mac”: null,
“managed”: null,
“medium”: null,
“name”: “testnick1”,
“openscap_proxy“: null,
“operatingsystem“: null,
“organization”: null,
“owner”: null,
“owner_group“: null,
“parameters”: null,
“password”: “VALUE_SPECIFIED_IN_NO_LOG_PARAMETER”,
“provision_method“: null,
“ptable“: null,
“puppet_ca_proxy“: null,
“puppet_proxy“: null,
“puppetclasses“: null,
“pxe_loader“: null,
“realm”: null,
“root_pass“: null,
“server_url“: “http://foreman-1.nictailor.com/”,
“state”: “present”,
“subnet”: null,
“subnet6”: null,
“username”: “ntailor“,
“validate_certs“: true
}
},
“msg“: “The hostname must be FQDN”
}
PLAY RECAP ************************************************************************************************************************************************************************
testnick1 : ok=0 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0
Create a Host: This code is what you need for this module to work.
– name: “Create a host”
theforeman.foreman.host:
username: “{{ foreman_user }}”
password: “{{ vcenter_password }}”
server_url: “{{ server_url }}”
name: “{{ inventory_hostname }}”
hostgroup: “{{ host_group }}”
managed: no
build: no
compute_profile: “{{ compute_profile }}”
compute_resource: “{{ computer_resource }}”
compute_attributes:
cpus: “{{ vm_cpu_count }}”
memory_mb: “{{ vm_memory }}”
interfaces_attributes:
– type: “interface”
primary: true
compute_attributes:
name: nic1
network: “{{ vm_vlan_name }}”
interface: “{{ vm_interface }}”
subnet: “{{ vm_subnet }}”
ip: “{{ vm_ip }}”
domain: “{{ domain }}”
provision: yes
operatingsystem: “{{ operating_system }}”
medium: “{{ medium }}”
architecture: x86_64
pxe_loader: PXELinux BIOS
puppet_ca_proxy: “{{ puppet_ca_proxy }}”
puppet_proxy: “{{ puppet_proxy }}”
root_pass: “{{ root_pass }}”
environment: tdr
# ptable: Centos – LVM – / , swap
ptable: “{{ ptable }}”
# owner: unix
state: present
validate_certs: false
delegate_to: localhost
– name: “Switch host on”
theforeman.foreman.host_power:
username: “{{ foreman_user }}”
password: “{{ foreman_password }}”
server_url: “{{ server_url }}”
hostname: “{{ inventory_hostname }}”
state: on
validate_certs: false
delegate_to: localhost
Note: You can find all these variables inside foreman GUI with a bit of digging.
foreman_user: Reptilianfilth
foreman_password: { generally want a ansible vault password }
compute_profile: vmware
computer_resource: vcenter.nic.internal
domain: nic.internal
medium: 7.8-CentOS
puppet_ca_proxy: puppet-2.nic.internal
puppet_proxy: puppet-2.nic.internal
#VM creation variables
vm_network: niccorp-192.168.65_corp
vm_interface: VMXNET3
vm_subnet: 192.168.65.0
vm_ip: 192.168.65.103
domain: nic.internal
managed: no
host_group: Base-Server/Centos-7.8.2003
operating_system: Centos 7.8.2003
ptable: Centos – LVM – / , swap
root_pass: changemetwiceaday
medium: 7.8-CentOS
Special Note: Now if you wanted to have it so you can use foreman module or vmware_guest module combining the variables names between the modules.
You can do as below. You will need to ensure the variables match but it works. You can get around having to rely on DHCP with this.
#VM creation variables foreman and vmware together
vm_vlan_name: nic_192.168.44_db_stor2
vm_datastore: esx_nicrcorp
vm_dvswitch: VDS-nic-Corporate
vm_interface: VMXNET3
vm_subnet: 192.1268.44.0
vm_ip: 192.168.44.14
vm_netmask: 255.255.255.0
vm_gateway: 192.168.44.254
vm_dns_servers: [192.168.1.1]
vm_dns_suffix: nic.internal
vm_cpu_count: 4
vm_memory: 16384
vm_state: poweredon
vm_connected: true
domain: tdr.internal
managed: no
host_group: Base-Server/Centos-7.8.2003
operating_system: Centos 7.8.2003
ptable: Centos – LVM – / , swap
root_pass: changemetwiceaday
medium: 7.8-CentOS
Before you to start one last thing. If you remember in the defaults we outlined
compute_profile: vmware
(this is the foreman profile it will use, so whatever defaults you have set for network and disksize here is what will be used to trigger foreman to create a host in vcenter, so it good to go check this in foreman first.)
Run playbook: from /etc/ansible
[root@nick ansible]# ansible-playbook –i inventory/TDR/hosts foremancreatehost.yml –ask-vault-pass –limit ‘testnick3.tdr.internal’
Vault password:
PLAY [all] **********************************************************************************************************************************************
TASK [ansible-provision-foreman : Create a host] ********************************************************************************************************
changed: [testnick3.tdr.internal]
PLAY RECAP *******************************************************************************************************************************************************************************
testnick3.tdr.internal : ok=1 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
403 Client Error: Forbidden for url: http://foreman-1.nic.corp.com/api/v2/reports (if you see this, just ignore it) Its just callback report.
How to build a server using kickstart satellite 6.x
Note: This document is assuming that your capsule server are already configured and your dhcpd service is running and your subnets have been added to the config already.
Manual process:
HOST TAB
Under Create hosts there are a bunch of tabs that need to be filled out.
Name * (This is the name of your vm) – “nick.test1.com”
This value is used also as the host’s primary interface name.
Organisation * Which ever ORG which want the host to live in (LCH)
Location * london
Host Group – We will do this late for now just choose an existing non-prod group.
Deploy on – Bare Metal
Lifecycle Environment Non-Prod
Content View – Select a content view that exists, check under content view
Content Source – leave blank
Interfaces TAB
Type : Interface
MAC address : Grab the mac address from vcenter or login in existing OS and get interface mac-address
Device identifier : en016780032
DNS name “nick.test1.com
Domain : nicktailor.com
IPv4 Subnet: subnet the vlan lives on(this is setup on capsule server)
nick-10.61.120.0-26(10.61.120.0/26)
IPv6 Subnet
IPv4 address : 10.61.120.45
Managed (checked)
Primary (checked)
Provision(checked)
Remote execution(checked)
Operating System TAB
Architecture * :x86_64
Operating system *: RHEL Server 7.4
Media SelectionSynced Content All Media
Select the installation media that will be used to provision this host. Choose ‘Synced Content’ for Synced Kickstart Repositories or ‘All Media’ for other media.
Media *: RHE7-cap01 (this is where the repositories live)
Partition table *: RHEL7-TESTING (make sure this attached to a hostgroup and operating sytem) Under HOSTS & CONFIGURE)
PXE loader : PXELinux BIOS (this is for the PXE Boot)
Custom partition table (leave blank unless you want to overide
What ever text(or ERB template) you use in here, would be used as your OS disk layout options If you want to use the partition table option, delete all of the text from this field
Root password : password
Password must be 8 characters or more
Pamameters TAB
Puppet class parameters
Puppet class Name Value Omit
Global parameters:
Capsule : nick-cap01.com
Activation_keys: RHEL7-2017-12-PROD
nick-cap01.com
kt_activation_keys: RHEL7-2017-12-Prod
(if you override the default key it shows up below)
puppet_server : nick-pup02.com
Host parameters:
Name Value Actions
kt_activation_keys
RHEL7-2017-12-Non-Prod (nonprod)
Additional Information TAB
Owned by: Nick Tailor
Enabled: Include this host within satellite reporting (check this)
Hardware Model
Commen: Blank
Next Step – Create a hostgroup
Under Configure select Host Groups( You need a host group in for your deployment to work properly without this is will not work )
Note: Generally its easier to clone an existing hostgroup, change the name and edit the settings to save you time. However for the purposes of this document. We are going to go through the process.
Host Group Tab
Parent
Name *: Nick-hax0r-servers (Project name – servers)
Lifecycle Environment: NON-PROD (make sure you have lifecycle environment configured)
Content View : RHEL7-2019-03 (Make sure to select a content view that exists, you can go to content views and look at which it exists and the copy and paste the name exactly)
Content Source: nick-cap01.com(This is the capsule server where the content for the repositories exist for the dev environment, in addition where the subnets are defined that these project servers can dhcp from pxeboot)
Puppet Environment: Non_Production_RHEL7_2019_03_127
Note: (Define this is you have a puppet environment configured with satellite. You will need to have your puppet environment match this content view if you do)
Compute profile : Blank
Puppet Master: Blank
Puppet CA: Blank
OpenSCAP Capsule : Blank
Note: (This is good for pulling server information and vulnerabilities)
Network TAB
Domain: nicktailor.com
IPv4 Subnet: NTC-10.61.120.0-26(10.61.120.0/26)
Note: (These subnets are defined in satellite under Infrastructure and then Subnets)
IPv6 : No Subnet
Realm: Blank
Operating System TAB
Architecture: x86_64
Operating system * : RHEL Server 7.4
(Note: This section is very important. You will need to attach the partition table to the operating system under Hosts and Operating System. If you do not when you make your provision template this host group will not be able to see the partition table you created when you choose the OS you want to deploy.
Media Selection Synced Content All Media
Select the installation media that will be used to provision this host. Choose ‘Synced Content’ for Synced Kickstart Repositories or ‘All Media’ for other media.
Media *: RHEL7-nick-cap01
Partition table *: RHEL7-Testing
(Note: This is created under HOSTS and Partition Table)
PXE loader: Blank
Root password: Password (set this for your server to desired setting)
Parameters TAB
Global Parameters
Host group parameters:
Name: Value:
Capsule nick-cap01.com
puppet_server nick-pup02.com
Note:(You only need this define i`f you have a puppet server environment configured)
Locations TAB
Under Selected Items:
Add London
Organizations TAB
Under Selected Items:
Add organizations you want to have access to the host group
ADD: LCH
Activation Keys TAB
Activation keys: RHEL7-2017-12-Non-Prod (this key defines which organization, host group, repositories, life cycle environment and organization the host initially gets registered with. You can manually change these setting after, however its probably good to make a proper key to save you lots of time.
Next Step – Created Patition Table
HOSTS and Partition Tables
(Note: Its generally better to clone an exitsing table and edit as needed, however for the purposes of this doc, we will go through the settings) You will also need to add this table to your operating system under Hosts and Operating system for the provision template to work properly)
Template TAB
Name * : GTP-RHEL7-Testing (Name your partition table scheme)
Default
Default templates are automatically added to new organisations and locations
Snippet
Operating system family: RED HAT
Input:
Note: This is a standard lvm setup using ext4 for the OS. If you are going to use dual boot, then you want to change the first 3 lines
zerombr
clearpart –drives=sda –all –initlabel
part /boot –fstype ext4 –size=1024 –asprimary –ondisk=sda
part pv.00 –size=1 –grow –asprimary –ondisk=sda
volgroup vgroot pv.00
logvol / –name=lv_root –vgname=vgroot –size=15360 –fstype ext4
logvol swap –name=lv_swap –vgname=vgroot –size 6144 –fstype swap
logvol /var –name=lv_var –vgname=vgroot –size 10240 –fstype ext4
logvol /opt –name=lv_opt –vgname=vgroot –size 10240 –fstype ext4
logvol /var/tmp –name=lv_var_tmp –vgname=vgroot –size 5120 –fstype ext4 –fsoptions=nodev,nosuid,noexec
logvol /var/log –name=lv_var_log –vgname=vgroot –size 5120 –fstype ext4
logvol /var/log/audit –name=lv_var_log_audit –vgname=vgroot –size 2048 –fstype ext4
logvol /var/coredumps –name=lv_crash –vgname=vgroot –size 16384 –fstype ext4
logvol /tmp –name=lv_tmp –vgname=vgroot –size 5120 –fstype ext4 –fsoptions=nodev,nosuid,noexec
logvol /home –name=lv_home –vgname=vgroot –size 5120 –fstype ext4 –fsoptions=nodev
Dual Boot template:
Note: Change the drive designation from sda to sdx (x being whatever the new drive designation is) In the example below its /dev/sdc
clearpart –drives=sdc –all –initlabel
part /boot –fstype ext4 –size=1024 –asprimary –ondisk=sdc
part pv.00 –size=1 –grow –asprimary –ondisk=sdc
volgroup vgroot pv.00
logvol / –name=lv_root –vgname=vgroot –size=15360 –fstype ext4
logvol swap –name=lv_swap –vgname=vgroot –size 6144 –fstype swap
logvol /var –name=lv_var –vgname=vgroot –size 10240 –fstype ext4
logvol /opt –name=lv_opt –vgname=vgroot –size 10240 –fstype ext4
logvol /var/tmp –name=lv_var_tmp –vgname=vgroot –size 5120 –fstype ext4 –fsoptions=nodev,nosuid,noexec
logvol /var/log –name=lv_var_log –vgname=vgroot –size 5120 –fstype ext4
logvol /var/log/audit –name=lv_var_log_audit –vgname=vgroot –size 2048 –fstype ext4
logvol /var/coredumps –name=lv_crash –vgname=vgroot –size 16384 –fstype ext4
logvol /tmp –name=lv_tmp –vgname=vgroot –size 5120 –fstype ext4 –fsoptions=nodev,nosuid,noexec
logvol /home –name=lv_home –vgname=vgroot –size 5120 –fstype ext4 –fsoptions=nodev
Locations TAB
Under Selected Items:
ADD: London
Organization TAB
Under Selected Items:
ADD: NTC
Next Step – ADD New Partition Table to Operating System
Note- (This part is important. The way to figure out which OS to choose is to check the which repositories are available on the capsule server defined. Say you chose RHEL7. 4, but the repository doesn’t exist there. The provision template will then choose the default template and your partition template and everything will no longer be there and you could accident deploy on the wrong disk wiping out data potentially)
Example if we chose the content view RHEL7-2019-03 and the OS RHEL7.4 in the provision template but on the capsule server. The path shows only 7.5 under that content view, the url would fail during the deployment and revert 7.2 default settings and would use a different partition table if the one you created wasn’t available under the default OS setting.
root@nick-cap01:/var/lib/pulp/published/yum/http/repos/NTC/Non-Production/RHEL7-2019-03/content/dist/rhel/server/7/7.5
I found its best to use the default OS and then just ensure that yum update is in the kickstart file that is going to be used
Will look like this in the kickstart file.
# update all the base packages from the updates repository
yum -t -y -e 0 update
Now go back to your New your provision template.
Under Hosts and Provision Template.
Now to set your server to build status so that the PXEboot is able to pick it up on network book.
Now we can test the deployment from VCENTER
How to automate your RedHat Satellite 5.x Channel Cloning
- In order for the scripts to work without sending your password to “ps” you will need to setup a config for spacecmd
Credential File
Spacecmd can be configured with a credentials file so you are not prompted for a username/password each time. This allows for easier scripting.
- Create a hidden spacecmd directory in your home. Lock down permissions.
mkdir ~/.spacecmd chmod 700 ~/.spacecmd
- Create a config file in the directory and give proper permissions.
touch ~/.spacecmd/config chmod 600 ~/.spacecmd/config
- Edit the config file and fill in the header, Spacewalk server fqdn, username, and password.
vim ~/.spacecmd/config [spacecmd] server=spacewalk.nicktailor.com username=usernamehere password=passwordhere
Clone scripts
http://www.nicktailor.com/files/clonechannel.redhat7.sh
http://www.nicktailor.com/files/clonechannel.redhat6.sh
http://www.nicktailor.com/files/clonechannel.redhat5.sh
REDHAT 7 (EXAMPLE)
#!/bin/bash
spacewalkServer=spacewalk.nicktailor.com
defaultOrgAdmin=USER
read -p “Enter to Continue”
How to deploy servers with KickStart 5.0
- Open up Vcenter and login
- Find the folder you wish to create the new vm
- Right click on the folder and select create a new vm
- Go through and select the VM parameters you require ie(CPU, Memory, HD space, etc)
NOTE: that you should keep the HD space to 50 gigs and thin provision the vm.
- Next you want to edit the VM settings
- Select the CD/DVD option and then boot off a redhat linux 6.6 install dvd.
- Enable the connect on start and conneted check boxes at the top.
- Next you want to select the Network adapter and select the correct Network Label(VLAN) so the server will be able to communicate dependant on which ever ip/network you chose.
- Select the CD/DVD option and then boot off a redhat linux 6.6 install dvd.
Note: You will not be able to kickstart if you do not have the proper vlan for your ip.
- Next Login into satellite
- Click on kickstart on the left pane and then profiles
- Select the button “Advanced options
- Scroll down to network and edit the line as needed.
- –bootproto=static –ip=10.2.10.13 –netmask=255.255.255.0 –gateway=10.2.10.254 –hostname=server1.nicktailor.com –nameserver=10.20.0.17.
Note: You need to do this if you want the server provisioned with ip and hostname post install.
- Scroll down and click update for settings to take effect.
- Next click on System Details and then Paritioning.
- Edit the partitions to the specification required. You in most cases wont need to update this will be a standard template. However for the purposes of documentation its here.
Example of standard partition scheme
part /boot –fstype=ext4 –size=500
part pv.local –size=1000 –grow
volgroup vg_local pv.local
logvol / –fstype ext4 –name=root –vgname=vg_local –size=2048
logvol swap –fstype swap –name=swap –vgname=vg_local –recommended
logvol /tmp –fstype ext4 –name=tmp –vgname=vg_local –size=1024
logvol /usr –fstype ext4 –name=usr –vgname=vg_local –size=4096
logvol /home –fstype ext4 –name=home –vgname=vg_local –size=2048
logvol /var –fstype ext4 –name=var –vgname=vg_local –size=4096 –grow
logvol /var/log –fstype ext4 –name=log –vgname=vg_local –size=2048 –grow
logvol /var/log/audit –fstype ext4 –name=audit –vgname=vg_local –size 1024
logvol /opt –fstype ext4 –name=opt –vgname=vg_local –size=4096 –grow
- Once you have the desired setting, select “Update Paritions”
4. Next Select Software
5. You can add or remove any necessary or un-necessary packages.
By using the (-) before the package name it will remove it from the base install. If you simply type in the package name it will ensure its added to the base install.
The packages indicated below are an example of how you
@ Base
@X Window System
@Desktop
@fonts
python-dmidecode
python-ethtool
rhn-check
rhn-client-tools
rhn-setup
rhncfg-actions
rhncfg-client
yum-rhn-plugin
sssd
6. Select update packages once you have chosen your base packages
7. Now boot up the vm, once your cd/image is booted you should see a grub line, before it boots into the install, follow the steps below.
8. At the grub line issue the following command. (Update the ip according to above step as needed. If you are using DHCP then you just need the url without the additional parameters.
linux ks=http://satellite.nicktailor.com/ks/cfg/org/5/label/Kickstartname ip=10.0.12.99 netmask=255.255.255.0 gateway=10.0.12.254 nameserver=10.20.0.17
9. Your VM at this point should go through without any user interaction and install and reboot with a functional OS.
Note: Since you have kickstarted your server using satellite, it will automatically be registered to satellite server, saving you the hassel of doing it after the fact.
How to Upgrade and Downgrade Packages with RHN Satellite 5.0
RHN Satellite Package upgrade and downgrade processes
Listing packages installed or available for upgrading on a host.
- Click on systems
- Next click on the target hostname
- Now click on the software tab
- · If you click on list/remove Installed packages this will show you the current listed packages for the target host, you can also search by the specific package in the search field above the listed packages
- · If you click on upgrade packages, this will only list the current available packages the host system is currently subscribed to.
Note: just because you don’t see newer packages available does not mean they are not out there.
Package Search on all available channels
- There are two ways you can do this
- Method 1 – Click on Channels at the very top, then package search, next type in the package name
- · Once you have found the package, click on the package name, and it will take you to a details screen, on that screen it will have available from: in that section it will list out the channels that are subscribed to satellite that have the package you are looking for available from.
- Method 2 – This is the way I like to do it – Click on systems, then software tab, and then install new packages
- · Next search for the package you wish to install, this will the latest available package from all channels available, and if you click on the package it will show the available channels for that specified package.
Upgrading packages
- Click on systems, select the host, then software tab, and then upgrade
- Search for the packages you wish to upgrade and select them by checking the box to to the left of it
Note: if you are going to do select all, I would recommend against this, as if you select this button, even its not listed on the page it will literally select all the packages available. So select them individually is the way to go.
- Once completed check boxing scroll down to the bottom right and select upgrade packages, it will go to another confirmation screen, click on confirm.
- This will then be queued.
- If you click on Events, you should see it there and shortly within 5 min window it should disappear, if it does not then something is wrong, and you need to get a hold of satellite admin to investigate.
Downgrading packages
- Click on systems, select the host, then software tab, and then profiles
- Select the stored profile of the date/time that Under “Compare to Stored Profile” and hit compare.
- You should see a list of packages that it is now going to synch back to, select sync package bottom right.
- You should see it go the events page, after about 5 mins it should no longer be listed in events, which means the server picked up the process and should begin downgrading shortly.
How to patch using RHN Satellite 5.0
Create a roll back tag
Troubleshooting Guide
Errata does not appear to be counting down in systems group
type cat
If it isn’t set, the Satellite will try to use the local repos, and not the channels on the Satellite server
Trying 10.20.0.8…
Connected to kam1opapp99.connex.bclc.com.
Escape character is ‘^]’.
[root@kam1odapp19<dev>:~]# mount
/dev/mapper/vg_local-root on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/mapper/vg_local-usr on /usr type ext3 (rw,nodev)
/dev/mapper/vg_local-tmp on /tmp type ext3 (rw,noexec,nosuid,nodev)
/dev/mapper/vg_local-home on /home type ext3 (rw,nodev)
(this mean you the partition is read only and yum can not write updates to the /usr directory)
• If this still fails then escalate to a Senior Linux System Administrator..hahaha, JUST JOKES 😛
(result will look something like this)
[Linux-bzImage, setup=0x1400, size=0x15f464]
(Result –should look like below)
Checking if “/boot/grub/stage1” exists… yes
Checking if “/boot/grub/stage2” exists… yes
Checking if “/boot/grub/e2fs_stage1_5” exists… yes
Running “embed /boot/grub/e2fs_stage1_5 (hd0)”… failed (this is not fatal)
Running “embed /boot/grub/e2fs_stage1_5 (hd0,2)”… failed (this is not fatal)
Running “install /boot/grub/stage1 (hd0) /boot/grub/stage2 p /boot/grub/menu.lst “… succeeded
HAHAH…JUST JOKES 😛
Give root password for maintenance (or type Control-D to continue)
kernel /vmlinuz-2.6.18-348.12.1.el5PAE ro root=LABEL=/
kernel /vmlinuz-2.6.18-348.12.1.el5PAE ro root=LABEL=/ init=/bin/sh
RHN Satellite Package upgrade and downgrade processes
Listing packages installed or available for upgrading on a host.
Note: just because you don’t see newer packages available does not mean they are not out there.
Package Search on all available channels
Upgrading packages
Note: if you are going to do select all, I would recommend against this, as if you select this button, even its not listed on the page it will literally select all the packages available. So select them individually is the way to go.
Downgrading packages