Author: Lisa

Expanding a qcow2-backed system disk (host + guest)

Expanding a qcow2-backed system disk (host + guest) — guest volume is lvm and xfs file system

HOST (resize qcow2)

  1. Optional backup:
    cp –reflink=auto /vms/fedora02.qcow2 /vms/fedora02.qcow2.bak
  2. Offline resize (VM stopped):
    qemu-img resize /vms/fedora02.qcow2 +5G
    # Start the VM after resizing.

GUEST (grow partition, PV, LV, filesystem)

  1. Confirm the disk shows the larger size:
    lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
    #If needed:
    #partprobe /dev/sda
  2. Grow the LVM partition (sda2) to the end of the disk:
    dnf install -y cloud-utils-growpart
    growpart /dev/sda 2
    partprobe /dev/sda
  3. Resize the LVM PV and extend the root LV:
    pvresize /dev/sda2
    lvextend -l +100%FREE /dev/fedora/root
  4. Grow the filesystem:
    xfs_growfs /
  5. Verify:
    lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
    df -h /

Exchange SMTP – Sender Reputation DB

Our Exchange server was refusing mail

451 4.7.0 Temporary server error. Please try again later. PRX5

Attempts to send mail would connect, send data, and then hang for a few seconds before returning the tempfail error.

Looks like there’s “sender reputation” data stored at .\Exchange Server\V15\TransportRoles\data\SenderReputation that is used. Since I’m not actually doing filtering on the Exchange server, stopping the transport services, moving the files out of the folder, and then re-starting the services rebuilt the data and allowed mail to send again.

Python: Partition and RPartition

Found a neat pair of methods that were added in Python 2.5 — it’s like split/index except it handles breaking the string into two elements for you. A tuple is returned with the part before the separator, the separator, and the part after the separator. If the separator is not found, element 0 and 1 are empty strings.

 

C:\Users\lisa> python
Python 3.13.3
Type “help”, “copyright”, “credits” or “license” for more information.
>>> test = “This is a string | with pipe characters as | delimiters in the string”
>>> print(test.rpartition(“|”)[0])
This is a string | with pipe characters as
>>> print(test.partition(“|”)[0])
This is a string
>>>

Pizza – AIP Style

The idea was to make a pizza-like meal without any wheat, tomatoes, or refined sugar. This crust didn’t work so well, and the sauce is more of a barbecue sauce than a tomato paste.

The dough was the Paleo Baking Flour from Bob’s Mill — recipe from the back of the bag. I added some ground flax seed. It was something, but didn’t hold up as a pizza crust.

Sauce was a “banana ketchup”

  • 2 cups mashed ripe banana
  • 1 Tbsp olive oil
  • 1 large onion, chopped
  • 3 cloves garlic, minced
  • 1 tsp ginger, minced
  • 1/2 c apple cider vinegar
  • 1/2 cup maple syrup
  • 2 Tbsp coconut aminos
  • 1/2 ground tumeric
  • 1/2 tsp salt
  • up to 1/2 cup water

Heat olive oil in a pan, add onion, garlic, and ginger and saute until onions are translucent. Add mashed banana and stir. Mix in remaining ingredients except water. Cool over low heat for at least 15 minutes. Remove from heat and allow to cool. Blend in a food processor until a smooth puree forms.

Fresh “sausage” – cube pork, sprinkle with salt and fennel seeds. Allow to sit for at least 15 minutes. Grind, saute until cooked.

Topped the dough with sauce, fresh sausage, and cheese (still working on a good AIP cheese replacement!). It was good, but not pizza.

 

Pasta – AIP Style

Sauteed one medium onion, a handful of baby carrots (mostly for color), and steamed cauliflower. Pureed all in a blender with ~1 tsp tumeric, salt, 1 Tbsp of nutritional yeast, and garlic (next time, roast the garlic … this just tasted like raw garlic!).

This created a sauce for the pasta

Cooked garbanzo bean pasta and added the sauce. Stirred and served.

So it kinda looks like noodles and cheese … but it doesn’t taste anything like mac and cheese.

Blender – Applying The Scale

We were playing with Blender this evening to modify a 3d model to mount the mirror on our Ranger — it reminds me a lot of learning vim where there’s just a lot of hidden “type this character and it does magic stuff“. Which, ironically, I love vim because of this … however I’ve also been using vi and vim since 1994. So I know the random character to type. Blender … not so much yet.

Oddity of the day — after scaling an object, you need take an additional step otherwise it’s not really scaled and measurements show up with unexpected values. To reset the scale:

Hit Ctrl + A
Select Scale in Object Mode to apply the current dimensions as the new scale of 1

 

They call this applying the scale. Which … I expected it did when I entered the scale factor and stuff changed size on the screen. But now I know!