{"id":356,"date":"2025-03-08T11:00:41","date_gmt":"2025-03-08T09:00:41","guid":{"rendered":"https:\/\/jochem.jochemenbianca.nl\/?p=356"},"modified":"2025-03-16T12:18:50","modified_gmt":"2025-03-16T10:18:50","slug":"openstack-test-met-behulp-van-devstack","status":"publish","type":"post","link":"https:\/\/jochem.jochemenbianca.nl\/?p=356","title":{"rendered":"Openstack test met behulp van devstack"},"content":{"rendered":"\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<p>We hadden weer een weekje vakantie en om die toch een beetje nuttig te gebruiken heb ik op mijn HP Prodesk machinetje maar een installatie van Openstack geprobeerd. Ik was er in het verleden al enkele malen mee begonnen maar steeds vastgelopen op het netwerk stuk. Maar ik wilde hoe dan ook Openstack een keer aan de praat krijgen. Dat is afgelopen vakantie dus gelukt met behulp van devstack.<br><br>Dus na de Ubuntu installatie op dit systeem, de instructies gevolgd op: <a href=\"https:\/\/docs.openstack.org\/devstack\/latest\/\">https:\/\/docs.openstack.org\/devstack\/latest\/<\/a><br><br>Tijdens het installeren liep ik er op Ubuntu tegenaan dat de DNS wel eens niet meer beschikbaar is. Dit is op te lossen door het volgende te doen:<br><br><code>sudo ln -s -f \/run\/systemd\/resolve\/resolv.conf \/etc<\/code><br><br>Na toch af en toe ergens tegenaan gelopen te zijn ben ik uiteindelijk uitgekomen op de volgende local.conf file:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[[local|localrc]]\n# Network\nPUBLIC_INTERFACE=enp2s0\nHOST_IP=192.168.110.10\nFLOATING_RANGE=192.168.110.0\/24\nPUBLIC_NETWORK_GATEWAY=192.168.110.10\nQ_FLOATING_ALLOCATION_POOL=start=192.168.110.80,end=192.168.110.95\nFIXED_RANGE=10.11.12.0\/24\nQ_ASSIGN_GATEWAY_TO_PUBLIC_BRIDGE=FALSE\nQ_USE_PROVIDERNET_FOR_PUBLIC=True\nOVS_PHYSICAL_BRIDGE=br-ex\nPUBLIC_BRIDGE=br-ex\nOVS_BRIDGE_MAPPINGS=public:br-ex\n# Accounts\nADMIN_PASSWORD=SecretPassword!\nDATABASE_PASSWORD=SecretPassword!\nRABBIT_PASSWORD=SecretPassword!\nSERVICE_PASSWORD=SecretPassword!\n# Services\nenable_plugin heat https:\/\/github.com\/openstack\/heat master\nenable_plugin magnum https:\/\/github.com\/openstack\/magnum master\nenable_plugin magnum-ui https:\/\/github.com\/openstack\/magnum-ui\nenable_service zaqar=False\n# Settings\nGLANCE_LIMIT_IMAGE_SIZE_TOTAL=100000<\/pre>\n<p>\u00a0<\/p>\n\n\n\n<p>Let op dat je de interface, wachtwoorden en ip-addressen waarschijnlijk dient te wijzigen.<\/p>\n\n\n\n<p>Na dat we het .\/stack.sh commando hebben uitgevoerd en een tijdje hebben gewacht is als het goed is de installatie voltooid. De Openstack omgeving is klaar. Ik liep echter tegen het feit aan dat niet alle plaatjes\/icoontjes goed worden weergegeven in Horizon (de WebGUI van Openstack. Om dit op te lossen heb ik het volgende aangepast in de \/etc\/apache2\/sites-available\/horizon.conf:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Alias \/dashboard\/static \/opt\/stack\/horizon\/static<br>Alias \/static \/opt\/stack\/horizon\/static<\/pre>\n\n\n\n<p>Ik heb dus de tweede regel na de eerste regel toegevoegd.<\/p>\n\n\n\n<p>Out-of-the box kunnen we een installatie doen voor een cirros installatie. Dit wijst zich eigenlijk vanzelf.<br>Voor een Ubuntu installatie kun je terecht op <a href=\"https:\/\/cloud-images.ubuntu.com\/\">https:\/\/cloud-images.ubuntu.com\/<\/a> en op de Openstack site is er ook lijst met cloud-images voor de verschillende distributies: <a href=\"https:\/\/docs.openstack.org\/image-guide\/obtain-images.html\">https:\/\/docs.openstack.org\/image-guide\/obtain-images.html<\/a><br>Let erop dat je bij het aanmaken van een instance een ssh keypaar aanmaakt, hiermee zul je namelijk moeten inloggen. Veel cloud-images hebben namelijk geen standaard inlognaam\/wachtwoord mogelijkheid.<br>Ook dien je de security groep aan te passen waar de Linux instances inzitten. Poort 22 (SSH) staat namelijk standaard niet aan.<\/p>\n<\/div>\n<\/div>\n\n\n\n<p>Om een Windows instance te maken kun je met bijv. virtualbox een windows harddisk maken. Zie verderop in dit bericht hoe dat moet.<br>Vervolgens om de instance te starten kies je bij source de optie Create new volume voor NO en kies je de image die je geupload hebt.<br>Onder configuration kun je je cloud-init script kwijt bijv;<br><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">#cloud-config<br>users:<br>  -<br>    name: John<br>    gecos: 'John' <br>    primary_group: Administrators<br>    groups: cloud-users<br>    passwd: SecretPassword!<br>    inactive: False<br>    expiredate: 2030-01-01<br>\u2028runcmd:<br>  - netsh advfirewall firewall set rule group=\"remote desktop\" new enable=yes<br>  - reg add \"HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server\" \/v fDenyTSConnections \/t REG_DWORD \/d 0 \/f<br>  - reg add \"HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\Control\\Terminal Server\\WinStations\\RDP-Tcp\" \/v UserAuthentication \/t REG_DWORD \/d 0 \/f<br>  - reg add \"HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\Control\\Terminal Server\\WinStations\\RDP-Tcp\" \/v SecurityLayer \/t REG_DWORD \/d 2 \/f<br><\/pre>\n\n\n\n<p>Als je nu de security groep aanpast waar deze instance in zit, zodat ook poort 3389 (RDP) wordt toegestaan, kun je met een rdp-programma inloggen met de gebruikt <i><b>John<\/b><\/i> en het wachtwoord <i><b>SecretPassword!<\/b><\/i> <br><br><strong><em>Tip om een Windows image te maken: <\/em><\/strong><br>Gebruik VirtualBox om een Windows machine te maken. Maak een machine met minimaal 2 GB aan RAM en een 15GB harddisk. Zorg ook voor een seriele poort. Doe de volledige WIndows installatie. Voer het volgende commando uit om cloudbase-init te laten werlken:<br><br><code>C:\\powershell<br>C:\\Set-ExecutionPolicy Unrestricted<\/code><br><br>Ook moet je zorgen dat de virtio drivers geinstalleerd worden: Deze zijn te vinden op: <a href=\"https:\/\/fedorapeople.org\/groups\/virt\/virtio-win\/direct-downloads\/stable-virtio\/virtio-win.iso\">https:\/\/fedorapeople.org\/groups\/virt\/virtio-win\/direct-downloads\/stable-virtio\/virtio-win.iso<\/a><br>Installeer cloudbase-init (<a href=\"https:\/\/cloudbase.it\/cloudbase-init\/\">https:\/\/cloudbase.it\/cloudbase-init\/<\/a>). Of doe dit via PowerShell:<br><br><code>C:\\Invoke-WebRequest -UseBasicParsing https:\/\/cloudbase.it\/downloads\/CloudbaseInitSetup_Stable_x64.msi -OutFile cloudbaseinit.msi<\/code><br><br>Start dit op en gebruik de volgende waardes:<br>&#8211; Username:&nbsp;<code>Administrator<\/code><br>&#8211; Network adapter to configure:&nbsp;<code>Red&nbsp;Hat&nbsp;VirtIO&nbsp;Ethernet&nbsp;Adapter<\/code><br>&#8211; Serial port for logging:&nbsp;<code>COM1<\/code><br>Kies uiteindelijk voor <code>Run Sysprep<\/code> en <code>Shutdown<\/code><br>Als de machine uitstaat kun je de qcow file gebruiken als image voor in je Openstack omgeving.<br>Om van VirtualBox image naar openstack image te converteren:<br><code>qemu-img convert -f qcow -O qcow2 Windows2025.qcow Windows2025-2.qcow<\/code><br>Deze image upload je vervolgens naar Openstack om te gebruiken om Windows instances te maken.<br>Eventueel kun je deze via de cli maken door middel van:<br><code>openstack image create --disk-format qcow2 --container-format bare \\<br>  --file .\/Windows2025-2.qcow2 windows-image<\/code><\/p>\n\n\n\n<p><br><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We hadden weer een weekje vakantie en om die toch een beetje nuttig te gebruiken heb ik op mijn HP Prodesk machinetje maar een installatie van Openstack geprobeerd. Ik was er in het verleden al enkele malen mee begonnen maar steeds vastgelopen op het netwerk stuk. Maar ik wilde hoe [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,5],"tags":[23,22,19],"class_list":["post-356","post","type-post","status-publish","format-standard","hentry","category-open-source","category-open-stack","tag-devstack","tag-openstack","tag-windows"],"_links":{"self":[{"href":"https:\/\/jochem.jochemenbianca.nl\/index.php?rest_route=\/wp\/v2\/posts\/356","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jochem.jochemenbianca.nl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jochem.jochemenbianca.nl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jochem.jochemenbianca.nl\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jochem.jochemenbianca.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=356"}],"version-history":[{"count":18,"href":"https:\/\/jochem.jochemenbianca.nl\/index.php?rest_route=\/wp\/v2\/posts\/356\/revisions"}],"predecessor-version":[{"id":379,"href":"https:\/\/jochem.jochemenbianca.nl\/index.php?rest_route=\/wp\/v2\/posts\/356\/revisions\/379"}],"wp:attachment":[{"href":"https:\/\/jochem.jochemenbianca.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=356"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jochem.jochemenbianca.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=356"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jochem.jochemenbianca.nl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=356"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}