Archief op 28 mei 2015

iPhone reboot door geprepareerd SMS bericht

Het lijkt er op alsof Apple een probleem heeft. Als iemand een SMS bericht stuurt aan een iPhone gebruiker dan zal de iPhone spontaan rebooten.

dodgy_unicode

De inhoud van het bericht bevat arabische tekens maar dat is volgens The Register niet de oorzaak van het probleem. Het probleem zit 'm in de codes van de tekens die een geheugenprobleem veroorzaakt en de berichtenapp doet crashen met een reboot tot gevolg. De iPhone reboot maar zal dan weer rebooten omdat de melding van het ontvangen en nog niet gelezen SMS bericht wederom een reboot veroorzaakt.

De oplossing is eenvoudig, laat iemand een 'normaal' SMS bericht versturen en je kan weer van je iPhone gebruik maken.

Storing AMS-IX legt internet even plat

Door een storing bij het landelijke internetknooppunt AMS-IX ondervond Nederland rond de middag problemen met internet. PIN betalingen gaven storingen, het opvragen van website ging traag, helemaal niet of gaven foutmeldingen tijdens het laden.

De oorzaak van de storing was een engineer die een netwerkonderdeel in onderhoud had en een fout maakte, hieronder de verklaring van de AMS-IX zelf en in het plaatje is duidelijk de dip te zien.

16all

Verklaring AMS-iX:

Today Wednesday 13/05/2015 at 12:20 UTC+2 an installation engineer working on the PE under maintenance in EQUINIX AM3, while testing one of the newly installed 100GE modules, accidentally placed a loop on the ISP peering VLAN.

DETAILS:

The loop caused a high CPU on all backbone and customer modules resulting in many BGP sessions dropping.
The incident lasted 10 minutes.
BGP sessions are restoring.

Satellite 6 en Puppet

Enkele beperkingen

Wat niet ondersteund wordt:

  • Dynamic scoping
  • Gebruik van node definities binnen een scope
  • Beperkt gebruik van Hiera functies binnen manifests

Smart parameters

Hier een voorbeeld van het gebruik van smart parameters met de NTP class

  • Login op Satellite
  • Klik op Configure -> Puppet classes
  • Klik op de NTP class
  • Klik op de Smart Class Parameter tab
  • Scroll naar beneden en zet vinkje aan bij package ensure
  • Zet vinkje aan bij Override en zet Parameter Type op Default Value
  • Scroll naar beneden en klik op servers
  • Zef vinkje bij Override en zet Parameter Type op Array
  • In Default Value zet je de tijdservers in een komma gescheiden regel: [“ntp1.mijndomein.nl”,”ntp2.mijndomein.nl”]
  • Scroll naar beneden naar service enable en klik deze aan
  • Zet een vinkje bij Override en veranderd Parameter Type naar Boolean
  • Geef True als default value
  • Scoll naar beneden en klik op Submit
  • Browse naar Hosts -> All Hosts
  • Klik op de server en kies voor Edit
  • Klik op Puppet Classes en kies voor Submit

Na verloop van tijd kan je op de betreffende servers of servergroup de /etc/ntp.conf bekijken of deze de parameters hebben meegekregen of controleer de logfile.

Nieuwe server uitrollen met Satellite 6

Voor het uitrollen van een nieuwe server middels hammer zijn een aantal parameters nodig:

  • environment-id
  • architecture-id
  • domain-id
  • operatingsystem-id
  • partition-table-id

Er dient al een hostgroup aangemaakt te zijn, dat kan via hammer of de WebGUI. Exporteer de benodige settings, voorbeeld:


    export ORG_NAME=Datacenter
    export ORG_LOCATION=Amsterdam
    export ORG_ID=$(hammer --csv organization list --search "${ORG_NAME}"| awk -F, 'FNR == 2 {print $1}')
    export LOCATION_ID=$(hammer --csv location list --search "${ORG_LOCATION}" | awk -F, 'FNR == 2 {print $1}')

    export HOSTGROUP_NAME='rhel-6-x86_64-test'
    export HOSTGROUP_ID=$(hammer --csv hostgroup list --search "name = \"${HOSTGROUP_NAME}\""| awk -F, 'NR==2 {print $1}')

    export DOMAIN_NAME='example.com'
    export HOST_SHORTNAME="test-103"
    export HOST_FQDN="${HOST_SHORTNAME}.${DOMAIN_NAME}"
    export HOST_MAC='52:55:00:54:0b:e1'
    export ROOT_PWD='12345678FOOD'

Nu dit gebeurd is kan hammer worden aangeroepen om de host aan te maken:

     hammer host create --ask-root-password false --build false --hostgroup-id ${HOSTGROUP_ID} --mac ${HOST_MAC} --name "${HOST_SHORTNAME}" --root-password ${ROOT_PWD}

Als de host aangemaakt is moet deze nog gekoppeld worden aan een organistatie en locatie (organization en location). Deze info kunnen we niet via hammer opvragen en gebruiken hier de API voor:

     export HOST_ID=$(hammer host list | grep "${HOST_SHORTNAME}" | awk '{print $1}')

     json_file=$(mktemp)
     cat > ${json_file} <<EOF
     {"organization_id":"$ORG_ID","location_id":"$LOCATION_ID"}
     EOF

     curl -X PUT -k -u admin:securepassword -H 'Content-Type: application/json' -d @${json_file} https://localhost/api/hosts/${HOST_ID}