Skip to content. | Skip to navigation

Personal tools
Log in
Sections
You are here: Home

jorgenmodin.net - Blog

How to loop over hosts data from a Yaml file in Ansible

Posted by admin |

I had an inventory file in this format in Yaml:

cluster:
  hosts:
    192.168.0.79:
      name: node1
    192.168.0.86:
      name: node2

 

And I want to loop over the names of all hosts when processing each host.

This seems to work in the playbook:

- hosts: cluster
  tasks:
  - debug:
      msg: "Computer is {{ hostvars[item]['name'] }}"
    with_items: "{{ groups['cluster'] }}"

This threw me a bit, albeit I am new to Ansible. It seems to me that the Yaml structure in the inventory file implies that there is a one key dictionary (to use python lingo, which is appropriate I believe for Ansible). So something like this:

{'cluster':
    {'hosts':
        {'192.168.0.79':
            {'name':'node1'},
         '192.168.0.86':
            {'name':'node2'}
        }
    }
}

However looking at the working code in the playbook, first it seems to be wrapped in a magical key "groups" (maybe this is standard for inventory files, I don't know), then you get the next magical variable "item" which points to the key of the dictionary under "hosts" which means we have somehow jumped past "hosts". Ok, so can I get deeper into the data with item? Nope, that's it. But wait, maybe it is treated as a name space so I can just write {{name}}? Yay it works! No, wait that is the wrong name. It is the name of the host I am configuring.

 

May 03, 2017 06:40

Nikola - a blog generator which site gives a favorable impression

Posted by admin |

Now how's that for depth in research :)

 

Static Site Generator | Nikola

May 02, 2017 11:05

Kompressionskläder för sport - en recension för social dans

Posted by admin |

Plagg som testats.

Användning

När jag dansar latinsk dans kan det bli väldigt varmt och svettigt, och man kan lokalt bli väldigt kall när man försöker svalka sig. Kompressionsplagg förbättrar cirkulationen nära huden och idén var att testa om kompressionskläder kan hjälpa mot lokal avkylning, samtidigt som de fortfarande håller en torr och sval.

Slutsats

Kompressionskläder fungerar, men vissa syntetmaterial såsom nylon suger åt sig vatten.

Detaljer

Jag har inte kunnat undgå att folk nu springer och går omkring i tights. Jag har motstått frestelsen av flera skäl, men insåg tidigare i veckan att kompressionskläder kan hjälpa mot lokal avkylning efter svettiga danser. Idealt sett ska de kläder man har på sig vara så fuktgenomsläppliga att man alltid håller sig torr och sval. I praktiken så blir man svettig och när man sedan kyler av sig så kan man lokalt bli väldigt kall, samtidgt som man fortfarande som helhet behöver mer avkylning.

Kanske kan kompressionskläder hålla uppe cirkulationen i dessa kalla delar? Då slipper man känna sig kall, samtidigt som man förbättrar kylningen av kroppen, genom att transportera varmt blod nära huden.

Kompressionshorts från Nike: "Cool Comp 6 Short" (90% polyester, 10% elastan). Dessa fungerar riktigt bra, och är hyfsat fuktgenomsläppliga. De kostar ungefär 200:-

Kompressions t-shirt från Under Armour "Zona" är en dyrare produkt, och jag valde att gå upp lite i pris för denna eftersom det var den kompressionströja jag såg minst löjlig ut i. Denna tröja innehåller mycket elastan (vilket jag antar drar upp priset) och har en ganska hög kompression, i alla fall jämfört med shortsen.

Efftekten under dansen  av tröjan var inte så väldigt bra: Den förhindrar visserligen lokal kyla med hjälp av kompressionen men den känns blöt och den tar tid att torka. Jag insåg varför, när jag efteråt noterade att den var gjord i nylon. Nylon är en stark och bra fiber, men den drar åt sig fukt, den är hydrofil. På Under Armour:s sida står det att det är polyester, inte nylon, men i lappen i själva tröjan står det nylon. Go figure. Jag är faktiskt inte säker på vad den är gjord av, längre.

Dagen efter var däremot effekten från tröjan bra, fast jag inte längre bar den. Det verkar som att kompression fungerar som en slags massage och ryggen kändes varm och med god blodcirkulation.

Min gissning är att ju mer elastan ett plagg innehåller, desto mer elastiskt blir det. Elastan är gissningsvis också dyrare än polyester eller nylon, så plagg med mycket elastan blir också dyrare. Vissa kompressionsplagg verkar gjorda för att användas under själva träningen och andra för att ha på sig efteråt.

Apr 30, 2017 05:40

Metalsmith - a blog site and general site generator

Posted by admin |

...that uses pipelines. I like pipelines. Metalsmith is in Node.js. But I also like Plone. And Plone has built-in commenting, that works ok.

 

Metalsmith

Apr 29, 2017 01:13

Initial ideas on how to get sshd into a Ubuntu server install

Posted by admin |

To add packages for the installation, add a %package section to the ks.cfg kickstart file, append to the end of ks.cfg file something like this.

%packages
@ ubuntu-server
openssh-server
ftp
build-essential

The above is from:

system installation - How do I create a completely unattended install of Ubuntu? - Ask Ubuntu

A skeleton kickstart file looks like this:

#
#Generic Kickstart template for Ubuntu
#Platform: x86 and x86-64
#

#System language
lang en_US

#Language modules to install
langsupport en_US

#System keyboard
keyboard us

#System mouse
mouse

#System timezone
timezone America/New_York

#Root password
rootpw --disabled

#Initial user (user with sudo capabilities) 
user ubuntu --fullname "Ubuntu User" --password root4me2

#Reboot after installation
reboot

#Use text mode install
text

#Install OS instead of upgrade
install

#Installation media
cdrom
#nfs --server=server.com --dir=/path/to/ubuntu/

#System bootloader configuration
bootloader --location=mbr 

#Clear the Master Boot Record
zerombr yes

#Partition clearing information
clearpart --all --initlabel 

#Basic disk partition
part / --fstype ext4 --size 1 --grow --asprimary 
part swap --size 1024 
part /boot --fstype ext4 --size 256 --asprimary 

#Advanced partition
#part /boot --fstype=ext4 --size=500 --asprimary
#part pv.aQcByA-UM0N-siuB-Y96L-rmd3-n6vz-NMo8Vr --grow --size=1
#volgroup vg_mygroup --pesize=4096 pv.aQcByA-UM0N-siuB-Y96L-rmd3-n6vz-NMo8Vr
#logvol / --fstype=ext4 --name=lv_root --vgname=vg_mygroup --grow --size=10240 --maxsize=20480
#logvol swap --name=lv_swap --vgname=vg_mygroup --grow --size=1024 --maxsize=8192

#System authorization infomation
auth  --useshadow  --enablemd5 

#Network information
network --bootproto=dhcp --device=eth0

#Firewall configuration
firewall --disabled --trust=eth0 --ssh 

#Do not configure the X Window System
skipx

Taken from here: 4.6. Automatic Installation

Apr 27, 2017 11:56

Enable mouse support in Emacs

Posted by admin |

Summary:

F10,  “Options” → “Customize Emacs” → “Options matching Regexp…”. Type mouse and Enter.

Go to “Xterm Mouse mode”.

Press Enter on “Show Value”. A “Toggle” button appears, press Enter on it. Then press Enter on the “State” box and choose  “1” for “Save for Future Sessions”

 

More complete info here: How can mouse support be enabled in terminal Emacs? - Unix & Linux Stack Exchange

 

 

 

Apr 26, 2017 08:18

sudo with no password on Ubuntu

Posted by admin |

In the /etc/sudoers file:

For a single user :

superuser ALL=(ALL) NOPASSWD:ALL

For a group :

%supergroup  ALL=(ALL) NOPASSWD:ALL

 

Apr 25, 2017 04:42

"File not found" on Linux could be trying to run 32 bit executable on 64 bit system or vice versa

Posted by admin |

The file is clearly there, you ls it, view it and everything. but when you try to run, it's reported as not being there. You could be on the wrong sub architecture like 64 bit when the execiutable is 32 or vice versa: perl - Getting "Not found" message when running a 32-bit binary on a 64-bit system - Unix & Linux Stack Exchange

 

In my case it seemed to be running a 64 bit executable on a system that had a bit of an identity crisis as to what it were, byte-wise.

Apr 21, 2017 05:55

Powering a 2-pole 3.5mm (1/8") connected electret microphone with a Xenyx 302USB

Posted by admin |

Update 2017-08-27: This solution does work! But you can't have dirty power with mains hum in it. If you are running on a laptop and you hear hum, try disconnecting the laptop from the charger.

box2
Click to view full-size image…
Size: 51.1 kB

box
Click to view full-size image…
Size: 156.4 kB

There is a 3,5mm (1.8") microphone jack at the top right of the Xenyx 302USB.

It seems to be wired the same as in SoundBlaster sound cards, and have a 4V voltage for driving electret condenser microphones:

        / \ 
       |   |   Tip - Audio signal
        \ / 
       +===+
       |   |   Ring - Bias voltage for microphone (+4V)
       |===|
       |   |
       |   |   Sleeve - Ground
       |   | 
     +=======+
     |       |

Schematics adapted from: Powering microphones

However my electret microphone seems to be wired like this:

        / \
       |   |   Tip - Audio and bias voltage (+3V)
        \ /
       +===+
       |   |  
       |   |
       |   |
       |   |   Sleeve - Ground
       |   |
     +=======+
     |       |

I think it runs on 3V so 4V is close enough I guess.

So I am using a wiring block to make the ground not extend to the ring, and have the signal + voltage on both the ring and the tip, going into the mixer:

        / \ 
       |   |   Tip - Audio and bias voltage (+4V)
        \ / 
       +===+
       |   |   Ring - Audio and bias voltage (+4V)
       |===|
       |   |
       |   |   Sleeve - Ground
       |   | 
     +=======+
     |       |



Source quote for the voltage:

The 302USB does not have the higher voltage phantom power used in older mixers. It does have the 14 volt on the XLR and the 4 volt on the 1/8' (3.5 ) bias for electert mics. This is not something you can turn off but is not a problem unless you are using equipment that is not isolated or balanced and then you can get noise from cable movements, inserting plugs with the volume up. Hope this helps.

Amazon.com: Questions And Answers: Can I use this preamp without phantom power? and if so, how?

Apr 14, 2017 04:30

Ubuntu Linux on Aspire V15 Nitro - first impressions

Posted by admin |

It works with Ubuntu 16.04LTS, 16.10 and 17.04 and with  Fedora Linux with the following caveat:

Furthermore, this is not a bug, but the M2 SSD does not support encryption (Opal encryption) which surprised me a bit.

Apr 12, 2017 04:50