Barista als Service met vRealize Orchestrator

Gepubliceerd op 27 maart 2015 • 3 min leestijd • 615 woorden
Op donderdag 19 maart vond de NLVMUG UserCon 2015 plaats in het 1931 Congrescentrum in Den Bosch, Nederland. Erik vond het leuk om iets anders te…

Op donderdag 19 maart vond de NLVMUG UserCon 2015 plaats in het 1931 Congrescentrum in Den Bosch, Nederland. Erik vond het leuk om iets anders te doen met vRealize Orchestrator als showcase, aangezien hij presenteerde op de NLVMUG samen met Martijn Baecke.

Ingrediënten:

  • Raspberry Pi .
  • soldeerbout.
  • relaisbord met vier relais.
  • Twitter functionerend als een servicebus.
  • een aantal geweldige Python-skills.
  • een koffiemachine, in dit geval de Philips Senseo Sarista .
  • en natuurlijk wat langzaam geroosterde koffie, Mocca d’Or .

Barista als een Service (BaaS)  

Wat wil je hebben als je aan een server moet werken? Ja, dat klopt: Koffie. En veel ook.

Het idee van Koffie als een Service is niet nieuw. Rob Shaw publiceerde een artikel in januari 2015 waarin hij een Arduino combineerde met vRealize Orchestrator.

Onze Koffie als een Service, of liever gezegd Barista als een Service (BaaS), is gebaseerd op een vRealize Orchestrator-workflow en een Raspberry Pi. Wanneer een host in onderhoudsmodus wordt gezet, geeft het de Senseo Sarista het commando om één of twee kopjes koffie te zetten. Dit wordt bereikt door een REST API te gebruiken om berichten naar Twitter te sturen, waardoor Twitter effectief als een soort servicebus werkt. De Raspberry Pi leest vervolgens het Twitter-account en activeert een schakelaar op de Senseo Sarista via het relaisbord.

De opzet  

In een eerder artikel introduceerde Erik ons in zijn nieuwe thuislab, dat vier VMware-nodes heeft. Het cluster bevat vCenter, vRealize Orchestrator en een aantal algemene virtuele servers en desktops.

De opzet bestaat uit vier Shuttle DS81’s met de volgende configuratie.

  • Shuttle DS81
  • Intel Core i3-4160, 3.6GHz, LGA1150
  • HGST Travelstar 7K1000 1TB, 2,5 inch, SATA600, 7.200rpm
  • SanDisk X110 128GB SSD mSATA
  • Kingston ValueRAM, 16GB DDR3 (2 x 8GB) SODIMM, 1.600MHz
  • SanDisk Standard 8GB SD-kaart, klasse 2, SDHC

Twitter als een berichtenbus  

Omdat we de hele labopstelling niet naar Den Bosch wilden verplaatsen, gebruikte vRealize Orchestrator Twitter als een berichtenbus om het signaal vanuit de thuisopstelling naar de koffiemachine op de NLVMUG te sturen. Om dit te bereiken, gebruikt de workflow de REST API om specifieke berichten op Twitter te plaatsen met specifieke hashtags.

De Python-code op de Raspberry Pi leest de berichten van Twitter en schakelt de relais die de Senseo bedienen.


python
api = tweepy.API(auth)
class listener(StreamListener):

    def on_data(self, data):
        jsonData=json.loads(data)
        text=jsonData['text']
        text2=jsonData['entities']['hashtags']
        for hashtag in text2:
             text2=hashtag['text']
             if text2=="alarmon":
                switchaction (9,"on")
             if text2=="coffee1":
                GPIO.output(7, GPIO.HIGH)
                time.sleep (1)
                GPIO.output(7, GPIO.LOW)
             if text2=="coffee2":
                GPIO.output(11, GPIO.HIGH)
                time.sleep (1)
                GPIO.output(11, GPIO.LOW)
        return True

    def on_error(self, status):
        print status

twitterStream = Stream(auth, listener())
twitterStream.filter(track=["coffee1","coffee2","coffeepower","alarmon","alarmoff","coffeehelp"], async=True)

Het eindresultaat  

 

Andere dingen die je kunt doen  

Natuurlijk kun je ook andere dingen doen. We hadden één ongebruikte verbinding op het relaisbord, wat natuurlijk zonde zou zijn om te verspillen ;-). In het onderstaande voorbeeld wordt een alarm geactiveerd wanneer een VM meer dan 90% CPU-belasting genereert. Dit alarm activeert het alarmlicht.

Misschien is dit wel VMware’s best bewaarde geheim, maar het zit al in je gereedschapskist, omdat het beschikbaar is bij elke VMware vCenter Server. Deze demo toont aan dat je meer kunt doen dan interactie in de VMware-omgeving. Je kunt veel meer doen, bijvoorbeeld:

  • Wanneer een host wordt uitgeschakeld of uitgezet, wordt het elektronische slot van het 19" rack geopend.
  • Wanneer een harde schijf kapot gaat, de naam van de technicus indienen bij de toegestane lijst om het datacenter binnen te mogen.
  • Een nieuw Active Directory-account aanmaken wanneer een VM wordt gecreëerd.

De mogelijkheden zijn eindeloos, en dat voor een product dat je al bezit. Laat ons in de reacties hieronder weten wat je doet met vRealize Orchestrator.

Zie ook

    Follow me