managing a r&d lab with foreman

91
Managing a R&D Lab with Foreman Managing a R&D Lab with Foreman Managing a R&D Lab with Foreman Managing a R&D Lab with Foreman Managing a R&D Lab with Foreman Managing a R&D Lab with Foreman Managing a R&D Lab with Foreman Managing a R&D Lab with Foreman Managing a R&D Lab with Foreman Managing a R&D Lab with Foreman Managing a R&D Lab with Foreman Managing a R&D Lab with Foreman Managing a R&D Lab with Foreman Managing a R&D Lab with Foreman Managing a R&D Lab with Foreman Managing a R&D Lab with Foreman Managing a R&D Lab with Foreman What can be hard? What can be hard? What can be hard? What can be hard? What can be hard? What can be hard? What can be hard? What can be hard? What can be hard? What can be hard? What can be hard? What can be hard? What can be hard? What can be hard? What can be hard? What can be hard? What can be hard? Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto

Upload: julien-pivotto

Post on 11-Jan-2017

566 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Managing a R&D Lab with Foreman

Managing a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with Foreman

What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?

Julien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien Pivotto

Page 2: Managing a R&D Lab with Foreman

whoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien Pivotto

• Sysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.eu

• FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004• Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011• DevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believer• @roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie on irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/github

Page 3: Managing a R&D Lab with Foreman

inuits.eu

Page 4: Managing a R&D Lab with Foreman
Page 5: Managing a R&D Lab with Foreman

The Foreman

Provisioning Configuration MonitoringReporting

Page 6: Managing a R&D Lab with Foreman

The Foreman

Provisioning

Configuration MonitoringReporting

Page 7: Managing a R&D Lab with Foreman

The Foreman

Provisioning Configuration

MonitoringReporting

Page 8: Managing a R&D Lab with Foreman

The Foreman

Provisioning Configuration Monitoring

Reporting

Page 9: Managing a R&D Lab with Foreman

The Foreman

Provisioning Configuration MonitoringReporting

Page 10: Managing a R&D Lab with Foreman

Foreman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choice

• OOOOOOOOOOOOOOOOOpen-Source• LLLLLLLLLLLLLLLLLarge, active community• RRRRRRRRRRRRRRRRRest API and cli tools

Page 11: Managing a R&D Lab with Foreman
Page 12: Managing a R&D Lab with Foreman
Page 13: Managing a R&D Lab with Foreman
Page 14: Managing a R&D Lab with Foreman
Page 15: Managing a R&D Lab with Foreman
Page 16: Managing a R&D Lab with Foreman

Behind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesLicensed under a Creative Commons Attribution 2.0 License

https://www.flickr.com/photos/reuver/10105949326

Page 17: Managing a R&D Lab with Foreman

Foreman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewLicensed under a Creative Commons Attribution-ShareAlike 3.0 License

http://theforeman.org

Page 18: Managing a R&D Lab with Foreman

Technology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stack

• FFFFFFFFFFFFFFFFForeman-web: Ruby-on-Rails• SSSSSSSSSSSSSSSSSmart Proxies: Ruby• TTTTTTTTTTTTTTTTTLS everywhere

Page 19: Managing a R&D Lab with Foreman

Supported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologies

• PPPPPPPPPPPPPPPPPuppet (other CM are WIP)• lllllllllllllllllibvirt (kvm), VMWare, ec2, openstack, ovirt• DDDDDDDDDDDDDDDDDHCP, DNS, TFTP, IPMI• VVVVVVVVVVVVVVVVVNC

Page 20: Managing a R&D Lab with Foreman

PluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPlugins

• KKKKKKKKKKKKKKKKKatello: Content management• RRRRRRRRRRRRRRRRRemote Execution• HHHHHHHHHHHHHHHHHubot• CCCCCCCCCCCCCCCCCockpit

Page 21: Managing a R&D Lab with Foreman

UsecasesUsecasesUsecasesUsecasesUsecasesUsecasesUsecasesUsecasesUsecasesUsecasesUsecasesUsecasesUsecasesUsecasesUsecasesUsecasesUsecasesLicensed under a Creative Commons Attribution 2.0 License

https://www.flickr.com/photos/aydun/14108842993

Page 22: Managing a R&D Lab with Foreman

Puppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporing

• 22222222222222222011-2013: Puppet reporting• RRRRRRRRRRRRRRRRReplacement for Puppet Dashboard• AAAAAAAAAAAAAAAAAlready had a API, hooked into icinga

Page 23: Managing a R&D Lab with Foreman

2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management

• PPPPPPPPPPPPPPPPProvisioning: libvirt/vmware• CCCCCCCCCCCCCCCCConfig: Puppet Master+ENC• RRRRRRRRRRRRRRRRReporting

Page 24: Managing a R&D Lab with Foreman

Our ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur Scale

• 22222222222222222 countries• 44444444444444444 datacenter• 11111111111111111 Foreman• 55555555555555555 Foreman Proxies• 33333333333333333 Puppet env• 99999999999999999 Compute Resource (hypervisor)• 1111111111111111150 machines

Page 25: Managing a R&D Lab with Foreman

What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?Licensed under a Creative Commons Attribution 2.0 License

https://www.flickr.com/photos/130811041@N04/19114856463

Page 26: Managing a R&D Lab with Foreman

foreman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerLicensed under a Creative Commons Attribution 2.0 License

https://www.flickr.com/photos/gabprr/8325699254

Page 27: Managing a R&D Lab with Foreman

foreman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installer

• FFFFFFFFFFFFFFFFForeman Installer is a package• UUUUUUUUUUUUUUUUUses Puppet behind the scene• IIIIIIIIIIIIIIIIInstalls and configure *

Page 28: Managing a R&D Lab with Foreman

How to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The Foreman

• 11111111111111111. yum install foreman-installer• 22222222222222222. run foreman-installer• 33333333333333333. done

Page 29: Managing a R&D Lab with Foreman

foreman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scope

• FFFFFFFFFFFFFFFFForeman-web• FFFFFFFFFFFFFFFFForeman-proxy• PPPPPPPPPPPPPPPPPuppet master• DDDDDDDDDDDDDDDDDHCP, DNS, TFTP services• GGGGGGGGGGGGGGGGGit repositories• LLLLLLLLLLLLLLLLLink between those

Page 30: Managing a R&D Lab with Foreman

The chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemLicensed under a Creative Commons Attribution 2.0 License

https://www.flickr.com/photos/100739735@N06/15892201516

Page 31: Managing a R&D Lab with Foreman

First foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman install

• CCCCCCCCCCCCCCCCCreates everything needed to puppetize• gggggggggggggggggit repo, puppetmaster• bbbbbbbbbbbbbbbbbut not to puppetize itself

Page 32: Managing a R&D Lab with Foreman

State is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforced

• SSSSSSSSSSSSSSSSSystem is not up to date• NNNNNNNNNNNNNNNNNo confidence that the state is still correct• SSSSSSSSSSSSSSSSSolution A: integrate within the puppet tree• SSSSSSSSSSSSSSSSSolution B: Re-run the foreman-installer

Page 33: Managing a R&D Lab with Foreman

Importing the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your tree

• SSSSSSSSSSSSSSSSState is enforced• OOOOOOOOOOOOOOOOOnly thing to care about: updating themodules

• TTTTTTTTTTTTTTTTThey are linked to the foreman

Page 34: Managing a R&D Lab with Foreman

Building and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingLicensed under a Creative Commons Attribution 2.0 License

https://www.flickr.com/photos/artbystevejohnson/6405400351

Page 35: Managing a R&D Lab with Foreman

Building a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a host

• CCCCCCCCCCCCCCCCCreate/cycle VM• CCCCCCCCCCCCCCCCCreate/change DNS Config• CCCCCCCCCCCCCCCCCreate/change DHCP lease• CCCCCCCCCCCCCCCCCreate/change TFTP files

Page 36: Managing a R&D Lab with Foreman

An expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operation

• IIIIIIIIIIIIIIIIIf something is wrong, it rollbacks• SSSSSSSSSSSSSSSSSolution: Foreman 1.10 allows you to forceconfig rebuild

• HHHHHHHHHHHHHHHHHidden in the UI in the `All hosts' view

Page 37: Managing a R&D Lab with Foreman

DNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSLicensed under a Creative Commons Attribution-ShareAlike 2.0 License

https://www.flickr.com/photos/quinnanya/4464205726

Page 38: Managing a R&D Lab with Foreman

Everything is aFreaking DNS Problem

Kris Buytaert

Page 39: Managing a R&D Lab with Foreman

Foreman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entries

• KKKKKKKKKKKKKKKKKeeps the data consistent• CCCCCCCCCCCCCCCCCreates only hostnames that exist• AAAAAAAAAAAAAAAAAlso does the reverse entries

Page 40: Managing a R&D Lab with Foreman

Adding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom records

• AAAAAAAAAAAAAAAAAt some point you want CNAME records• ooooooooooooooooor change NS records

Page 41: Managing a R&D Lab with Foreman

Manipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zones

• FFFFFFFFFFFFFFFFForeman uses Dynamic Zones• rrrrrrrrrrrrrrrrrndc freeze• CCCCCCCCCCCCCCCCChange the zone (incr the serial)• rrrrrrrrrrrrrrrrrndc thaw

Page 42: Managing a R&D Lab with Foreman

Org-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNS

• YYYYYYYYYYYYYYYYYou own DNS servers should forward theunknown to your org

• WWWWWWWWWWWWWWWWWe could not make it work for PTR records• NNNNNNNNNNNNNNNNNeed to set empty-zones-enable=no• PPPPPPPPPPPPPPPPPR theforeman/puppet-dns#47

Page 43: Managing a R&D Lab with Foreman

DMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZLicensed under a Creative Commons Attribution-ShareAlike 2.0 License

https://www.flickr.com/photos/flintymcginty/9997879333

Page 44: Managing a R&D Lab with Foreman

Managing hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the lab

• SSSSSSSSSSSSSSSSSecurity purpose• RRRRRRRRRRRRRRRRRun Demos• HHHHHHHHHHHHHHHHHandover to other teams

Page 45: Managing a R&D Lab with Foreman

Foreman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutions

• DDDDDDDDDDDDDDDDDNS Proxy, DHCP proxy, TFTP…• KKKKKKKKKKKKKKKKKickstart proxying?• DDDDDDDDDDDDDDDDDigging into the documentation• FFFFFFFFFFFFFFFFFeature is there but not really visible• IIIIIIIIIIIIIIIIImprove docs: PRtheforeman/theforeman.org#547

Page 46: Managing a R&D Lab with Foreman

DocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationLicensed under a Creative Commons Attribution-ShareAlike 2.0 License

https://www.flickr.com/photos/flyingblogspot/15361704293

Page 47: Managing a R&D Lab with Foreman

DocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentation

• TTTTTTTTTTTTTTTTThe Foreman documentation is huge• HHHHHHHHHHHHHHHHHosted on theforeman.org• IIIIIIIIIIIIIIIIImprove it so the next guy doesn't lose yourtime again

Page 48: Managing a R&D Lab with Foreman

A NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC Story

• FFFFFFFFFFFFFFFFForeman embeds NoVNC• AAAAAAAAAAAAAAAAAllows you to see VNC console in browser• LLLLLLLLLLLLLLLLLots of problems with certificates

Page 49: Managing a R&D Lab with Foreman

Details mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails matters

• IIIIIIIIIIIIIIIIIn the 1.7 docs: websockets_encrypt: true• LLLLLLLLLLLLLLLLLet's change it to false• PPPPPPPPPPPPPPPPProblem: true/false vs on/off• EEEEEEEEEEEEEEEEExtra work: Updated the docs

Page 50: Managing a R&D Lab with Foreman

Release NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease Notes

• RRRRRRRRRRRRRRRRRelease notes are part of Documentation• WWWWWWWWWWWWWWWWWhen you change behaviour, think aboutothers

• LLLLLLLLLLLLLLLLLower update cost

Page 51: Managing a R&D Lab with Foreman

ScalabilityScalabilityScalabilityScalabilityScalabilityScalabilityScalabilityScalabilityScalabilityScalabilityScalabilityScalabilityScalabilityScalabilityScalabilityScalabilityScalabilityLicensed under a Creative Commons Attribution-ShareAlike 2.0 License

https://www.flickr.com/photos/21499502@N04/13905270178

Page 52: Managing a R&D Lab with Foreman

Scaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tips

• EEEEEEEEEEEEEEEEEnable organizations/locations• UUUUUUUUUUUUUUUUUse one foreman for separated entities• UUUUUUUUUUUUUUUUUse one foreman for separated countries• UUUUUUUUUUUUUUUUUse foreman proxies where needed

Page 53: Managing a R&D Lab with Foreman

AssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociation

• OOOOOOOOOOOOOOOOOne terrible thing in the Foreman• AAAAAAAAAAAAAAAAAssigning things to each other

Page 54: Managing a R&D Lab with Foreman

AssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociation

• OOOOOOOOOOOOOOOOOS -> Location and Org• CCCCCCCCCCCCCCCCCompute Resource -> Location and Org• TTTTTTTTTTTTTTTTTemplates -> Location and Org• OOOOOOOOOOOOOOOOOS -> Installation Media• IIIIIIIIIIIIIIIIInstallation media -> Location and Org

Page 55: Managing a R&D Lab with Foreman

Scaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute Resources

• CCCCCCCCCCCCCCCCCompute Resources = Virtualization orCloud Service

• EEEEEEEEEEEEEEEEEasy to create hosts in those CR• lllllllllllllllllibvirt, ec2, gce, vmware…

Page 56: Managing a R&D Lab with Foreman

Scaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling Libvirt

• WWWWWWWWWWWWWWWWWe have 8 libvirt servers• TTTTTTTTTTTTTTTTTo create a VM, you chose CPU, RAM,disks…

• AAAAAAAAAAAAAAAAAny change requires deletion and creation

Page 57: Managing a R&D Lab with Foreman

Creating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hosts

• HHHHHHHHHHHHHHHHHostgroups• EEEEEEEEEEEEEEEEEnvironments• CCCCCCCCCCCCCCCCCompute profiles?

Page 58: Managing a R&D Lab with Foreman

Libvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute Profiles

• CCCCCCCCCCCCCCCCCPU• MMMMMMMMMMMMMMMMMemory• NNNNNNNNNNNNNNNNNIC• SSSSSSSSSSSSSSSSStorage• MMMMMMMMMMMMMMMMMultiple profiles per hypervisor

Page 59: Managing a R&D Lab with Foreman

What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?

• LLLLLLLLLLLLLLLLLibvirt servers are not a group• TTTTTTTTTTTTTTTTThey are separated Compute Resources• AAAAAAAAAAAAAAAAA lot of work (UI and API)

Page 60: Managing a R&D Lab with Foreman

Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?

• YYYYYYYYYYYYYYYYYes: other providers are `centralized'• eeeeeeeeeeeeeeeeec2, gce, openstack…

Page 61: Managing a R&D Lab with Foreman

VMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWare

• SSSSSSSSSSSSSSSSSome part of the lab runs VMWare• GGGGGGGGGGGGGGGGGreat: Foreman supports VMWare• (((((((((((((((((on paper)

Page 62: Managing a R&D Lab with Foreman

VMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integration

• MMMMMMMMMMMMMMMMMost of the settings, Foreman will take userdefaults

• FFFFFFFFFFFFFFFFForeman is not for VMWare Power users• SSSSSSSSSSSSSSSSSounds like a lack of interest fromcommunity

Page 63: Managing a R&D Lab with Foreman

Logging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging matters

• FFFFFFFFFFFFFFFFForeman requires on Fog• FFFFFFFFFFFFFFFFFog is a gem for the `clouds'• FFFFFFFFFFFFFFFFFog for vmware is not as advances as we'dlike

Page 64: Managing a R&D Lab with Foreman

Empowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersLicensed under a Creative Commons Attribution 2.0 License

https://www.flickr.com/photos/julesdphotographie/8421289746

Page 65: Managing a R&D Lab with Foreman

Distributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the power

• RRRRRRRRRRRRRRRRRebuilding a host is simple• OOOOOOOOOOOOOOOOOne clic operation• FFFFFFFFFFFFFFFFForeman as a VM shop

Page 66: Managing a R&D Lab with Foreman

The DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movement

• DDDDDDDDDDDDDDDDDevOps is a movement born in 2009• CCCCCCCCCCCCCCCCCollaboration between Developers andOperations

• NNNNNNNNNNNNNNNNNothing new, just common sense• DDDDDDDDDDDDDDDDDevOpsDays, a serie of conferences allaround the world

Page 67: Managing a R&D Lab with Foreman

#DevOps ' CAMS#DevOps ' CAMS#DevOps ' CAMS#DevOps ' CAMS#DevOps ' CAMS#DevOps ' CAMS#DevOps ' CAMS#DevOps ' CAMS#DevOps ' CAMS#DevOps ' CAMS#DevOps ' CAMS#DevOps ' CAMS#DevOps ' CAMS#DevOps ' CAMS#DevOps ' CAMS#DevOps ' CAMS#DevOps ' CAMS

• CCCCCCCCCCCCCCCCCulture• AAAAAAAAAAAAAAAAAutomation• MMMMMMMMMMMMMMMMMeasurement• SSSSSSSSSSSSSSSSSharing

John Willis and Damon Edwards

Page 68: Managing a R&D Lab with Foreman

The C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMS

• DDDDDDDDDDDDDDDDDevOps is a Cultural change• EEEEEEEEEEEEEEEEEveryone is in the team• OOOOOOOOOOOOOOOOOps and Devs work together• SSSSSSSSSSSSSSSSShare the responsibilities

Page 69: Managing a R&D Lab with Foreman

Foreman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the picture

• FFFFFFFFFFFFFFFFForeman empowers the developers• WWWWWWWWWWWWWWWWWhile still providing enough security• OOOOOOOOOOOOOOOOOrganisations in Foreman

Page 70: Managing a R&D Lab with Foreman

Developer ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLLicensed under a Creative Commons Attribution-ShareAlike 3.0 License

Screenshot

Page 71: Managing a R&D Lab with Foreman

The Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer side

• OOOOOOOOOOOOOOOOOne-clic rebuild (at will)• AAAAAAAAAAAAAAAAAccess to build reports• IIIIIIIIIIIIIIIIIn-browser access to VNC• FFFFFFFFFFFFFFFFFresh vm in minutes

Page 72: Managing a R&D Lab with Foreman

The Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops side

• KKKKKKKKKKKKKKKKKeep everything under control• AAAAAAAAAAAAAAAAAudit logs, reports• IIIIIIIIIIIIIIIIInventory• BBBBBBBBBBBBBBBBBring regular updates to VM's/developers

Page 73: Managing a R&D Lab with Foreman

UpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesLicensed under a Creative Commons Attribution 2.0 License

https://www.flickr.com/photos/inyucho/7866698878

Page 74: Managing a R&D Lab with Foreman

Foreman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updates

• AAAAAAAAAAAAAAAAAs any software:• TTTTTTTTTTTTTTTTTake a backup first• TTTTTTTTTTTTTTTTTry on your dev environment• FFFFFFFFFFFFFFFFFirst upgrade the main UI• TTTTTTTTTTTTTTTTThen update the proxies (#12506)

Page 75: Managing a R&D Lab with Foreman

Upgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problems

• 11111111111111111.5->1.6: DHCP config file not readable byforeman proxy

I WWWWWWWWWWWWWWWWWe did a DHCP upgrade at the same timeI FFFFFFFFFFFFFFFFFile ownership was changedI rrrrrrrrrrrrrrrrre-run the foreman installer fixed it

Page 76: Managing a R&D Lab with Foreman

Upgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problems

• 11111111111111111.5->1.6: Puppet reports not coming into theforeman

I FFFFFFFFFFFFFFFFForeman report preprocessor has changedI NNNNNNNNNNNNNNNNNeed to update foreman.rb + configI nnnnnnnnnnnnnnnnnode.rb also needed an update

Page 77: Managing a R&D Lab with Foreman

Upgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problems

• 11111111111111111.7->1.8: Big stack trace on opening the UII yyyyyyyyyyyyyyyyyum erase ruby193-rubygem-foreman_openstack_clusterruby193-rubygem-foreman_openstack_cluster-doc

Page 78: Managing a R&D Lab with Foreman

Upgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problems

• 11111111111111111.8->1.9: Yaml transformations in Puppetparameters

I FFFFFFFFFFFFFFFFFixed in 1.10, backported to 1.9

Page 79: Managing a R&D Lab with Foreman

Community and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceLicensed under a Creative Commons Attribution-2.0 License

https://www.flickr.com/photos/maicosnap/4393929855

Page 80: Managing a R&D Lab with Foreman

Foreman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-Source

• GGGGGGGGGGGGGGGGGPLv3+• WWWWWWWWWWWWWWWWWe've got around 20 patches integrated• TTTTTTTTTTTTTTTTThey rely mostly on open-source tools• CCCCCCCCCCCCCCCCCI, testing, bugtracker

Page 81: Managing a R&D Lab with Foreman

Story: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global Status

• PPPPPPPPPPPPPPPPPut in build mode, go back home• RRRRRRRRRRRRRRRRRestart on the next day• LLLLLLLLLLLLLLLLLooping reboots

Page 82: Managing a R&D Lab with Foreman

Foreman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global status

• FFFFFFFFFFFFFFFFForeman keeps several status for hosts• PPPPPPPPPPPPPPPPPlugins can register a status• BBBBBBBBBBBBBBBBBut reporting and provisioning also• LLLLLLLLLLLLLLLLLet's use that for expired tokens (bug#5883)

Page 83: Managing a R&D Lab with Foreman

SolutionsSolutionsSolutionsSolutionsSolutionsSolutionsSolutionsSolutionsSolutionsSolutionsSolutionsSolutionsSolutionsSolutionsSolutionsSolutionsSolutions

• WWWWWWWWWWWWWWWWWrite a patch, keep it• WWWWWWWWWWWWWWWWWrite a plugin• WWWWWWWWWWWWWWWWWrite and upstream a patch

Page 84: Managing a R&D Lab with Foreman

Advantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreaming

• FFFFFFFFFFFFFFFFFeature will be available in next releases• WWWWWWWWWWWWWWWWWe won't patch in the future• CCCCCCCCCCCCCCCCCalls in the patch will evolve as well• PPPPPPPPPPPPPPPPPeer review with the Foreman team• FFFFFFFFFFFFFFFFForced to write tests, doc, etc…

Page 85: Managing a R&D Lab with Foreman

2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after

• PPPPPPPPPPPPPPPPPatch is accepted for 2 weeks• AAAAAAAAAAAAAAAAA new bug is opened: performance problem(bug#14050)

• SSSSSSSSSSSSSSSSSomeone else fixed the bug• WWWWWWWWWWWWWWWWWe applied the second patch

Page 86: Managing a R&D Lab with Foreman

ConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionLicensed under a Creative Commons Attribution 2.0 License

https://www.flickr.com/photos/trevor-king/12534585293

Page 87: Managing a R&D Lab with Foreman

Where can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improve

• PPPPPPPPPPPPPPPPPerformance• SSSSSSSSSSSSSSSSSome features are missing from API• DDDDDDDDDDDDDDDDDecoupling from Puppet• ……………………………………………

Page 88: Managing a R&D Lab with Foreman

Where did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improve

• TTTTTTTTTTTTTTTTTests reliability• TTTTTTTTTTTTTTTTTesting Infra• CCCCCCCCCCCCCCCCCommunity• SSSSSSSSSSSSSSSSStability

Page 89: Managing a R&D Lab with Foreman

The ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe Foreman

• SSSSSSSSSSSSSSSSStability, Maturity, Flexibility• MMMMMMMMMMMMMMMMMade out of bricks: complex but notcomplicated

• IIIIIIIIIIIIIIIIIt meets our needs• IIIIIIIIIIIIIIIIIt is very active• PPPPPPPPPPPPPPPPPeople are welcoming

Page 90: Managing a R&D Lab with Foreman

Any Question?

Page 91: Managing a R&D Lab with Foreman

ContactContactContactContactContactContactContactContactContactContactContactContactContactContactContactContactContact

Julien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien [email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie

inuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitshttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.eu

[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636