summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.obsidian/workspace.json63
-rw-r--r--Ansible ad-hoc commands.md16
-rw-r--r--Bash process substition (tmp file).md13
-rw-r--r--Enable logging with Libvirt.md18
-rw-r--r--Examples of proper JQ usage.md5
-rw-r--r--GroupVPS Platform.md11
-rw-r--r--Hypotheekrenteaftrek.md19
-rw-r--r--Income tax statement and reductions from mortgage.md20
-rw-r--r--Nix derivations.md5
-rw-r--r--Nix flake.md20
-rw-r--r--OVN Clusters.md59
-rw-r--r--Prometheus endpoints.md10
-rw-r--r--Reinstalling packages with APT.md6
-rw-r--r--Use ssh -O exit user@host to exit a control master session.md6
-rw-r--r--Using JQ to construct an array and filtering empty strings.md18
-rw-r--r--ceilometer data is going into Prometheus as Ihor fixed the out of order issue.md10
-rw-r--r--conflict-files-obsidian-git.md17
-rw-r--r--daily/22-Apr-2025.md32
-rw-r--r--daily/23-Apr-2025.md68
-rw-r--r--daily/24-Apr-2025.md7
-rw-r--r--daily/25-Apr-2025.md17
21 files changed, 414 insertions, 26 deletions
diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json
index f1a2851..562aa4a 100644
--- a/.obsidian/workspace.json
+++ b/.obsidian/workspace.json
@@ -85,12 +85,27 @@
"state": {
"type": "split-diff-view",
"state": {
- "aFile": "GroupVPS Platform Knowledge Base.md",
- "bFile": "GroupVPS Platform Knowledge Base.md",
+ "aFile": "Basic building blocks of Nix.md",
+ "bFile": "Basic building blocks of Nix.md",
"aRef": ""
},
"icon": "diff",
- "title": "Diff: GroupVPS Platform Knowledge Base"
+ "title": "Diff: Basic building blocks of Nix"
+ }
+ },
+ {
+ "id": "79f7d0bfbdc953fa",
+ "type": "leaf",
+ "state": {
+ "type": "split-diff-view",
+ "state": {
+ "aFile": ".obsidian/workspace.json",
+ "bFile": ".obsidian/workspace.json",
+ "aRef": "HEAD",
+ "bRef": ""
+ },
+ "icon": "diff",
+ "title": "Diff: workspace.json"
}
},
{
@@ -118,7 +133,7 @@
}
}
],
- "currentTab": 3
+ "currentTab": 4
}
],
"direction": "vertical"
@@ -272,8 +287,27 @@
"obsidian-excalidraw-plugin:New drawing": false
}
},
- "active": "a26014d8fc4e2d9f",
+ "active": "79f7d0bfbdc953fa",
"lastOpenFiles": [
+ "conflict-files-obsidian-git.md",
+ "daily/25-Apr-2025.md",
+ "daily/24-Apr-2025.md",
+ "daily/23-Apr-2025.md",
+ "daily/22-Apr-2025.md",
+ "ceilometer data is going into Prometheus as Ihor fixed the out of order issue.md",
+ "Using JQ to construct an array and filtering empty strings.md",
+ "Use ssh -O exit user@host to exit a control master session.md",
+ "Reinstalling packages with APT.md",
+ "Prometheus endpoints.md",
+ "OVN Clusters.md",
+ "Nix flake.md",
+ "Nix derivations.md",
+ "Income tax statement and reductions from mortgage.md",
+ "Hypotheekrenteaftrek.md",
+ "GroupVPS Platform.md",
+ "Enable logging with Libvirt.md",
+ "Bash process substition (tmp file).md",
+ "Ansible ad-hoc commands.md",
"Excalidraw/Drawing 2025-04-26 13.13.29.excalidraw.md",
"Building Go applications or packages with Nix.md",
"A nice way to test flake output.md",
@@ -281,28 +315,9 @@
"Basic building blocks of Nix.md",
"Nix.md",
"GroupVPS Platform Knowledge Base.md",
- "Updating the image os admin user to fix password resets.md",
"Untitled.canvas",
- "OVN upgrade.md",
- "Using Libvirt to manage QEMU image bitmaps.md",
- "About keyboard layout on Wayland.md",
- "daily/17-Apr-2025.md",
- "NixOS.md",
- "A useful Go oneliner to run a fileserver.md",
- "Testing Golang programs.md",
- "Benchmarking code in Golang.md",
- "weekly/2025 W16.md",
- "daily/10-Apr-2025.md",
- "A reason for becoming senior is that when Rutger is off I take most of his responsibilities.md",
- "daily/11-Apr-2025.md",
- "daily/18-Apr-2025.md",
- "daily/16-Apr-2025.md",
- "daily/14-Apr-2025.md",
"weekly",
"archive",
- "Network outage on single hypervisor causes Freenet to shutdown EVERYTHING.md",
- "We don't support filesystem discard syscalls on our openstack platform.md",
- "Exposing development headers on Nixos.md",
"daily",
"ESP",
"Excalidraw"
diff --git a/Ansible ad-hoc commands.md b/Ansible ad-hoc commands.md
new file mode 100644
index 0000000..38c4286
--- /dev/null
+++ b/Ansible ad-hoc commands.md
@@ -0,0 +1,16 @@
+---
+tags:
+ - ansible
+---
+Configure ansible.cfg with:\
+```
+stdout_callback=json
+bin_ansible_callbacks = True
+```
+Outputs result as json, so we can jq it
+
+Can also be done with env var:
+```
+ANSIBLE_LOAD_CALLBACK_PLUGINS=1 \
+ANSIBLE_STDOUT_CALLBACK=json \
+``` \ No newline at end of file
diff --git a/Bash process substition (tmp file).md b/Bash process substition (tmp file).md
new file mode 100644
index 0000000..3540f70
--- /dev/null
+++ b/Bash process substition (tmp file).md
@@ -0,0 +1,13 @@
+---
+tags:
+ - bash
+ - howto
+---
+Process substitution connects the output of a command to a file. This enables a command to accept the output of multiple commands.
+Useful with diff for example:
+
+```bash
+diff <(ls dirA) <(ls dirB)
+```
+
+> Important! Don't but the <() inside quotes.. it will report: cannot find file \ No newline at end of file
diff --git a/Enable logging with Libvirt.md b/Enable logging with Libvirt.md
new file mode 100644
index 0000000..526f39d
--- /dev/null
+++ b/Enable logging with Libvirt.md
@@ -0,0 +1,18 @@
+---
+tags:
+ - libvirt
+ - howto
+---
+Configure `/etc/libvirt/libvirtd.conf`
+
+set `log_filters` and `log_outputs`.
+
+### Tracing QMP queries
+```
+log_filters="1:libvirt 1:qemu.qemu_monitor_json"
+log_outputs="1:file:/var/log/libvirt/libvirtd.log"
+```
+
+
+---
+https://libvirt.org/logging.html \ No newline at end of file
diff --git a/Examples of proper JQ usage.md b/Examples of proper JQ usage.md
index b63ee4e..2b68d01 100644
--- a/Examples of proper JQ usage.md
+++ b/Examples of proper JQ usage.md
@@ -1,6 +1,5 @@
---
tags:
- - linux
- jq
- howto
---
@@ -8,4 +7,6 @@ Double escapes are important!
```
jq -r '.fixed_ips[] | select(.ip_address | test("\\.")) | .ip_address'
-``` \ No newline at end of file
+```
+
+An example of constructing an array from stdin and filtering empty lines is found in [[Using JQ to construct an array and filtering empty strings]]. \ No newline at end of file
diff --git a/GroupVPS Platform.md b/GroupVPS Platform.md
new file mode 100644
index 0000000..f01a449
--- /dev/null
+++ b/GroupVPS Platform.md
@@ -0,0 +1,11 @@
+---
+tags:
+ - work
+ - groupvps
+---
+Our [[OVN Clusters]].
+
+
+
+
+Nowadays [[ceilometer data is going into Prometheus as Ihor fixed the out of order issue]] \ No newline at end of file
diff --git a/Hypotheekrenteaftrek.md b/Hypotheekrenteaftrek.md
new file mode 100644
index 0000000..3b2ba5f
--- /dev/null
+++ b/Hypotheekrenteaftrek.md
@@ -0,0 +1,19 @@
+---
+tags:
+ - tax
+---
+1ste hypotheek op of na 1 januari 2013 afgesloten: recht op 30 jaar hypotheekrenteaftrek.
+
+**Voorwaarden**
+- Lening **moet** voor eigen woning zijn
+ - Koop, onderhoud, verbouwen allemaal valide
+- Moet binnen 30 jaar aflossen
+ - Elk jaar moet er een bedrag afgelost worden
+
+
+*Verhoging van lening*
+Termijn gaat opnieuw in voor het verhoogde bedrag, originele bedrag behoud dus de oorspronkelijke termijn
+
+**Voorwaarden**
+- Lening is voor koop duurdere eigen woning, verbouwing of onderhoud ervan.
+- Moet ook binnen 30 jaar afgelost en elke jaar een bedrag aflossen. \ No newline at end of file
diff --git a/Income tax statement and reductions from mortgage.md b/Income tax statement and reductions from mortgage.md
new file mode 100644
index 0000000..5df3c5f
--- /dev/null
+++ b/Income tax statement and reductions from mortgage.md
@@ -0,0 +1,20 @@
+---
+tags:
+ - tax
+---
+Income tax can be reduced in the year in which we buy a house. For us:
+- 2024 bought house
+- Filled in temporary income tax statement with Christiaan
+ - Used highest salary, from 2022 the year which i received a major bonus
+ - He calculated reducables: costs from receipt, interest rate
+ - [[Hypotheekrenteaftrek]]; 0.6%
+- Definitive income tax statement:
+ - Got 142 euro more back, my salary over 2024 was lower than 2022
+ - Belastingdienst calculates the reducable part based on cost details that we provide
+ - notary costs and such, all found on the receipt
+- Following years will be easier: only hypotheekrenteaftrek.
+
+
+
+---
+https://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/belastingdienst/prive/inkomstenbelasting/aftrekposten/hypotheekrenteaftrek/ \ No newline at end of file
diff --git a/Nix derivations.md b/Nix derivations.md
new file mode 100644
index 0000000..9bd25a9
--- /dev/null
+++ b/Nix derivations.md
@@ -0,0 +1,5 @@
+---
+tags:
+ - nix
+---
+Are sort of recipes for how to build a program. \ No newline at end of file
diff --git a/Nix flake.md b/Nix flake.md
new file mode 100644
index 0000000..09b9b09
--- /dev/null
+++ b/Nix flake.md
@@ -0,0 +1,20 @@
+---
+tags:
+ - nix
+---
+Root directory contains flake.nix:
+Specifies inputs (other flakes) and outputs ([[Nix derivations]]). Allows pinning versions of inputs (dependencies) making it easier to write reproducable expressions.
+
+Avoid multiple nixpkgs by including a follows on the input:
+```
+inputs = {
+ nixpkgs.url = "github:NixOS/nixpkgs/<branch name>";
+ hyprland = {
+ url = "github:hyprwm/Hyprland";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+};
+```
+
+Outputs:
+[Flake check](https://github.com/NixOS/nix/blob/master/src/nix/flake-check.md)
diff --git a/OVN Clusters.md b/OVN Clusters.md
new file mode 100644
index 0000000..2bed4f3
--- /dev/null
+++ b/OVN Clusters.md
@@ -0,0 +1,59 @@
+---
+tags:
+ - work
+ - groupvps
+---
+Created the following inventory and put it in ansible for the [[OVN upgrade]]
+# CPH8
+```
+9cf3 (9cf3 at tcp:10.67.1.41:6644) (self)
+d9b2 (d9b2 at tcp:10.67.9.41:6644)
+6c0f (6c0f at tcp:10.67.1.42:6644) last msg 127 ms ago
+```
+n01.network.vps1: 10.67.1.41
+n02.network.vps1: 10.67.1.42
+n01.network.vps2: 10.67.9.41
+
+
+vps1: 10.67.1.0/24
+vps2: 10.67.9.0/24
+vps3: 10.67.17.0/24
+
+# LEJ1
+```
+6f0a (6f0a at tcp:10.69.9.41:6643) next_index=6378278 match_index=6378277 last msg 163 ms ago
+6e42 (6e42 at tcp:10.69.1.41:6643) (self) next_index=6373918 match_index=6378277
+cec5 (cec5 at tcp:10.69.1.42:6643) next_index=6378278 match_index=6378277 last msg 163 ms ago
+3f04 (3f04 at tcp:10.69.17.41:6643) next_index=6378278 match_index=6378277 last msg 163 ms ago
+
+```
+n01.network.vps1: 10.69.1.41
+n02.network.vps1: 10.69.1.42
+n01.network.vps2: 10.69.9.41
+n01.network.vps3: 10.69.17.41
+
+vps1: 10.69.1.0/24
+vps2: 10.69.9.0/24
+vps3: 10.69.17.0/24
+# Freenet
+```
+66b0 (66b0 at tcp:10.69.25.41:6643) (self) next_index=426770 match_index=433645
+0a3f (0a3f at tcp:10.69.33.41:6643) next_index=433646 match_index=433645 last msg 85 ms ago
+8739 (8739 at tcp:10.69.41.41:6643) next_index=433646 match_index=433645 last msg 85 ms ago
+```
+n01.network.vps1: 10.69.25.41
+n01.network.vps2: 10.69.33.41
+n01.network.vps3: 10.69.41.41
+
+vps1: 10.69.25.0/24
+vps2: 10.69.33.0/24
+vps3: 10.69.41.0/24
+# Testpod
+```
+5627 (5627 at tcp:10.64.101.4:6643) (self) next_index=452726 match_index=456341
+22de (22de at tcp:10.64.101.3:6643) next_index=456342 match_index=456341 last msg 280 ms ago
+aed8 (aed8 at tcp:10.64.101.26:6643) next_index=456342 match_index=456341 last msg 280 ms ago
+```
+n01.network: 10.64.101.4
+n01.compute: 10.64.101.3
+- [ ] n02.compute: 10.64.101.26 \ No newline at end of file
diff --git a/Prometheus endpoints.md b/Prometheus endpoints.md
new file mode 100644
index 0000000..081c1c9
--- /dev/null
+++ b/Prometheus endpoints.md
@@ -0,0 +1,10 @@
+---
+tags:
+ - groupvps
+ - work
+ - prometheus
+---
+[[ceilometer data is going into Prometheus as Ihor fixed the out of order issue]]
+
+[Testpod](https://prometheus2.prv.h19-testpod-cph3.one.com)
+- [Free memory](https://prometheus2.prv.h19-testpod-cph3.one.com/graph?g0.expr=instance%3Anode_memory_free%3Aratio%7Bnode%3D%22lxchost1.prv.vps1-testpod-cph3.one.com%22%7D&g0.tab=0&g0.display_mode=lines&g0.show_exemplars=0&g0.range_input=2h)
diff --git a/Reinstalling packages with APT.md b/Reinstalling packages with APT.md
new file mode 100644
index 0000000..f1ee6bf
--- /dev/null
+++ b/Reinstalling packages with APT.md
@@ -0,0 +1,6 @@
+---
+tags:
+ - apt
+ - howto
+---
+Simply run `apt reinstall <packagename>` \ No newline at end of file
diff --git a/Use ssh -O exit user@host to exit a control master session.md b/Use ssh -O exit user@host to exit a control master session.md
new file mode 100644
index 0000000..b00b7b5
--- /dev/null
+++ b/Use ssh -O exit user@host to exit a control master session.md
@@ -0,0 +1,6 @@
+---
+tags:
+ - ssh
+ - howto
+---
+To exit an existing session use `ssh -O exit <user>@<host>` \ No newline at end of file
diff --git a/Using JQ to construct an array and filtering empty strings.md b/Using JQ to construct an array and filtering empty strings.md
new file mode 100644
index 0000000..d04c593
--- /dev/null
+++ b/Using JQ to construct an array and filtering empty strings.md
@@ -0,0 +1,18 @@
+---
+tags:
+ - jq
+ - howto
+---
+Today I learned how to use JQ to construct an array from stdin, while also filtering empty strings.
+
+In below examples the -R switch makes jq process input as raw non-json data, and the -n switch stops it from discarding the first line.
+
+```
+sudo virsh checkpoint-list --name instance-0002c4d7 | jq -Rn '[inputs | if length > 0 then . else empty end]'
+```
+^ Demonstrates use of empty
+
+```
+sudo virsh checkpoint-list --name instance-0002c4d7 | jq -Rn '[inputs | select(length > 0)]'
+```
+^ easier using select \ No newline at end of file
diff --git a/ceilometer data is going into Prometheus as Ihor fixed the out of order issue.md b/ceilometer data is going into Prometheus as Ihor fixed the out of order issue.md
new file mode 100644
index 0000000..f95653f
--- /dev/null
+++ b/ceilometer data is going into Prometheus as Ihor fixed the out of order issue.md
@@ -0,0 +1,10 @@
+---
+tags:
+ - groupvps
+ - work
+ - openstack
+---
+In the [VM Dashboard](https://grafana.one.com/d/nuqoyM4Vz/vm-dashboard) there are examples of usage of this.
+
+Useful examples:
+`cpu{resource_id="97028f50-4a7c-4cd1-9de2-6e504d34cc8d"}` \ No newline at end of file
diff --git a/conflict-files-obsidian-git.md b/conflict-files-obsidian-git.md
new file mode 100644
index 0000000..d8bbd4f
--- /dev/null
+++ b/conflict-files-obsidian-git.md
@@ -0,0 +1,17 @@
+# Conflicts
+Please resolve them and commit them using the commands `Git: Commit all changes` followed by `Git: Push`
+(This file will automatically be deleted before commit)
+[[#Additional Instructions]] available below file list
+
+- Not a file: .obsidian/workspace.json
+
+# Additional Instructions
+I strongly recommend to use "Source mode" for viewing the conflicted files. For simple conflicts, in each file listed above replace every occurrence of the following text blocks with the desired text.
+
+```diff
+<<<<<<< HEAD
+ File changes in local repository
+=======
+ File changes in remote repository
+>>>>>>> origin/main
+``` \ No newline at end of file
diff --git a/daily/22-Apr-2025.md b/daily/22-Apr-2025.md
new file mode 100644
index 0000000..192eebe
--- /dev/null
+++ b/daily/22-Apr-2025.md
@@ -0,0 +1,32 @@
+octavia ovn provider memory leak; found [bug report](https://bugs.launchpad.net/neutron/+bug/2065460) which looks very promising. Trying to patch the driver with this patchset to see if we can fix it.
+
+
+# Interview Ali met Erik
+Maand opzegtermijn, geen haast.
+
+Noemt control plane services
+- keystone users projects
+werkt voor leaseplan, reason layoff
+
+migratie workflow:
+- legacy cluster
+
+Live migration, ceph shared, kan geen manier vinden om storage zonder intermediate host te migreren.
+
+Knows how live migration work.
+
+Explanation OpenStack, trace server create call:
+- keystone, service catalog, token
+- nova api, nova scheduler, nova conductor
+ - doesnt know individual, whole schedules server
+ - nova libvirt talks libvirt, creates vm
+ - host aggregates mentioned + flavor extra specs
+ - vm calls metadata @ 169.169... mentioned
+ - cloud-init
+- nova wants port -> rabbit -> neutron
+- neutron api, ovn controller
+ - ovn northd, nb, sb
+ - neutron ml2 plugin translates neutron to ovn nb
+ - northd translates nb to sb
+ - ovn controller reads sb and translate to ovs on compute
+- glance image \ No newline at end of file
diff --git a/daily/23-Apr-2025.md b/daily/23-Apr-2025.md
new file mode 100644
index 0000000..6c9b6c6
--- /dev/null
+++ b/daily/23-Apr-2025.md
@@ -0,0 +1,68 @@
+
+# Interview Isabel
+devops engineer 7yrs
+
+Provides maintainance os cloud
+
+exp with openstack:
+ - deploying new compute
+ - maintaining
+ - remember rabbitmq incident: queueing
+ - not used puppet
+ - ansible
+exp with openstack:
+ - deploying new compute
+ - maintaining
+ - remember rabbitmq incident: queueing
+ - not used puppet
+ - ansible
+#### Our questions
+How are you in programming?
+- Really like it, create many tools
+- Python / ansible deploy infra automated instead of manually
+ - *Realised manual labor and automated it*
+
+How do you feel about going more into a development role?
+- that's what im looking for, prefer to be making.
+
+Linux or windows experience?
+- check fs
+- processes
+- administrative
+- k8s many scripts
+
+How would you solve a problem where a VM is not starting?
+- Check nova compute for error
+- If ceilometer/logging check that
+- Try with nova-compute to restart if down
+- Reload instance (?)
+
+Have you ever had to go into openstack DBs?
+- Not really,
+- Do have SQL knowledge
+
+Do you know how to work with git?
+- yes, branch system current job
+
+**Why are you leaving your current position?**
+reason: different tech than banks
+same company HCL as in spain, change contract
+
+
+*Deployment, maintenance, and administration of cloud technologies
+VMware, Azure, Openstack.*
+**Does this mean workloads running on said clouds? Or does this also apply to managing infrastructure such as openstack?**
+
+*Bash scripting for Linux server automation.* **What sort of automation?**
+
+*Plan and execute migrations and patching from on-premises infrastructure
+to ING Private cloud (IPC)* **Can you talk more about what kind of migrations**
+
+#### Isabel questions to us
+
+What does the usage of openstack look like from customer perspective?
+- different kinds (brands, direct access)
+Own DC? yes
+Are you expecting me to create new components, or maintain?
+- maintain, puppet etc,
+
diff --git a/daily/24-Apr-2025.md b/daily/24-Apr-2025.md
new file mode 100644
index 0000000..371dd15
--- /dev/null
+++ b/daily/24-Apr-2025.md
@@ -0,0 +1,7 @@
+Ceilometer thaw/freeze gecheckt: linear vs unordered flow. Geen metrics testpod -> prod deploy
+
+Octavia / system test cph8 onderzocht: kon netwerk niet vinden in ovn. Restart resolved issue.
+
+OVN database cluster aanmerken in ansible ipv alle netwerk nodes zien als database hosts. Testen op testpod.
+
+Lijst controleren van backup contracten vs gobs. 170 active contracten vs 191 periodic backups waarvan er 44 disabled. \ No newline at end of file
diff --git a/daily/25-Apr-2025.md b/daily/25-Apr-2025.md
new file mode 100644
index 0000000..9514ec3
--- /dev/null
+++ b/daily/25-Apr-2025.md
@@ -0,0 +1,17 @@
+Gobs OSC plugin pagination
+Deploy goba with ceilometer thaw/freeze to prod
+
+# Tech interview Isabel
+Intro
+- [ ] What we will do: some questions then workshop
+- [ ] Erik intro
+- [ ] Isabel intro
+
+Questions:
+- [ ] What is your experience with `git`, are you comfortable with it?
+- [ ] Can you expand a little bit on your programming experiences, what are some examples of projects that you worked on?
+- [ ] What did you do with Ansible?
+- [ ] Can you talk a little about openstack, what is it and what are the most core components?
+- [ ] Workshop
+
+Isabel questions: