summaryrefslogtreecommitdiff
path: root/2 Areas/Werk
diff options
context:
space:
mode:
authorJasper Ras <jras@hostnet.nl>2025-03-20 11:07:49 +0100
committerJasper Ras <jras@hostnet.nl>2025-03-20 11:07:49 +0100
commit80ccf68f55dbb70d7e5ed52ee95b3c9d1b6ce264 (patch)
tree93e28e85ab70052aa6f577998ec7dc1f413b40c0 /2 Areas/Werk
parent9642cd7ae24f0ba79ce5647c709b35ae8f06a285 (diff)
vault backup: 2025-03-20 11:07:48
Diffstat (limited to '2 Areas/Werk')
-rw-r--r--2 Areas/Werk/GroupONE/Architecture.md4
-rw-r--r--2 Areas/Werk/GroupONE/Logging.md11
-rw-r--r--2 Areas/Werk/GroupONE/MCS.md5
-rw-r--r--2 Areas/Werk/GroupONE/OneIT Helpdesk.md6
-rw-r--r--2 Areas/Werk/GroupONE/Org Chart.md8
-rw-r--r--2 Areas/Werk/GroupONE/team.md10
-rw-r--r--2 Areas/Werk/Inwerken/Evaluatie.md6
-rw-r--r--2 Areas/Werk/Inwerken/Onboarding.md21
-rw-r--r--2 Areas/Werk/Nieuwe kandidaten/Interview Carlos.md25
-rw-r--r--2 Areas/Werk/Nieuwe kandidaten/List of questions to ask.md11
-rw-r--r--2 Areas/Werk/Nieuwe kandidaten/TeamTailor.md5
-rw-r--r--2 Areas/Werk/Nieuwe kandidaten/Vacature System Engineer.md3
-rw-r--r--2 Areas/Werk/Performance reviews/2024/Final assessment.md25
-rw-r--r--2 Areas/Werk/Performance reviews/2024/How I feel about my job right now.md6
-rw-r--r--2 Areas/Werk/Performance reviews/2024/Self assessment.md29
-rw-r--r--2 Areas/Werk/Performance reviews/February 2025.md8
-rw-r--r--2 Areas/Werk/Performance reviews/January 2025.md15
-rw-r--r--2 Areas/Werk/Performance reviews/what.md7
-rw-r--r--2 Areas/Werk/Rutger/Bilaterale gesprekken.md17
-rw-r--r--2 Areas/Werk/Rutger/Te veel improvisatie.md7
-rw-r--r--2 Areas/Werk/VPS platform/Add new provider networks.md112
-rw-r--r--2 Areas/Werk/VPS platform/Backing files.md10
-rw-r--r--2 Areas/Werk/VPS platform/Backup service/Backup verwijderen faalt.md52
-rw-r--r--2 Areas/Werk/VPS platform/Chef.md6
-rw-r--r--2 Areas/Werk/VPS platform/Compute VPS2-LEJ1 is mixed.md6
-rw-r--r--2 Areas/Werk/VPS platform/FS aio.md22
-rw-r--r--2 Areas/Werk/VPS platform/Freenet network.md6
-rw-r--r--2 Areas/Werk/VPS platform/FreenetNetwork.pngbin0 -> 530495 bytes
-rw-r--r--2 Areas/Werk/VPS platform/Get server uuid by dm.md8
-rw-r--r--2 Areas/Werk/VPS platform/Issues/High storage load 05-12-2024.md15
-rw-r--r--2 Areas/Werk/VPS platform/Logging.md11
-rw-r--r--2 Areas/Werk/VPS platform/Maintenance/10-12-2024.md5
-rw-r--r--2 Areas/Werk/VPS platform/OVN.md18
-rw-r--r--2 Areas/Werk/VPS platform/Our image updater.md9
-rw-r--r--2 Areas/Werk/VPS platform/Prometheus scraping.md67
-rw-r--r--2 Areas/Werk/VPS platform/Query duplicate volume connectors.md16
-rw-r--r--2 Areas/Werk/VPS platform/Rankmath mongodb.md7
-rw-r--r--2 Areas/Werk/VPS platform/SSL certificates.md7
-rw-r--r--2 Areas/Werk/VPS platform/Snapshot restore procedure.md17
-rw-r--r--2 Areas/Werk/VPS platform/VM cannot be rescued.md77
40 files changed, 700 insertions, 0 deletions
diff --git a/2 Areas/Werk/GroupONE/Architecture.md b/2 Areas/Werk/GroupONE/Architecture.md
new file mode 100644
index 0000000..97c0e34
--- /dev/null
+++ b/2 Areas/Werk/GroupONE/Architecture.md
@@ -0,0 +1,4 @@
+#groupone #architecture
+
+---
+I want to have an overview of systems and what they are responsible for. Example, what is OneHOP or OneHome and what do they do. I plan to write that down in this document. \ No newline at end of file
diff --git a/2 Areas/Werk/GroupONE/Logging.md b/2 Areas/Werk/GroupONE/Logging.md
new file mode 100644
index 0000000..a2f0a73
--- /dev/null
+++ b/2 Areas/Werk/GroupONE/Logging.md
@@ -0,0 +1,11 @@
+---
+tags:
+ - logging
+ - groupvps
+ - "#openstack"
+---
+The logging context follows the default.
+`... [global-req-id req-id user project domain system_scope user_domain project_domain] ...`
+
+https://docs.openstack.org/oslo.log/latest/configuration/index.html#DEFAULT.logging_context_format_string
+https://docs.openstack.org/oslo.log/latest/configuration/index.html#DEFAULT.logging_context_format_string \ No newline at end of file
diff --git a/2 Areas/Werk/GroupONE/MCS.md b/2 Areas/Werk/GroupONE/MCS.md
new file mode 100644
index 0000000..236fd11
--- /dev/null
+++ b/2 Areas/Werk/GroupONE/MCS.md
@@ -0,0 +1,5 @@
+#mcs #groupone
+
+Managed & unmanaged projecten.n\
+Kenmerken managed project:
+- Geen user voor klant [(ref)](https://gitlab.group.one/groupvps/mcs-cloud-admin/-/merge_requests/169#note_576259) \ No newline at end of file
diff --git a/2 Areas/Werk/GroupONE/OneIT Helpdesk.md b/2 Areas/Werk/GroupONE/OneIT Helpdesk.md
new file mode 100644
index 0000000..072b4c4
--- /dev/null
+++ b/2 Areas/Werk/GroupONE/OneIT Helpdesk.md
@@ -0,0 +1,6 @@
+---
+tags:
+ - groupone
+ - support
+---
+The email address for OneIT Helpdesk is internalit-support@group.one \ No newline at end of file
diff --git a/2 Areas/Werk/GroupONE/Org Chart.md b/2 Areas/Werk/GroupONE/Org Chart.md
new file mode 100644
index 0000000..1a407d9
--- /dev/null
+++ b/2 Areas/Werk/GroupONE/Org Chart.md
@@ -0,0 +1,8 @@
+---
+tags:
+ - groupone
+---
+**IAV** Infrastructure and Virtualization
+**MHC** Mass Hosting Classic
+**MCS** .. Dnno, some germans, have VPS2-LEJ1 for themselves and some stuff in OS1
+**Webglobe** \ No newline at end of file
diff --git a/2 Areas/Werk/GroupONE/team.md b/2 Areas/Werk/GroupONE/team.md
new file mode 100644
index 0000000..191485e
--- /dev/null
+++ b/2 Areas/Werk/GroupONE/team.md
@@ -0,0 +1,10 @@
+# Technical Details
+Maximum disk size local storage defined in QCOW2 image.
+# SOP
+DHCP ports gone -> openstack subnet set --no-dhcp, openstack subnet set --dhpc. (toggle) -> they should be recreated. (https://bugs.launchpad.net/ubuntu/+source/neutron/+bug/2015377)
+## Maintenance
+Announcing maintenance:
+* Maintenance that requires customer interaction: at least 14 days ahead of time
+* Regular maintenance with few seconds downtime at most: at least 7 days ahead of time
+* Emergency maintenance: as soon as possible and preferably before doing anything
+Notify MCS: mcs-support@group.one
diff --git a/2 Areas/Werk/Inwerken/Evaluatie.md b/2 Areas/Werk/Inwerken/Evaluatie.md
new file mode 100644
index 0000000..c15eb23
--- /dev/null
+++ b/2 Areas/Werk/Inwerken/Evaluatie.md
@@ -0,0 +1,6 @@
+#Inwerken
+Rutger is hoofdverantwoordelijk voor het doen van evaluaties; ik deel mijn notities met hem en zit er mogelijk wel bij.
+
+Een aantal vragen die ik mogelijk kan stellen;
+- Hoe gaat het tot dusver?
+- Zijn er dingen die niet zo goed gaan? \ No newline at end of file
diff --git a/2 Areas/Werk/Inwerken/Onboarding.md b/2 Areas/Werk/Inwerken/Onboarding.md
new file mode 100644
index 0000000..43c0930
--- /dev/null
+++ b/2 Areas/Werk/Inwerken/Onboarding.md
@@ -0,0 +1,21 @@
+#Inwerken #groupone
+# Systems VPN
+#vpn
+https://sysdoc.one.com/base/openvpn/generate-systems-config/
+> In de instructies staat dat ze moeten mailen naar vpn@lists.one.com maar die werkt niet meer goed; mailen naar mph@one.com
+
+- Get their one.com profile ID
+ * https://hello.group.one/employee-directory/
+ * Employee handle
+- Clone of ga naar sysdoc repo `git@gitlab.one.com:systems/sysdoc.git`
+- `zip -r systems-vpn-bundle.zip base/openvpn/systems-vpn-bundle/`
+- Stuur nieuwe collega de `systems-vpn-bundle.zip` & `base/openvpn/generate-systems-config.md`.
+# Users
+#user-management
+Openstack user aanmaken in hieradata.
+
+Linux user in Chef toevoegen:
+https://sysdoc.one.com/base/users+groups/
+
+The range 4101-4199 is reserved for "People from other companies in group.one".
+Legacy system users are in the range 900-999, new ones should be added to 2900-2999. \ No newline at end of file
diff --git a/2 Areas/Werk/Nieuwe kandidaten/Interview Carlos.md b/2 Areas/Werk/Nieuwe kandidaten/Interview Carlos.md
new file mode 100644
index 0000000..476abfc
--- /dev/null
+++ b/2 Areas/Werk/Nieuwe kandidaten/Interview Carlos.md
@@ -0,0 +1,25 @@
+intro
+job explanation
+how do you see yourself fit in?
+
+migreren -> low-level skils
+gevraagd hoe je een mass migration zou doen.
+- procedure to parse config and make new config
+- for loop ? serial , list input?
+
+consultant;
+bank hopper;
+dutch b1;
+
+zoom in @ linux
+
+10+ yr in NL, den haag
+much exp with automation, bash python
+
+Q
+
+
+
+---
+
+Workshop \ No newline at end of file
diff --git a/2 Areas/Werk/Nieuwe kandidaten/List of questions to ask.md b/2 Areas/Werk/Nieuwe kandidaten/List of questions to ask.md
new file mode 100644
index 0000000..5e2cc25
--- /dev/null
+++ b/2 Areas/Werk/Nieuwe kandidaten/List of questions to ask.md
@@ -0,0 +1,11 @@
+#groupone #interview
+
+
+---
+- Ben je bekend met scrum, agile, kanban, jira etc?
+
+
+Technische vragen:
+threading, race conditions, deadlocks
+message queue
+- Kun je uitleggen hoe een binary search werkt \ No newline at end of file
diff --git a/2 Areas/Werk/Nieuwe kandidaten/TeamTailor.md b/2 Areas/Werk/Nieuwe kandidaten/TeamTailor.md
new file mode 100644
index 0000000..6d1055f
--- /dev/null
+++ b/2 Areas/Werk/Nieuwe kandidaten/TeamTailor.md
@@ -0,0 +1,5 @@
+---
+tags:
+ - interview
+---
+We hebben een systeem waar kandidaten in aangemeld worden: https://app.teamtailor.com/companies/vQGlDeVZgIM/dashboard
diff --git a/2 Areas/Werk/Nieuwe kandidaten/Vacature System Engineer.md b/2 Areas/Werk/Nieuwe kandidaten/Vacature System Engineer.md
new file mode 100644
index 0000000..fb2355a
--- /dev/null
+++ b/2 Areas/Werk/Nieuwe kandidaten/Vacature System Engineer.md
@@ -0,0 +1,3 @@
+Voor migraties zijn we op zoek naar iemand die kan troubleshooten als het mis gaat en evt aanpassingen kan maken waar nodig.
+
+Zoals besproken op 6 maart; wij gaan grotendeels het technische proces bouwen (met workers e.d) en degene die hier aan gaan werken moeten het voornamelijk begeleiden. \ No newline at end of file
diff --git a/2 Areas/Werk/Performance reviews/2024/Final assessment.md b/2 Areas/Werk/Performance reviews/2024/Final assessment.md
new file mode 100644
index 0000000..c84d466
--- /dev/null
+++ b/2 Areas/Werk/Performance reviews/2024/Final assessment.md
@@ -0,0 +1,25 @@
+#self-assessment #performance-review
+
+---
+Takeaways:
+- Minder focus op latest hippe tech gebruiken
+- Eerder om hulp vragen
+- Keep it simple, stupid
+- POP maken samen met Rutger
+- Criteria opstellen voor verschillende niveaus system engineer (junior, medior, senior); focus op senior.
+
+---
+Over het algemeen is Rutger blij met me; hij zegt dat ik het goed doe. Hij heeft een aantal verbeterpunten:
+- Wil te veel bleeding-edge tech gebruiken
+- Ik maak het soms te ingewikkeld - te veel lagen abstractie in de backup service API bijvoorbeeld.
+Eerder om hulp vragen; meer team betrekken bij wat ik doe.
+
+Salaris verhoging: 5%
+4358 -> 4575,90
+
+**Huidige rolbeschrijving**
+Mijn huidige rol **Medior Software Engineer**; is niet meer up-to-date. Dit gaat aangepast worden naar **Medior System Engineer**.
+
+Rutger gaf aan dat hij mij nog niet als senior erkent; maar gaf ook toe dat hij dat puur op gevoel doet en er nu niet een duidelijk pad/criteria bestaan om senior te worden.
+
+De vacature "OpenStack Engineer" zoals die op internet staat geeft een bepaald loonsbeeld om mensen aan te trekken; dat is wat bestaande engineers niet meteen krijgen (zelfs Rutger niet). \ No newline at end of file
diff --git a/2 Areas/Werk/Performance reviews/2024/How I feel about my job right now.md b/2 Areas/Werk/Performance reviews/2024/How I feel about my job right now.md
new file mode 100644
index 0000000..c404efd
--- /dev/null
+++ b/2 Areas/Werk/Performance reviews/2024/How I feel about my job right now.md
@@ -0,0 +1,6 @@
+#groupone #self-assessment
+
+Realisatie tevreden met baan. Veel vrijheid, niet al te gekke werkdruk, goed salaris.
+Ik ben tevreden met mijn baan bij group.one, ik heb veel vrijheid en de werkdruk is niet al te hoog. Het salaris en toekomstperspectief ben ik blij mee.=g
+
+De externer entwicklers in PM beginnen vermoeiend te worden. Leveren geen of weinig informatie aan. Het zijn N00Bs. \ No newline at end of file
diff --git a/2 Areas/Werk/Performance reviews/2024/Self assessment.md b/2 Areas/Werk/Performance reviews/2024/Self assessment.md
new file mode 100644
index 0000000..48be829
--- /dev/null
+++ b/2 Areas/Werk/Performance reviews/2024/Self assessment.md
@@ -0,0 +1,29 @@
+#self-assessment
+
+---
+I need to become more goal-oriented: set a clear goal with a clear end and work towards that.
+I'm currently working to improve my skill in note-taking to help achieve current and determine new goals.
+I'm doing this by setting up a "second brain" using ideas from the book "Building a second brain" by Tiago Forte.
+
+---
+
+**General Performance and Achievements**
+ Describe your overall performance throughout the year and highlight any achievements you are especially proud of
+
+Looking back I feel that my focus this year has been impacted due to a series of events happening outside of work in my private life, such as moving to a new house and the death of a close friend. Besides that I feel I was often doubting myself which made me indecisive at times.
+
+The backup service which I had mostly worked on developed far slower than I liked. Due to above but also because so many parts of this were completely new to me. I think that I could have done a better job at learning each of them by separating it into smaller "toy" projects and learning each part before putting it together. For example how libraries such as oslo.messaging and taskflow worked. Besides that I also feel I didn't always do a great job on including the rest of the team.
+During the last quarter of this year I did feel I was able to improve and work with a clearer mind and work more closely together with Erik; communicating more frequently and effectively, especially with the snapshots.
+
+I feel proud that, even though it was not progressing as quickly or organized as I liked, I was able to set-up the backup service and put it to production and seeing few operational problems as of yet. I feel especially proud of how we were able to utilize the project to quickly implement the snapshot feature that was suddenly requested.
+
+**Opportunities to become even better**
+ Which areas do you perceive as your strongest?
+
+I think I'm always eager to develop a deep understanding of how things technically work, abstract thinking, I have a sense of responsibility and am always prepared to help out where needed.
+
+ Which areas would you like to improve in?
+
+I am currently trying to improve my productivity by setting up a note taking system. I will continue trying to improve this. I plan to also do a little self "performance review" at the end of each week to help me keep track of things happening during the year.
+
+I think in a broad sense I need to become better at setting clear goals that have a clear end which I can work toward. Both in work related things such as projects, but also in personal things such as setting up a note taking system.
diff --git a/2 Areas/Werk/Performance reviews/February 2025.md b/2 Areas/Werk/Performance reviews/February 2025.md
new file mode 100644
index 0000000..c6144be
--- /dev/null
+++ b/2 Areas/Werk/Performance reviews/February 2025.md
@@ -0,0 +1,8 @@
+---
+tags:
+ - performance-review
+---
+Veel energie en motivatie.
+
+Er stonden een aantal operationele tickets lang te wachten omdat ik wilde focussen op gobs volume backups & retry stuff, maar uiteindelijk op 'n maandag toch maar besloten om al die dingen even uit de weg te ruimen.
+Daaruit ontstond bij mij het idee om alles wat niet direct haast heeft elke maandag op te pakken en dan even proj werk op een lager pitje, dat is ook wat makkelijker op starten na het weekend. \ No newline at end of file
diff --git a/2 Areas/Werk/Performance reviews/January 2025.md b/2 Areas/Werk/Performance reviews/January 2025.md
new file mode 100644
index 0000000..1ba6b93
--- /dev/null
+++ b/2 Areas/Werk/Performance reviews/January 2025.md
@@ -0,0 +1,15 @@
+---
+tags:
+ - performance-review
+---
+Het inwerken van Mohammed ging goed; ik kreeg complimenten van Mohammed. Ik merkte wel dat ik veel kennis ben "vergeten" en echt diep moet graven af en toe om het weer te herinneren. Ik hoop dat notities maken in Obsidian dit in de toekomst makkelijker maakt.
+
+Notities maken in Obsidian gaat goed maar ik ben soms nog wel in de war over wat ik nou wel en niet moet bewaren. In het begin van de maand noteerde ik echt elk klein detail; en als ik daar dan later naar moest kijken werd ik een beetje overweldigd en voelde veel als nutteloos. Wat later in de maand noteer ik alleen de belangrijkere kernpunten en dat geeft een rustiger gevoel.
+Ik lees veel over hoe belangrijk het is om ook gebruik te maken van je notities. Daarom ben ik voornemens om een blogje, puur voor mezelf, bij te gaan houden zoals ongeveer elke developer doet. Doel is dan om de notities te gebruiken; wat inzicht zou moeten geven over of ze wel of niet nutting zijn en daar weer van te leren.
+
+Navolging performance review; met rutger gesproken over de rollen en mijn rol niveau. Mijn idee van senior waarbij je de rol gemeesterd heb is in Rutger & Jerry's perspectief medior. Bij senior hoort ook de sense van het bedrijf en het zien van het grotere plaatje & het voorbeeld zetten van hoe het moet.
+Ik ben nog geen senior omdat rutger voelt dat ik niet altijd naar het grote plaatje kijk en soms verkeerde keuzes maak daarom. Zoals bijvoorbeeld met architectuur van de backup service; ik heb daar zelf maar wat bedacht terwijl er standaarden en voorbeelden zijn.
+Het is me nog niet helemaal duidelijk hoe ik hier aan ga werken, behalve minder eigenwijs zijn en sneller en vaker sparren om ideeen. Niet meer vermijden, maar gewoon doen.
+
+Lang bezig geweest met ticket om backup taken resumable te maken; maar ik heb wel weer het gevoel dat ik wat gefocusder kan programmeren en minder vast zit met zorgen of het niet anders beter kan.
+
diff --git a/2 Areas/Werk/Performance reviews/what.md b/2 Areas/Werk/Performance reviews/what.md
new file mode 100644
index 0000000..edd40e3
--- /dev/null
+++ b/2 Areas/Werk/Performance reviews/what.md
@@ -0,0 +1,7 @@
+Do a weekly or monthly self reflection and keep them documented in this folder. I intend to use these for the yearly performance review.
+
+Things to ask myself every week:
+- What went well?
+- What didn't go well?
+- Were there any achievements this week that i'm proud of?
+- Did I learn something? \ No newline at end of file
diff --git a/2 Areas/Werk/Rutger/Bilaterale gesprekken.md b/2 Areas/Werk/Rutger/Bilaterale gesprekken.md
new file mode 100644
index 0000000..75c74b2
--- /dev/null
+++ b/2 Areas/Werk/Rutger/Bilaterale gesprekken.md
@@ -0,0 +1,17 @@
+---
+tags:
+ - persoonlijke-ontwikkeling
+---
+
+Aangegeven stress door o.a maint.
+Maint overdag, erik ook?
+
+opleiding budget, nog niet vast/
+of per persoon, of per groep.
+certificaten , aantoonbaar
+verantwoorden waarom
+
+nadenken over wat er is; wat ik interessant vind.
+red hat cursussen: sysops
+programmeercursussen;
+management cursussen \ No newline at end of file
diff --git a/2 Areas/Werk/Rutger/Te veel improvisatie.md b/2 Areas/Werk/Rutger/Te veel improvisatie.md
new file mode 100644
index 0000000..26cef3d
--- /dev/null
+++ b/2 Areas/Werk/Rutger/Te veel improvisatie.md
@@ -0,0 +1,7 @@
+---
+tags:
+ - relaties
+---
+Wat ik niet zo chill vond is hoe we interviews deden en dat er eigenlijk weinig tot geen voorbereiding voor werd gedaan. Toen ik ernaar vroeg kreeg ik wat stokoude documenten toegestuurd met enorm veel erin waardoor het voor mij ook een beetje overwelmend was.
+
+Ook met het mentorschap van Mohammed is er weinig tot geen voorbereiding en uitwerking van hoe gaan we het doen en wat word er verwacht. Slechts een kort en bondig stappen plan van de eerste paar dagen en daarna "kijken we wel". \ No newline at end of file
diff --git a/2 Areas/Werk/VPS platform/Add new provider networks.md b/2 Areas/Werk/VPS platform/Add new provider networks.md
new file mode 100644
index 0000000..cd437fd
--- /dev/null
+++ b/2 Areas/Werk/VPS platform/Add new provider networks.md
@@ -0,0 +1,112 @@
+#openstack #network
+# Schematic on switch network
+ ![[Switch-network]]
+# Procedure
+Kevin configures the switches so that the public network is routed to the correct private network and sets up a VLAN.
+
+By now we should have a VLAN tag and a private subnet that will be used, for example we will use VLAN tag 150 as well as subnet 10.8.4.0/2.
+# Make sure VLAN interface exists on network node
+> For new network nodes this is done with Ansible, however for fear of disrupting live traffic we prefer to add additional ones on existing nodes by hand.
+
+Check whether an interface exists on the bond for the given vlan (e.g `bond0.150` given VLAN tag 150).
+
+If not add an entry in `/etc/network/interfaces` so it survives reboots:
+```
+auto bond0.150
+iface bond0.150 inet manual
+ vlan-raw-device bond0
+```
+And then of course we add this interface with `sudo ifup bond0.150` with 150 being the VLAN tag we've been given.
+# Create switch network on openstack
+Define the switch network and OVN mapping in hieradata. Make sure to run Puppet on relevant controllers and network nodes.
+```YAML
+group/os-onecom-os1.yaml
+profile::openstack::neutron::controller::networks:
+ switch-network-vps4-cph8:
+ provider_network_type: flat
+ provider_physical_network: switch-network-vps4-cph8
+ router_external: true
+ shared: false
+ project_id: bb8fd38613c6464e8c00cbc332e2c67d
+
+domain/network.env.vps4-cph8.one.com.yaml
+profile::openstack::neutron::ovn::controller::bridge_interface_mappings:
+ - 'ext-br150:bond0.150'
+profile::openstack::neutron::ovn::controller::ovn_bridge_mappings:
+ - 'switch-network-vps4-cph8:ext-br150'
+```
+
+>When adding an external or public network openstack will automatically create a RBAC policy that allows any project to access it. Make sure it is removed: `openstack network rbac list --target-project '*'` will contain an entry with **object type network**. Show it, make sure it's the switch network, and delete it.
+
+>The Puppet module used for creating networks assigns the largest possible MTU to a network. We require it to be set to 1500. After changing the MTU to 1500 disable and enable DHCP so that the DHCP server also takes the configuration in effect.
+# Create switch subnets on openstack
+Once that's taken care of we can add the switch subnets to neutron via hieradata, usually a group yaml (e.g `group/os-onecom-os1)
+```yaml
+profile::openstack::neutron::controller::subnets:
+ switch-subnet-vps4-cph8-ipv4:
+ cidr: 10.8.4.0/24
+ ip_version: 4
+ allocation_pools: [ 'start=10.8.4.4,end=10.8.4.254' ]
+ gateway_ip: 10.8.4.1
+ network_name: switch-network-vps4-cph8
+ project_id: bb8fd38613c6464e8c00cbc332e2c67d
+ switch-subnet-vps4-cph8-ipv6:
+ cidr: 2a02:2350:a:105::/64
+ ip_version: 6
+ allocation_pools: [ 'start=2a02:2350:a:105::4,end=2a02:2350:a:105::ffff' ]
+ gateway_ip: 2a02:2350:a:105::1
+ network_name: switch-network-vps4-cph8
+ project_id: bb8fd38613c6464e8c00cbc332e2c67d
+ ipv6_address_mode: dhcpv6-stateful
+ ipv6_ra_mode: dhcpv6-stateful
+```
+
+> We want to have AZ reflected in the switch network name as shown in our example above "switch-network-vps4-cph8". Older switch-networks do not yet follow this convention.
+
+> We reserve the first three and last one IP in the pool of a given /24. Hence the allocation pool starts at .4 and ends at .254. These IP's are reserved for routers & switches, for example the .1 is assigned to the gateway.
+
+> When running Puppet on the controller node to create the subnet it can happen that it complains that the subnet overlaps with another. It might be caused because another controller is running Puppet at the same time and it created the subnet before your run.
+
+# Create network and subnet
+In the correct group YAML we define the actual network and subnet that are to be used by tenants.
+Example (`group/os-onecom-os1.yml`)
+```
+profile::openstack::neutron::controller::networks:
+ hostnet_185_95_25:
+ router_external: false
+ shared: false
+ project_id: 5e9dbdce473543e093fb90c3db5cd8f3
+
+profile::openstack::neutron::controller::subnets:
+ hostnet_185_95_25_ipv4:
+ allocation_pools:
+ - start=185.95.25.2,end=185.95.25.254
+ cidr: 185.95.25.0/24
+ dns_nameservers:
+ - 91.184.1.11
+ - 91.184.8.21
+ gateway_ip: 185.95.25.1
+ ip_version: '4'
+ network_name: hostnet_185_95_25
+ project_id: 5e9dbdce473543e093fb90c3db5cd8f3
+```
+
+> Make sure these are added to the correct tenant project
+
+# Create router on openstack
+`openstack router create --external-gateway switch-network-vps4-cph8 --fixed-ip subnet_id=switch-subnet-vps4-cph8-ipv4,ip-address=10.8.4.4 --fixed-ip=switch-subnet-vps4-cph8-ipv6,ip-address='2a02:2350:a:105::4' --disable-snat switch-network-vps4-cph8`
+# Ensure reverse DNS zone
+We should make sure the reverse DNS zone is added to the `service.g1-dns.one` zone to ensure PTR records can be added via SysAPI.
+```shell
+~
+❯ dig +short 25.95.185.in-addr.arpa DS
+4550 13 4 6BFEE8B7692B15EC8EE01C17CF3F7FDD68F2F4A7581B7606A0CDB44A BDFE7BB171763C66938DFB285D4BF8680EA81B74
+4550 13 2 ADC65456F034323B3F1F3F010E637A04AB78B59D0176BE2B17702626 22B3AA39
+
+~
+❯ dig +short 25.95.185.in-addr.arpa SOA
+auth.g1-dns.one. hostmaster.one.com. 2024011601 1800 900 1209600 300
+```
+Should be via `service.g1-dns.one` rather than `auth`. We can make a ticket in SYSDNS to have it corrected; [example](https://group-one.atlassian.net/browse/SYSDNS-510).
+
+> Do mention in that ticket that we handle RIPE to prevent them from asking :)
diff --git a/2 Areas/Werk/VPS platform/Backing files.md b/2 Areas/Werk/VPS platform/Backing files.md
new file mode 100644
index 0000000..e9c76bd
--- /dev/null
+++ b/2 Areas/Werk/VPS platform/Backing files.md
@@ -0,0 +1,10 @@
+---
+tags:
+ - virsh
+ - kvm
+ - libvirt
+ - linux
+ - "#openstack"
+---
+Backing files can't be disabled.
+`virsh blockpull domain /path/to/disk` to pull base file into qcow if we have a large snapshot backing file. \ No newline at end of file
diff --git a/2 Areas/Werk/VPS platform/Backup service/Backup verwijderen faalt.md b/2 Areas/Werk/VPS platform/Backup service/Backup verwijderen faalt.md
new file mode 100644
index 0000000..c7c42a1
--- /dev/null
+++ b/2 Areas/Werk/VPS platform/Backup service/Backup verwijderen faalt.md
@@ -0,0 +1,52 @@
+#groupone #openstack #backup-service #bug
+
+---
+# Summary
+We openen libvirt connection alleen tijdens het starten van het proces. Daarna niet meer. Dus connection was closed door iets -> elk opvolgend request faalt.
+
+**Oplossing**
+Connections e.d openen per request.
+
+# Onderzoek
+```shell
+2025-01-06 11:00:42.760 3562 INFO goba.cmd.agent [None req-3ac13f90-ebe4-482b-82ef-fded0df9be87 - - - - -] action='delete' type='backup' task_uuid='1957362f-44ec-475b-a5a1-96b53aa8be60'
+2025-01-06 11:00:42.763 3562 ERROR goba.cmd.agent [-] internal error: client socket is closed: libvirt.libvirtError: internal error: client socket is closed
+2025-01-06 11:00:42.763 3562 ERROR goba.cmd.agent Traceback (most recent call last):
+2025-01-06 11:00:42.763 3562 ERROR goba.cmd.agent File "/usr/lib/python3/dist-packages/goba/cmd/agent.py", line 137, in execute
+2025-01-06 11:00:42.763 3562 ERROR goba.cmd.agent execute_fn(ctx)
+2025-01-06 11:00:42.763 3562 ERROR goba.cmd.agent File "/usr/lib/python3/dist-packages/goba/cmd/agent.py", line 192, in execute_fn
+2025-01-06 11:00:42.763 3562 ERROR goba.cmd.agent backup.delete(req, self.storage, self.libvirt)
+2025-01-06 11:00:42.763 3562 ERROR goba.cmd.agent File "/usr/lib/python3/dist-packages/goba/backup.py", line 332, in delete
+2025-01-06 11:00:42.763 3562 ERROR goba.cmd.agent if not libvirt_client.is_running(instance_id):
+2025-01-06 11:00:42.763 3562 ERROR goba.cmd.agent File "/usr/lib/python3/dist-packages/goba/adapters/libvirt.py", line 134, in is_running
+2025-01-06 11:00:42.763 3562 ERROR goba.cmd.agent dom_state = self._get_domain(instance_id).state()[0]
+2025-01-06 11:00:42.763 3562 ERROR goba.cmd.agent File "/usr/lib/python3/dist-packages/libvirt.py", line 3146, in state
+2025-01-06 11:00:42.763 3562 ERROR goba.cmd.agent raise libvirtError('virDomainGetState() failed')
+2025-01-06 11:00:42.763 3562 ERROR goba.cmd.agent libvirt.libvirtError: internal error: client socket is closed
+2025-01-06 11:00:42.763 3562 ERROR goba.cmd.agent
+```
+
+```
+[jasras@n14.compute.vps1-lej1 ~]$ systemctl status goba
+● goba.service - Group.one OpenStack Backup Agent
+ Loaded: loaded (/lib/systemd/system/goba.service; enabled; vendor preset: enabled)
+ Active: active (running) since Thu 2024-12-12 06:26:50 UTC; 3 weeks 4 days ago
+ Docs: https://gitlab.group.one/groupvps/group-one-backup-agent
+ Main PID: 3562 (goba)
+ Tasks: 86 (limit: 4915)
+ Memory: 166.9M
+ CPU: 2h 23min 28.981s
+ CGroup: /system.slice/goba.service
+ ├─ 3562 /usr/bin/python3 /usr/bin/goba --config-file /etc/goba/goba.conf
+ └─14368 /usr/bin/python3 /usr/bin/privsep-helper --config-file /etc/goba/goba.conf --privsep_context goba.privsep.file_admin_pctxt --privsep_sock_path /tmp/tmpjfi8jt6b/privsep.sock
+```
+Er draait hier nog een privsep-helper
+
+Na restart:
+```
+ CGroup: /system.slice/goba.service
+ └─30932 /usr/bin/python3 /usr/bin/goba --config-file /etc/goba/goba.conf
+```
+
+Tasks slagen nu wel.
+
diff --git a/2 Areas/Werk/VPS platform/Chef.md b/2 Areas/Werk/VPS platform/Chef.md
new file mode 100644
index 0000000..15f5ab6
--- /dev/null
+++ b/2 Areas/Werk/VPS platform/Chef.md
@@ -0,0 +1,6 @@
+---
+tags:
+ - chef
+ - groupvps
+---
+https://sysdoc.one.com/base/chef/add-ons/chef-secret/ \ No newline at end of file
diff --git a/2 Areas/Werk/VPS platform/Compute VPS2-LEJ1 is mixed.md b/2 Areas/Werk/VPS platform/Compute VPS2-LEJ1 is mixed.md
new file mode 100644
index 0000000..d02702a
--- /dev/null
+++ b/2 Areas/Werk/VPS platform/Compute VPS2-LEJ1 is mixed.md
@@ -0,0 +1,6 @@
+#compute #openstack
+
+---
+VPS2-LEJ1 is a mixed bag of shared and local storage;
+nodes 1-8 are BOTH shared and local storage
+nodes 9-10 are exclusively shared storage
diff --git a/2 Areas/Werk/VPS platform/FS aio.md b/2 Areas/Werk/VPS platform/FS aio.md
new file mode 100644
index 0000000..b47827a
--- /dev/null
+++ b/2 Areas/Werk/VPS platform/FS aio.md
@@ -0,0 +1,22 @@
+---
+tags:
+ - sysctl
+ - aio
+ - linux
+ - filesystem
+references:
+ - https://docs.kernel.org/admin-guide/sysctl/fs.html
+ - https://man7.org/linux/man-pages/man2/io_setup.2.html
+ - https://sort.veritas.com/public/documents/HSO/2.0/linux/productguides/html/hfo_admin_ubuntu/ch04s03.htm
+---
+aio-nr & aio-max-nr:
+
+```
+aio-nr is the running total of the number of events specified on the
+io_setup system call for all currently active aio contexts. If aio-nr
+reaches aio-max-nr then io_setup will fail with EAGAIN. Note that
+raising aio-max-nr does not result in the pre-allocation or re-sizing
+of any kernel data structures.
+```
+
+Openstack compute fs.aio-max-nr naar `1048576` gezet zoals beschreven op het web. \ No newline at end of file
diff --git a/2 Areas/Werk/VPS platform/Freenet network.md b/2 Areas/Werk/VPS platform/Freenet network.md
new file mode 100644
index 0000000..5e51f74
--- /dev/null
+++ b/2 Areas/Werk/VPS platform/Freenet network.md
@@ -0,0 +1,6 @@
+Packet loss & retransmits between compute nodes.
+ Comp -> netw -> top of rack -> netw -> compute
+
+ ![[FreenetNetwork.png]]
+
+Hope that OVN can direct route between 2 VMs. Otherwise an interleave will probably be the next best option. \ No newline at end of file
diff --git a/2 Areas/Werk/VPS platform/FreenetNetwork.png b/2 Areas/Werk/VPS platform/FreenetNetwork.png
new file mode 100644
index 0000000..48bac63
--- /dev/null
+++ b/2 Areas/Werk/VPS platform/FreenetNetwork.png
Binary files differ
diff --git a/2 Areas/Werk/VPS platform/Get server uuid by dm.md b/2 Areas/Werk/VPS platform/Get server uuid by dm.md
new file mode 100644
index 0000000..6b47970
--- /dev/null
+++ b/2 Areas/Werk/VPS platform/Get server uuid by dm.md
@@ -0,0 +1,8 @@
+---
+tags:
+ - groupvps
+ - device-mapper
+---
+```
+for dm in dm-3 dm-50; do ps axf | grep "\"\/dev\/${dm}\"" | egrep -o [a-z0-9\-]{36} | head -1; done
+```
diff --git a/2 Areas/Werk/VPS platform/Issues/High storage load 05-12-2024.md b/2 Areas/Werk/VPS platform/Issues/High storage load 05-12-2024.md
new file mode 100644
index 0000000..7d26c6a
--- /dev/null
+++ b/2 Areas/Werk/VPS platform/Issues/High storage load 05-12-2024.md
@@ -0,0 +1,15 @@
+#issue #groupone
+
+---
+Vraag uitgezet bij Allan voor meer informatie.
+Allan: het komt al 1.5 maand voor; https://group-onecom.slack.com/archives/C02FT9KEFNH/p1729863978525299
+
+Uit dat bericht blijkt dat Jerry zou kijken of het Acronis is.
+
+Jeroen gecontacteerd om ff te vragen of ze dat al gedaan hebben; jeroen denkt dat het niet door Acronis komt omdat dat vooral read ops zijn en verspreid over de nacht.
+
+Allan stuurt graph met kantteking: "seems to involve alot of LUNs": `https://prometheus2.env.vps1-cph8.one.com/graph?g0.expr=count(lun_write_ops%20%3E%20(lun_write_ops%20offset%2020m%20%2B%20100))&g0.tab=0&g0.display_mode=lines&g0.show_exemplars=0&g0.range_input=30m&g0.end_input=2024-12-05%2005%3A47%3A35&g0.moment_input=2024-12-05%2005%3A47%3A35`
+
+Jeroen dacht mogelijk mysql dumps van shared, maar zou ook verspreid moeten zijn: ging kijken wanneer die gdraaid hadden, niks meer over gehoord.
+
+O.b.v LUN graph heb ik wat LUNs gepakt en bleek allemaal managed vps te zijn; Jeroen op onderzoek naar wat daar binnen rond die tijd gebeurd. Verdenkt PSA crons. \ No newline at end of file
diff --git a/2 Areas/Werk/VPS platform/Logging.md b/2 Areas/Werk/VPS platform/Logging.md
new file mode 100644
index 0000000..a2f0a73
--- /dev/null
+++ b/2 Areas/Werk/VPS platform/Logging.md
@@ -0,0 +1,11 @@
+---
+tags:
+ - logging
+ - groupvps
+ - "#openstack"
+---
+The logging context follows the default.
+`... [global-req-id req-id user project domain system_scope user_domain project_domain] ...`
+
+https://docs.openstack.org/oslo.log/latest/configuration/index.html#DEFAULT.logging_context_format_string
+https://docs.openstack.org/oslo.log/latest/configuration/index.html#DEFAULT.logging_context_format_string \ No newline at end of file
diff --git a/2 Areas/Werk/VPS platform/Maintenance/10-12-2024.md b/2 Areas/Werk/VPS platform/Maintenance/10-12-2024.md
new file mode 100644
index 0000000..c7f9824
--- /dev/null
+++ b/2 Areas/Werk/VPS platform/Maintenance/10-12-2024.md
@@ -0,0 +1,5 @@
+#maintenance
+
+---
+manually updated instance record host/node for instance `10924c62-7f0f-4df1-9dd8-9108e3cb0764`
+suspended guest: virsh dompmwakeup and try again
diff --git a/2 Areas/Werk/VPS platform/OVN.md b/2 Areas/Werk/VPS platform/OVN.md
new file mode 100644
index 0000000..369dc95
--- /dev/null
+++ b/2 Areas/Werk/VPS platform/OVN.md
@@ -0,0 +1,18 @@
+---
+tags:
+ - openstack
+ - ovn
+ - groupvps
+references:
+ - https://docs.redhat.com/en/documentation/red_hat_openstack_platform/12/html/networking_guide/sec-ovn#sec-ovn
+ - https://docs.ovn.org/en/latest/intro/install/ovn-upgrades.html
+ - https://discuss.linuxcontainers.org/t/ovn-cluster-init-issue/11080
+---
+https://dani.foroselectronica.es/ovn-where-is-my-packet-665/g
+
+OVN NB & SB DB's:
+```
+systemctl status ovn-ovsdb-server-sb
+systemctl status ovn-ovsdb-server-nb
+```
+They were stopped after the last upgrade to OVN 24.09. \ No newline at end of file
diff --git a/2 Areas/Werk/VPS platform/Our image updater.md b/2 Areas/Werk/VPS platform/Our image updater.md
new file mode 100644
index 0000000..73eff81
--- /dev/null
+++ b/2 Areas/Werk/VPS platform/Our image updater.md
@@ -0,0 +1,9 @@
+#groupone #openstack
+
+---
+https://gitlab.group.one/groupvps/openstack-image-updater
+
+Updater runs in CI.
+
+`images.yaml`; contains which images
+`cloud_images.yaml`; can override params for all images in a specific cloud, sadly cannot override per specific image.
diff --git a/2 Areas/Werk/VPS platform/Prometheus scraping.md b/2 Areas/Werk/VPS platform/Prometheus scraping.md
new file mode 100644
index 0000000..3b87bfd
--- /dev/null
+++ b/2 Areas/Werk/VPS platform/Prometheus scraping.md
@@ -0,0 +1,67 @@
+---
+tags:
+ - groupvps
+ - firewall
+ - "#prometheus"
+---
+
+# Create scrape config
+`roles/prometheus/hostnet/onecom-prometheus-scrape-config-vps-gobs.json`
+
+# Testing the endpoint
+https://prometheus1.env.vps1-lej1.one.com/targets?search=&scrapePool=gobs
+
+# Metrics only accessible over HTTPS
+```
+commit e1e36bd073c8faf777577a41eb2eb67035e917b2 (HEAD -> master, upstream/master, upstream/HEAD, origin/master)
+Author: Ihor Piddubnyak <ihp@one.com>
+Date: Mon Jan 27 13:24:30 2025 +0100
+
+ onecom-prometheus-relabel-config-vps-gobs role to scrape https from gobs
+
+diff --git a/roles/prometheus/hostnet/onecom-prometheus-relabel-config-vps-gobs.json b/roles/prometheus/hostnet/onecom-prometheus-relabel-config-vps-gobs.json
+new file mode 100644
+index 0000000000..a18adccf7c
+--- /dev/null
++++ b/roles/prometheus/hostnet/onecom-prometheus-relabel-config-vps-gobs.json
+@@ -0,0 +1,21 @@
++{
++ "name": "onecom-prometheus-relabel-config-vps-gobs",
++ "description": "Role for configuration of Prometheus gabs scrape to get metrics with https",
++ "json_class": "Chef::Role",
++ "default_attributes": {
++ "prometheus": {
++ "server": {
++ "scrape_configs": {
++ "gobs": {
++ "scheme": "https",
++ "tls_config": {
++ "insecure_skip_verify": true
++ }
++ }
++ }
++ }
++ }
++ },
++ "chef_type": "role"
++}
++
+diff --git a/roles/prometheus/onecom-prometheus-server.json b/roles/prometheus/onecom-prometheus-server.json
+index 6b430e4171..1089f6bb73 100644
+--- a/roles/prometheus/onecom-prometheus-server.json
++++ b/roles/prometheus/onecom-prometheus-server.json
+@@ -53,6 +53,7 @@
+ "role[pl-onecom-prometheus]",
+ "role[onecom-prometheus-scrape-config-thanos-sidecar]",
+ "role[onecom-prometheus-relabel-config-thanos]",
++ "role[onecom-prometheus-relabel-config-vps-gobs]",
+ "role[onecom-prometheus-pdns-passwd]",
+
+
+```
+
+# Zeh Firewall
+https://gitlab.group.one/systems/chef-repo/-/merge_requests/2838
+
+base servers need to have a fw rule added to allow traffic out from prom to service/port.
+if in same vlan no need for a rule on the gateways
diff --git a/2 Areas/Werk/VPS platform/Query duplicate volume connectors.md b/2 Areas/Werk/VPS platform/Query duplicate volume connectors.md
new file mode 100644
index 0000000..1c976ac
--- /dev/null
+++ b/2 Areas/Werk/VPS platform/Query duplicate volume connectors.md
@@ -0,0 +1,16 @@
+---
+tags:
+ - groupvps
+ - datacorruption
+ - volume-connector
+---
+```mysql
+select volume_id, count(*) as con from volume_attachment where deleted_at is null group by volume_id having con > 1 ;
+```
+
+and to find the ones in use
+```mysql
+select * from volume_attachment where deleted_at is NULL and volume_id = "e9ee5691-a3cd-4696-9db9-bda17c2cf664" \G
+```
+
+Take care that the server is not **MIGRATING** because it will have 2 active attachments then. \ No newline at end of file
diff --git a/2 Areas/Werk/VPS platform/Rankmath mongodb.md b/2 Areas/Werk/VPS platform/Rankmath mongodb.md
new file mode 100644
index 0000000..84f877e
--- /dev/null
+++ b/2 Areas/Werk/VPS platform/Rankmath mongodb.md
@@ -0,0 +1,7 @@
+---
+tags:
+ - groupvps
+ - rankmath
+---
+Rankmath runs a MongoDB server on our platform; `mongodb-stg1.g1i.rankmath.com`.
+They have made requests for IP whitelisting, which is just adding it to a sec grp for that vm. \ No newline at end of file
diff --git a/2 Areas/Werk/VPS platform/SSL certificates.md b/2 Areas/Werk/VPS platform/SSL certificates.md
new file mode 100644
index 0000000..2696415
--- /dev/null
+++ b/2 Areas/Werk/VPS platform/SSL certificates.md
@@ -0,0 +1,7 @@
+---
+tags:
+ - groupvps
+references:
+ - https://group-one.atlassian.net/jira/software/c/projects/SYSWEB/boards/331/backlog
+---
+Create a ticket at the SYSWEB JIRA board requesting a LetsEncrypt certificate for the given hostname. \ No newline at end of file
diff --git a/2 Areas/Werk/VPS platform/Snapshot restore procedure.md b/2 Areas/Werk/VPS platform/Snapshot restore procedure.md
new file mode 100644
index 0000000..6a63949
--- /dev/null
+++ b/2 Areas/Werk/VPS platform/Snapshot restore procedure.md
@@ -0,0 +1,17 @@
+---
+tags:
+ - goba
+ - snapshot
+---
+stop server if active
+
+clone snapshot -> out comes a filesystem -> `{fs-name}-clone`
+- `sudo zfs clone <snapshot> <fs-name(-clone)>`
+promote said filesystem
+- `sudo zfs promote <fs-name(-clone)>`
+rename original fs
+- `sudo zfs rename <fs-name> <fs-name-datetime>`
+rename cloned snapshot to original fs
+- `sudo zfs rename <fs-name(-clone)> <fs-name>`
+
+start server if it was active
diff --git a/2 Areas/Werk/VPS platform/VM cannot be rescued.md b/2 Areas/Werk/VPS platform/VM cannot be rescued.md
new file mode 100644
index 0000000..934da0f
--- /dev/null
+++ b/2 Areas/Werk/VPS platform/VM cannot be rescued.md
@@ -0,0 +1,77 @@
+---
+tags:
+ - rescue
+ - groupvps
+---
+## Error cause
+`{'code': 400, 'created': '2025-02-10T10:38:39Z', 'message': 'Instance 44240d84-52ca-4474-b4ac-163bd1ba2def cannot be rescued: Driver Error: Image 9115b741-6eb3-4574-894d-9f2e28600ff8 could not be found.'}`
+
+Likely a deleted snapshot!
+## Show BDM in DB
+```
+MariaDB [nova]> select image_id from block_device_mapping where instance_uuid = "44240d84-52ca-4474-b4ac-163bd1ba2def";
++--------------------------------------+
+| image_id |
++--------------------------------------+
+| 9115b741-6eb3-4574-894d-9f2e28600ff8 |
++--------------------------------------+
+1 row in set (0.000 sec)
+```
+
+## Find base image
+```
+MariaDB [glance]> select * from image_properties where image_id = "9115b741-6eb3-4574-894d-9f2e28600ff8" and name = "base_image_ref" \G
+*************************** 1. row ***************************
+ id: 24353
+ image_id: 9115b741-6eb3-4574-894d-9f2e28600ff8
+ name: base_image_ref
+ value: a689d899-903d-49be-96ab-6ac638bbc5fd
+created_at: 2024-07-20 11:09:34
+updated_at: 2024-08-04 14:45:12
+deleted_at: 2024-08-04 14:45:12
+ deleted: 1
+1 row in set (0.000 sec)
+```
+... repeat until its base image is not snapshot.
+
+## Update references
+```
+MariaDB [nova]> select image_ref from instances where uuid = "44240d84-52ca-4474-b4ac-163bd1ba2def";
++--------------------------------------+
+| image_ref |
++--------------------------------------+
+| a689d899-903d-49be-96ab-6ac638bbc5fd |
++--------------------------------------+
+1 row in set (0.000 sec)
+
+MariaDB [nova]> select image_id from block_device_mapping where instance_uuid = "44240d84-52ca-4474-b4ac-163bd1ba2def";
++--------------------------------------+
+| image_id |
++--------------------------------------+
+| a689d899-903d-49be-96ab-6ac638bbc5fd |
++--------------------------------------+
+1 row in set (0.000 sec)
+
+update instance_system_metadata set value = "a689d899-903d-49be-96ab-6ac638bbc5fd" where instance_uuid = "44240d84-52ca-4474-b4ac-163bd1ba2def" and `key` = "image_base_image_ref";
+```
+
+## Notes on specific case
+44240d84-52ca-4474-b4ac-163bd1ba2def instance_system_metadata geupdate maar alleen het image_base_image_ref geupdatet.
+De rest van de image metadata is nog alsof het het oude snapshot.
+Misschien kunnen we nova-manage gebruiken om het te updaten:
+```
+[jasras@n07.compute.prv.vps1-testpod-cph3.one.com ~]$ sudo nova-manage image_property set --help
+Modules with known eventlet monkey patching issues were imported prior to eventlet monkey patching: urllib3. This warning can usually be ignored if the caller is only importing and not executing nova code.
+usage: nova-manage image_property set [-h] [--property <image_property>] <instance_uuid>
+
+Set the values of instance image properties stored in the database. This is only allowed for instances with a STOPPED, SHELVED or SHELVED_OFFLOADED vm_state.
+
+positional arguments:
+ <instance_uuid> UUID of the instance
+
+options:
+ -h, --help show this help message and exit
+ --property <image_property>
+ Image property to set using the format name=value. For example: --property hw_disk_bus=virtio --property hw_cdrom_bus=sata
+
+``` \ No newline at end of file