<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://infocepo.com/wiki/index.php?action=history&amp;feed=atom&amp;title=SATELLITE6</id>
	<title>SATELLITE6 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://infocepo.com/wiki/index.php?action=history&amp;feed=atom&amp;title=SATELLITE6"/>
	<link rel="alternate" type="text/html" href="https://infocepo.com/wiki/index.php?title=SATELLITE6&amp;action=history"/>
	<updated>2026-05-04T22:43:07Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.13</generator>
	<entry>
		<id>https://infocepo.com/wiki/index.php?title=SATELLITE6&amp;diff=1136&amp;oldid=prev</id>
		<title>Tcepo: Created page with &quot;&lt;syntaxhighlight lang=&quot;bash&quot;&gt;  == infra update == Comment mettre à jour l infra Linux? * Nettoyer les SNAP === ${SERVER_NAME} === * Vérifier le planning et suivre la checkli...&quot;</title>
		<link rel="alternate" type="text/html" href="https://infocepo.com/wiki/index.php?title=SATELLITE6&amp;diff=1136&amp;oldid=prev"/>
		<updated>2022-11-30T11:37:16Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;  == infra update == Comment mettre à jour l infra Linux? * Nettoyer les SNAP === ${SERVER_NAME} === * Vérifier le planning et suivre la checkli...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== infra update ==&lt;br /&gt;
Comment mettre à jour l infra Linux?&lt;br /&gt;
* Nettoyer les SNAP&lt;br /&gt;
=== ${SERVER_NAME} ===&lt;br /&gt;
* Vérifier le planning et suivre la checklist Z:\system\update-checklist.xls&lt;br /&gt;
* Choisir l environnement à mettre à jour :&lt;br /&gt;
&lt;br /&gt;
 ssh.sh ${SERVER_NAME}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Library Dev Rec Pre Prd&lt;br /&gt;
envName=Prd&lt;br /&gt;
&lt;br /&gt;
org_name=${COMPANY_NAME}&lt;br /&gt;
&lt;br /&gt;
# init&lt;br /&gt;
envArray=(Library Dev Rec Pre Prd)&lt;br /&gt;
&lt;br /&gt;
# Clean and Publish new content if Library&lt;br /&gt;
if [ &amp;quot;${envName}&amp;quot; == &amp;quot;Library&amp;quot; ] ;then&lt;br /&gt;
  # Clean content views&lt;br /&gt;
  for contentView in $(hammer --csv content-view version list |grep -E ',\&amp;quot;\&amp;quot;$' |cut -d&amp;quot;,&amp;quot; -f1) ;do&lt;br /&gt;
    hammer content-view version delete --id $contentView&lt;br /&gt;
  done&lt;br /&gt;
  for contentView in $(hammer --csv content-view version list |grep -E ',\&amp;quot;\&amp;quot;$' |cut -d&amp;quot;,&amp;quot; -f1) ;do&lt;br /&gt;
    hammer content-view version delete --id $contentView&lt;br /&gt;
  done&lt;br /&gt;
  # End clean&lt;br /&gt;
  for contentView in $(hammer --csv content-view list |tail -n +2 |cut -d&amp;quot;,&amp;quot; -f1) ;do&lt;br /&gt;
    hammer content-view publish \&lt;br /&gt;
      --id $contentView \&lt;br /&gt;
      --organization $org_name&lt;br /&gt;
  done&lt;br /&gt;
else&lt;br /&gt;
  envNamePrevious=${envArray[0]}&lt;br /&gt;
  for t in ${envArray[@]}; do&lt;br /&gt;
    [ &amp;quot;$t&amp;quot; == &amp;quot;$envName&amp;quot; ] &amp;amp;&amp;amp;break&lt;br /&gt;
    export envNamePrevious=$t&lt;br /&gt;
  done&lt;br /&gt;
  # Refresh/promote Env&lt;br /&gt;
  for contentView in $(hammer --csv content-view version list |tail -n +2 |grep -w &amp;quot;$envNamePrevious&amp;quot; |cut -d&amp;quot;,&amp;quot; -f1) ;do&lt;br /&gt;
    hammer content-view version promote \&lt;br /&gt;
     --id $contentView \&lt;br /&gt;
     --organization $org_name \&lt;br /&gt;
     --to-lifecycle-environment $envName&lt;br /&gt;
  done&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== yum check ===&lt;br /&gt;
* Déterminer les serveurs à maintenir via le serveur Ansible (réponse lente ! ):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh.sh intrasys 'timeout 60 yum check-update 2&amp;gt;&amp;amp;1 &amp;gt;/dev/null ;yumTest=$?&lt;br /&gt;
if [ $yumTest -eq 100 ] ;then resultMy=&amp;quot;update&amp;quot; ;elif [ $yumTest -ne 0 ] ;then&lt;br /&gt;
  resultMy=&amp;quot;register&amp;quot; ;else needs-restarting -r 2&amp;gt;&amp;amp;1 &amp;gt;/dev/null ;[ $? -eq 1 ] &amp;amp;&amp;amp;resultMy=&amp;quot;reboot&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
echo -e &amp;quot;$(hostname -s)\t${resultMy}&amp;quot;' |sort -k2r |grep -Ew &amp;quot;update|register|reboot&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Déterminer les configurations à mettre à jour&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
comm.sh intrasys 'find /etc -type f -name &amp;quot;*.rpmnew&amp;quot;' |sed 's#.rpmnew$##' |while read lineMy ;do&lt;br /&gt;
  echo &amp;quot;=== ${lineMy}.rpmnew ===&amp;quot;&lt;br /&gt;
  comm.sh intrasys 'diff &amp;quot;'${lineMy}.rpmnew'&amp;quot; &amp;quot;'${lineMy}'&amp;quot;'&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== old ====&lt;br /&gt;
# ssh.sh &amp;quot;${hostList}&amp;quot; 'subscription-manager refresh ;yum clean all ;rm -rf /var/cache/yum '  2&amp;gt;&amp;amp;1 &amp;gt;/dev/null&lt;br /&gt;
# ssh.sh &amp;quot;${hostList}&amp;quot; 'yum history sync'  2&amp;gt;&amp;amp;1 &amp;gt;/dev/null&lt;br /&gt;
# hostList=&amp;quot;$(hostList.sh all $(hostList.sh intrasys |grep -v kvm |grep -E '^tsvl.*(p|p-mgt)$' ) |grep -v kvm )&amp;quot;&lt;br /&gt;
 #package-cleanup --cleandupes&lt;br /&gt;
* Maintenance des packages :&lt;br /&gt;
 ssh.sh all 'package-cleanup --cleandupes'&lt;br /&gt;
 ssh.sh all 'yum autoremove'&lt;br /&gt;
* fix kvm tools&lt;br /&gt;
 ssh.sh kvm 'subscription-manager repos --enable=rhel-7-server-rhv-4-tools-rpms'&lt;br /&gt;
=== sat6 register ===&lt;br /&gt;
 #products list #yum list installed |sed -rn 's#^.*@(.*)$#\1#p' |sort -u&lt;br /&gt;
 #repos list&lt;br /&gt;
 #subcription needed ? buy&lt;br /&gt;
 #enable repos&lt;br /&gt;
 #//create repos&lt;br /&gt;
 #sync&lt;br /&gt;
 #//add autosync&lt;br /&gt;
 #create content view&lt;br /&gt;
 #  add repos&lt;br /&gt;
 #create key&lt;br /&gt;
 #  add product&lt;br /&gt;
 #content view&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# kvm&lt;br /&gt;
appCode=kvm&lt;br /&gt;
# dev rec pre prd&lt;br /&gt;
envCode=dev&lt;br /&gt;
&lt;br /&gt;
releaseV=$(cat /etc/redhat-release |sed -rn 's#^.*release ([0-9]+).*$#\1#p' )&lt;br /&gt;
activationKey=ak_rhel${releaseV}$([ ! -z &amp;quot;${envCode}&amp;quot; ] &amp;amp;&amp;amp;echo &amp;quot;_${envCode}&amp;quot; )$([ ! -z &amp;quot;${appCode}&amp;quot; ] &amp;amp;&amp;amp;echo &amp;quot;_${appCode}&amp;quot; )&lt;br /&gt;
subscription-manager register --org=&amp;quot;${COMPANY_NAME}&amp;quot; --activationkey=&amp;quot;${activationKey}&amp;quot; --force&lt;br /&gt;
&lt;br /&gt;
# clean SAT6 registration&lt;br /&gt;
timeout --signal=9 16 subscription-manager unsubscribe --all&lt;br /&gt;
timeout --signal=9 16 subscription-manager unregister&lt;br /&gt;
# clean KATELLO service&lt;br /&gt;
(systemctl disable goferd 2&amp;gt;/dev/null ||chkconfig goferd off )&amp;lt;/dev/null&lt;br /&gt;
(systemctl stop goferd 2&amp;gt;/dev/null ||service goferd stop )&amp;lt;/dev/null&lt;br /&gt;
yum remove katello* gofer* -y&lt;br /&gt;
yum autoremove -y&lt;br /&gt;
# clean old registration&lt;br /&gt;
timeout --signal=9 16 subscription-manager unregister 2&amp;gt;/dev/null&lt;br /&gt;
sleep 4&lt;br /&gt;
subscription-manager clean&lt;br /&gt;
# clean YUM&lt;br /&gt;
yum clean all&lt;br /&gt;
rm -rf /var/cache/yum&lt;br /&gt;
# configure YUM&lt;br /&gt;
curl --insecure --output katello-ca-consumer-latest.noarch.rpm https://${SERVER_NAME}.csf.${COMPANY_NAME}.fr/pub/katello-ca-consumer-latest.noarch.rpm&lt;br /&gt;
yum localinstall katello-ca-consumer-latest.noarch.rpm -y&lt;br /&gt;
rm -f katello-ca-consumer-latest.noarch.rpm&lt;br /&gt;
#rpm --force -ivh https://${SERVER_NAME}.csf.${COMPANY_NAME}.fr/pub/katello-ca-consumer-latest.noarch.rpm&lt;br /&gt;
subscription-manager register --org=&amp;quot;${COMPANY_NAME}&amp;quot; --activationkey=&amp;quot;${activationKey}&amp;quot; --force&lt;br /&gt;
#sleep 4&lt;br /&gt;
# check&lt;br /&gt;
subscription-manager repos --enable=*&lt;br /&gt;
subscription-manager repos |grep -E &amp;quot;^Enabled:.*1&amp;quot; |wc -l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== yum update ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
hostList=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
update_func() {&lt;br /&gt;
  # save status&lt;br /&gt;
  cat &amp;lt;&amp;lt;EOT &amp;gt;/tmp/script$$.sh&lt;br /&gt;
(who -b ;uname -r ;(systemctl list-unit-files 2&amp;gt;/dev/null |sort -u ;chkconfig --list 2&amp;gt;/dev/null |sort -u ) |grep -Ev &amp;quot;^session-|^user-&amp;quot; |grep -Ew &amp;quot;enabled|on&amp;quot; |sed -rn &amp;quot;s#^[[:space:]]*([[:graph:]]+)[[:space:]].*\\\$#\1#p&amp;quot; |sed -r &amp;quot;s#(\.service|\.target|\.socket)##g&amp;quot; ) 2&amp;gt;/dev/null &amp;gt;/tmp/update.service.old.\$(date '+%Y%m%d')&lt;br /&gt;
mv -n /tmp/update.service.old.\$(date '+%Y%m%d') /root/update.service.old.\$(date '+%Y%m%d')&lt;br /&gt;
wc -l /root/update.service.old.\$(date '+%Y%m%d')&lt;br /&gt;
EOT&lt;br /&gt;
  script.sh &amp;quot;${hostList}&amp;quot; /tmp/script$$.sh&lt;br /&gt;
&lt;br /&gt;
  # enable all repos&lt;br /&gt;
  ssh.sh &amp;quot;${hostList}&amp;quot; 'subscription-manager repos --enable=* 2&amp;gt;/dev/null '&lt;br /&gt;
&lt;br /&gt;
  # enable all repos&lt;br /&gt;
  ssh.sh &amp;quot;${hostList}&amp;quot; 'yum clean all'&lt;br /&gt;
  &lt;br /&gt;
  # snap and standby&lt;br /&gt;
  &amp;gt;/tmp/hostList2-$$&lt;br /&gt;
  &amp;gt;/tmp/hostList3-$$&lt;br /&gt;
  hostList.sh &amp;quot;${hostList}&amp;quot; |grep . |while read hostName ;do&lt;br /&gt;
    testCluster=$(ssh.sh &amp;quot;${hostName}&amp;quot; 'pcs status 2&amp;gt;/dev/null' )&lt;br /&gt;
    if [ ! -z &amp;quot;${testCluster}&amp;quot; ] ;then&lt;br /&gt;
      echo &amp;quot;${testCluster}&amp;quot; |grep -iw standby &amp;amp;&amp;amp;(echo &amp;quot;${testCluster}&amp;quot; |grep -iw online |grep -w &amp;quot;${hostName}&amp;quot; &amp;amp;&amp;amp;echo &amp;quot;${hostName}&amp;quot; &amp;gt;&amp;gt;/tmp/hostList2-$$) ||(ssh.sh &amp;quot;${hostName}&amp;quot; 'sudo pcs node standby ;subscription-manager repos --disable=${COMPANY_NAME}_hp-spp_hp-spp-7Server 2&amp;gt;/dev/null ' ;echo &amp;quot;${hostName}&amp;quot; &amp;gt;&amp;gt;/tmp/hostList3-$$ )&lt;br /&gt;
    else&lt;br /&gt;
	  echo &amp;quot;null snap&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
  done&lt;br /&gt;
  hostList1=$(hostList.sh &amp;quot;${hostList}&amp;quot; |grep -vxf /tmp/hostList2-$$ |shuf )&lt;br /&gt;
  hostList3=$(cat /tmp/hostList3-$$ |shuf )&lt;br /&gt;
&lt;br /&gt;
  role.sh &amp;quot;${hostList1}&amp;quot; update_server&lt;br /&gt;
&lt;br /&gt;
  if [ ! -z &amp;quot;${hostList3}&amp;quot; ] ;then&lt;br /&gt;
    ssh.sh &amp;quot;${hostList3}&amp;quot; 'subscription-manager repos --enable=* 2&amp;gt;/dev/null '&lt;br /&gt;
    role.sh &amp;quot;${hostList3}&amp;quot; update_server&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
  cat &amp;lt;&amp;lt;EOT &amp;gt;/tmp/script$$.sh&lt;br /&gt;
yum autoremove -y&lt;br /&gt;
yum clean all&lt;br /&gt;
EOT&lt;br /&gt;
  script.sh &amp;quot;${hostList1}&amp;quot; /tmp/script$$.sh&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;gt;/tmp/hostList2-$$&lt;br /&gt;
&lt;br /&gt;
update_func&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Reboot if needed :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
reboot_func() {&lt;br /&gt;
  cat &amp;lt;&amp;lt;EOT &amp;gt;/tmp/script$$.sh&lt;br /&gt;
yum install yum-utils -y&lt;br /&gt;
yum clean all&lt;br /&gt;
rm -rf /var/cache/yum&lt;br /&gt;
needs-restarting -r 2&amp;gt;&amp;amp;1 &amp;gt;/dev/null ; [ \$? -eq 1 ] &amp;amp;&amp;amp;(&lt;br /&gt;
shutdown -r now )&lt;br /&gt;
EOT&lt;br /&gt;
  script.sh &amp;quot;${hostList1}&amp;quot; /tmp/script$$.sh&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
status_check() {&lt;br /&gt;
  hostList.sh &amp;quot;${hostList1}&amp;quot; |grep . |while read hostName ;do&lt;br /&gt;
#    (ping -w1 -c 1 &amp;quot;${hostName}&amp;quot; 2&amp;gt;&amp;amp;1 &amp;gt;/dev/null &amp;amp;&amp;amp;echo &amp;quot;$hostName UP&amp;quot; ||echo &amp;quot;$hostName DOWN&amp;quot; )&amp;amp;&lt;br /&gt;
    if [[ ! -z &amp;quot;$(timeout --signal=9 2 ssh.sh &amp;quot;${hostName}&amp;quot; hostname 2&amp;gt;/dev/null )&amp;quot; ]] ;then&lt;br /&gt;
      echo &amp;quot;$hostName UP&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
      echo &amp;quot;$hostName DOWN&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
  done |sed 's#-.+##'&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
status_check_print() {&lt;br /&gt;
  statusNOK=&amp;quot;NOK&amp;quot;&lt;br /&gt;
  while [ ! -z &amp;quot;${statusNOK}&amp;quot; ] ;do&lt;br /&gt;
    statusNOK=$(status_check |grep -w DOWN )&lt;br /&gt;
    printf '%s\n' &amp;quot;$(clear; echo &amp;quot;${statusNOK}&amp;quot; )&amp;quot;&lt;br /&gt;
    sleep 2&lt;br /&gt;
  done&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;reboot&amp;quot;&lt;br /&gt;
reboot_func&lt;br /&gt;
cat /tmp/hostList2-$$ &amp;gt;/tmp/hostListCluster-$$&lt;br /&gt;
status_check_print&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Schedule cluster reboots :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
after_reboot() {&lt;br /&gt;
cat &amp;lt;&amp;lt;EOT &amp;gt;/tmp/script$$.sh&lt;br /&gt;
# (who -b ;uname -r ;systemctl ;chkconfig 2&amp;gt;/dev/null ) |sed -r &amp;quot;s#^[:space:]+##&amp;quot; &amp;gt;/root/update.service.new.\$(date '+%Y%m%d')&lt;br /&gt;
(who -b ;uname -r ;(systemctl list-unit-files 2&amp;gt;/dev/null |sort -u ;chkconfig --list 2&amp;gt;/dev/null |sort -u ) |grep -Ev &amp;quot;^session-|^user-&amp;quot; |grep -Ew &amp;quot;enabled|on&amp;quot; |sed -rn &amp;quot;s#^[[:space:]]*([[:graph:]]+)[[:space:]].*\\\$#\1#p&amp;quot; |sed -r &amp;quot;s#(\.service|\.target|\.socket)##g&amp;quot; ) 2&amp;gt;/dev/null &amp;gt;/root/update.service.new.\$(date '+%Y%m%d')&lt;br /&gt;
(cat /root/update.service.new.\$(date '+%Y%m%d') ;echo &amp;quot;=== before ===&amp;quot; ;cat /root/update.service.old.\$(date '+%Y%m%d') ) &amp;gt;/tmp/update.check&lt;br /&gt;
awk 'NR == FNR {count[\$0]++; next}; count[\$0] == 1' /tmp/update.check /tmp/update.check&lt;br /&gt;
EOT&lt;br /&gt;
script.sh &amp;quot;${hostList1}&amp;quot; /tmp/script$$.sh&lt;br /&gt;
echo&lt;br /&gt;
echo &amp;quot;= Check app flow =&amp;quot;&lt;br /&gt;
appCheck.sh &amp;quot;${hostList1}&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
after_reboot&lt;br /&gt;
&lt;br /&gt;
hostList=$(cat /tmp/hostList2-$$ )&lt;br /&gt;
&amp;gt;/tmp/hostList2-$$&lt;br /&gt;
echo &amp;quot;${hostList}&amp;quot;&lt;br /&gt;
if [ ! -z &amp;quot;${hostList}&amp;quot; ] ;then&lt;br /&gt;
  ssh.sh &amp;quot;${hostList}&amp;quot; 'sudo pcs node unstandby --all'&lt;br /&gt;
  sleep 5&lt;br /&gt;
  update_func&lt;br /&gt;
  echo &amp;quot;reboot&amp;quot;&lt;br /&gt;
  sleep 3&lt;br /&gt;
  reboot_func&lt;br /&gt;
  status_check_print&lt;br /&gt;
else&lt;br /&gt;
  ssh.sh &amp;quot;$(cat /tmp/hostListCluster-$$ )&amp;quot; 'sudo pcs node unstandby --all ;sudo pcs resource relocate run'&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== debug port ===&lt;br /&gt;
 timeout --kill-after=20 20 curl ${SERVER_NAME}:443&lt;br /&gt;
=== test ===&lt;br /&gt;
 ansible all -m ping |grep UNREACHABLE&lt;br /&gt;
=== old ===&lt;br /&gt;
#subscription-manager repos --enable=${COMPANY_NAME}_hp-spp_hp-spp-7Server 2&amp;gt;/dev/null&lt;br /&gt;
# yum update kernel -y &amp;amp;&amp;amp;(&lt;br /&gt;
# yum update -y --skip-broken &amp;amp;&amp;amp;&lt;br /&gt;
# yum update -y)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tcepo</name></author>
	</entry>
</feed>