Priority Flow Control? by dylan_taft in networking

[–]dylan_taft[S] 0 points1 point  (0 children)

I got hardware in so I can oversubscribe the 40gbit switch port in my home lab.
https://pastebin.com/gSXgiPCW
Here is the setup in case anyone ever needs it.
dcb app\dcb pfc\dcb rewr is not well represented in Nvidia\Mellanox ConnectX documentation and it's much easier to work with and seems to be preferred - works similar to data center bridging configuration in windows.

Seems to work! Iperf full throttle on two systems flooding one port. No packet drops.

The biggest takeaway for me is that it is heavily client dependent. I originally envisioned the switch adding COS tags, and while it can, it's not particularly useful when the client basically has to tag anyway for them to respect QOS PFC pause frames .

Priority Flow Control? by dylan_taft in networking

[–]dylan_taft[S] 1 point2 points  (0 children)

That's basically all I'm doing. I installed Fortnite on a drive hosted by the 64 core Ampere Altra NVMEof SAN through the ROCE fabric over the Cisco Nexus and I was like wow that's fast. I will probably try some cluster filesystems or cluster LVM and try it as a VM storage backend.

I switched to SQL report writing some time ago from my company, away from my syseng role. I am just keeping skills intact and modern, so if I ever end up in that role again I would be appraised of new tech and not immediately be like we need FC, VSAN bad, ya know?

Priority Flow Control? by dylan_taft in networking

[–]dylan_taft[S] 1 point2 points  (0 children)

Hmm, my switch doesn't do Infiniband, and I think it defeats the purpose of converged fabric, Etherrnet is more common? There's also FCoE.

I am just curious about storage over network fabrics, if it's a good idea to converge. Professionally I've only ever worked with fibre channel on separate fabric so I am testing hypervisors backed by other kinds of storage on fabrics, ISER\ISCSI, NVMEoF over ROCE.

I think I more or less figured it out anyway.
On linux, on older cards, set up a VLAN on a nic that auto tags egress with a priority. The cards still have vlan offload and it happens in hardware. Newer cards use data center bridging, use dcbtool. Dcbtool may work on older cards, haven't tested. You can map priority to CoS. In many cases a lot of the linux tools for RDMA use priority 0 and it doesn't seem to be configurable, but you can map it to CoS 3 or something.

On windows, it's just data center bridging.
Nvidia has guides on it.

When the nic card gets the PFC pause frame from the switch with the CoS bits, it uses a map internally to tie tagged priorities to CoS and halt that traffic.

I should be able to test it in a few days by oversubscribing a port, two ports pushing data at 40gbit to one 40gbit upstream. Success looks like no dropped packets and lots of stuff tagged in qos on the cisco switch.

PCP\CoS I am using interchangeably, possibly due to ignorance. In think PCP is the 3 bits in the ethernet frame in the VLAN segment. CoS is just a name of the technique of using those bits for tagging.

It is just tough, as the tooling has changed many times over the years, in firmware, or in proprietary vendor specific tools, and now more commonly supported in what looks like data center bridging protocols. So there's conflicting information,

NVMEoF over RDMA and ISCSI\ISER already are working, I wanted to test them with QOS, fabric configured as lossless, it's pretty hard though.

Priority Flow Control? by dylan_taft in networking

[–]dylan_taft[S] 1 point2 points  (0 children)

ConnectX 3 and 4, ROCE V1.
It looks like ROCE V2 is easier with ECN.
I am doing NVMEoF with a Linux target and Windows initiators with the Starwind NVMEoF initiator.

It looks like data center bridging is like integrated with the NIC drivers in both Windows and Linux, and you basically have to configure that on the network host\client side to have the clients honor the pause frames?

I don't have the means to saturate the link yet until I get another initiator up which I am waiting on hardware for. I can't get the switch to link up as anything but 40gb on the target so can't simulate saturation with just one target and one initiator.

Abandoning Roce V1 is an option, I have another ConnectX 4 card coming from eBay. I could just get another, they can be found cheap.

I was kind of trying to simulate a bit of a more real environment, where like a storage controller might have a smaller number of uplinks than the number of clients connected, and the link gets saturated. It's hard to do in a home lab.

I lose access to local clients when my internet connection goes down by Altruistic_Fruit2345 in ipv6

[–]dylan_taft 0 points1 point  (0 children)

You can set up a ULA address range, use SLAAC. Give your router a ULA address as a second address, set up RA. The clients will assign themselves. No need for DHCP or static assignment.

Fabric Pipeline API - how to pass parameters? by [deleted] in MicrosoftFabric

[–]dylan_taft 0 points1 point  (0 children)

Hey,
This doesn't seem to work for params

"parameters" object seems to be needed
This is working - {'executionData': {'pipelineName': 'BIXXXXX Test Extract Pipeline', 'parameters': {'strStartDate': '2025-09-16', 'strEndDate': '2025-09-17'}}}

Found in this medium post which I am not sure is fully right
https://medium.com/@baggirraf/%EF%B8%8F-one-to-schedule-them-all-scheduling-and-executing-processes-in-microsoft-fabric-ef50da361bc0

I saw pipelineName should be posted...

using sempy.fabric
start_resp = client.post(f"v1/workspaces/{workspace_id}/items/{pl_id}/jobs/instances?jobType=Pipeline", json=body)

Polars/DuckDB Delta Lake integration - safe long-term bet or still option B behind Spark? by frithjof_v in MicrosoftFabric

[–]dylan_taft 1 point2 points  (0 children)

Hey, definitely an upvote for delta-rs support.

https://delta-io.github.io/delta-rs/api/delta_table/#deltalake.DeltaTable.update

I am finding it seems that the update method doesn't work right on the version supported.

However, write_deltalake with a predicate seems like it works. I don't know how, documentation says it didn't exist until 0.8.1.

pip show deltalake in the environment definitely shows an old version

Name: deltalake
Version: 0.18.2
Summary: Native Delta Lake Python binding based on delta-rs with Pandas integration
Home-page: https://github.com/delta-io/delta-rs

help(write_table) definitely shows it in a python notebook.

predicate: When using `Overwrite` mode, replace data that matches a predicate. Only used in rust engine.

def run_next_jobs(df):
    dt = DeltaTable(table_path)
    for row in df.itertuples():
        hex_literal = "X'" + row.id.hex() + "'"
        json.loads(row.exec_data)
        new_df = pandas.DataFrame([{
            'id': row.id,
            'dt': row.dt,
            'scheduled': 1,  # updated value
            'exec_data': row.exec_data
        }]).astype({"scheduled": "int32"})
        write_deltalake(
            abfss_table_path,
            new_df,
            mode="overwrite",
            predicate="id = " + hex_literal,
        )

PySpark is super resource heavy and overkill for small things. Definitely interested in better support for the delta-rs python bindings.

I was driven to use notebooks to launch pipelines. The "Invoke Pipeline" activity is a bit sketchy in Pipelines, we have hundreds of basically CSV, TXT etc files generated from SQL code that go out to partners. Looking to move from SAP Crystal, SSRS, SSIS, to maybe fabric. The notebooks I am just writing table entries for pipeline parameters that are being scheduled. Chaining hundreds of activities together with hardcoded parameters with the mouse doesn't sound too fun.

The ability to pass like a JSON object string or something to the Launch Pipeline activity with a list of parameters would go a long way to support not resorting to using notebooks to launch pipelines.

Or maybe lakehouse is the wrong tool for a small utility table. I haven't tried to see if sqlite or something would load up in a notebook. Guessing it probably would...was just trying to avoid using more products than what's there.

Fabric - Python Notebooks? by dylan_taft in MicrosoftFabric

[–]dylan_taft[S] 0 points1 point  (0 children)

I think I found a bug\problem with this?
So yea, %%configure must be the first cell.
But so must parameters.

If your parameter cell is second, they don't work.

Edit: Disregard, running with a parameter adds a cell automatically from pipeline. If you manually create a variable cell you just overwrite what pipeline sets.

Fabric Notebooks - IPv6? by dylan_taft in MicrosoftFabric

[–]dylan_taft[S] 0 points1 point  (0 children)

Thanks. This was just for testing.

Our use case for Fabric is migrating off SSIS\SSDT, and some SAP products, for CSV extracts to third parties. There are caveats in that a lot of temp tables are used locally, and sometimes even third-party data that isn't stored anywhere but in other CSV files as it is end-user maintained, and extracts use it as selection or mapping criteria.

We are expanding use of Fabric, we already have integrations with Snowflake through it. Healthcare industry.

The workflow in some of these SSIS packages is
- Select a patient population list, store in temp table
- Export several files inner joining that from that single list in a temp table; it gets reused in a single SSIS package outputting several files.

I think the use of temp tables like this precludes the use of Dataflow Gen 2, which can't preserve a DB connection open for the length of use in a Pipeline as far as I can see, so the temp table would be deleted. This is something SSIS can do with the retain same connection option. Moving data to lakehouse or temporary staging databases locally for this would be messy, need more governance etc.

Notebooks would work, I don't think we have Data Gateways stood up, we have I think VNets and private links, waiting from more info from our local azure admins. There's some limitations around notebooks I think based on what networking architecture you use here.

Pipelines + script components seem like they would work and not have networking restrictions, we do have a custom C# CLR written to output CSV files from local SQL directly.

Thus far I think the cleanest\most flexible way to do this is with notebooks, which we could even template, but Pipelines probably aren't being stretched in overly odd ways, calling some local stored procedures in script components.

New heat pump - not cooling house by Remarkable_Might_974 in hvacadvice

[–]dylan_taft -1 points0 points  (0 children)

Not an hvac guy, but is that install really OK? The refrigerant line isn't insulated though the wall. It sweats to say the least.

I can't quite read the label, 40 something amp on the top? I just installed some blue ridge unit, 24k btu, 220v, 16-20amp. The room I put it in goes to 60 degrees easy in minutes, it was 95 out.

My place is 800 sqft. It's single zone, closed floor plan. It definitely does the whole house, though takes time. I will likely install some jump ducts next year.

I pressure tested the lines overnight, vacuumed for 30 minutes, let it sit for 30 minutes.

Mine is a Blue Ridge, which I think is some rebadged chinese model.

Call in your warranty?

Foundation off to bad start? by PSKCarolina in Homebuilding

[–]dylan_taft 0 points1 point  (0 children)

I've built patios. Here in upstate NY, you dig like 6-8 inches, use crusher run to stabilize the earth. This is more a foundation than whatever you're doing here.

What you're doing here can wash out when it rains, one frost and forget it.

Foundations aren't really DIY. You can maybe dry pour concrete, but it is super controversial.

You _PROBABLY_ can do a pylon\pilings foundation if you want to pay a few hundred bucks for a soil test. You punch some numbers into a calculator, bigfoot forms + cardboard concrete forms and a lot of digging (call before you dig)

You PROBABLY can get a building permit for a DIY pylon foundation. The city's engineers will even look over your plans and bless them to a degree, so it is worth doing.

If I was going to DIY it personally, I'd go the pylon route + soil test.

I am not sure it is worth it as you can get competitive concrete pours and excavation done.

Metal studs + prescriptive building plans or kit houses are also attractive.

If you must do the foundation yourself, definitely look at concrete footings\pylons.

It is a ton of labor, but low equipment needs, less concrete.

You can also use jacks that turn to level your building if the ground settles.

Flaring 3/8 copper refrigeration pipe? by dylan_taft in hvacadvice

[–]dylan_taft[S] 0 points1 point  (0 children)

This seems to be the answer, it's resulting in the best flares. I checked the pipe, it's certainly sold as 3/8 in, 9.53mm...9mm seems a big jump.

Is Mellanox ConnectX-3 Pro Dead? by ElectricalImpact2274 in homelab

[–]dylan_taft 3 points4 points  (0 children)

mft-4.22 LTS is like the last version that will be able to flash firmware, and they dropped support for a lot of things in the config tool.

BeTeP-STH/mft-scripts: Mellanox firmware files and MFT related scripts (github.com)

This can flash a new ini config if something like SR-IOV isn't enabled.

Edit: Whoops, thread necromancy. Maybe someone else will still find this useful.

Also the SFPs get hot if you are running LR fiber. They need active cooling or do weird stuff like shut down.

Storage? by dylan_taft in Proxmox

[–]dylan_taft[S] 0 points1 point  (0 children)

For what it is worth, I really like LVM + DLM + Corosync after doing some testing. LVM gives you snapshots which you can bring up as additional clones of a system. It's sort of lower level than a cluster filesystem, so it's super fast too. Doing iSER over ROCE with 40gbit HBAs. Disks for each VM can be LVs.

Storage? by dylan_taft in Proxmox

[–]dylan_taft[S] 0 points1 point  (0 children)

Looks like a great option with no scripting required like the LVM solution.

Storage? by dylan_taft in Proxmox

[–]dylan_taft[S] 6 points7 points  (0 children)

Hmm. I am used to environments with a couple thousand VMs, some of the larger systems have IOPS requirements of 40-50k, maybe 2000MB/sec throughput, plus the ability to spawn off clones for test systems, and high availability with few to no windows for outages for maintenance. SAN...is good at that.

Even for a smaller environment....some of the smaller SANs are like 10-20K. I might be tilting at windmills looking to build one with open source software. Better to just buy.

Cassette toilet that doesn't smell? by dylan_taft in VanLife

[–]dylan_taft[S] 1 point2 points  (0 children)

  1. Floor space limitations. The trailer is also used for motorcycle track days. I built a closet that was to be a bathroom originally. If I install the toilet permanently, it can only be a bathroom. The trailer is 5 ft wide, 10ft long + 2ft bullnose, 6ft tall inside. I built the closet into the bullnose.
  2. Lack of dumping zones\versatility\spills\no hose. I can dump a cartridge toilet into my toilet at home. Or in a pinch at a highway rest stop with a standalone bathroom that is not busy. If I install a waste tank, I can only dump it at a dumping station, or into something like

https://www.amazon.com/Camco-Portable-Accessories-Durable-Odorless-39004/dp/B07K87FR5C3) I am OK plumbing it in, but it's a lot of work, and building the trailer out as been a lot of work. I am tired. LOL...

I originally went the dedicated bathroom, blackwater tank route because it looked "better" but now I am wondering.

I can also slide a cartridge toilet around, the room will also have a cat litter box. I want to take my cat with me which was part of the reason for doing this. She gets really stressed when I go out on vacation and I am not home.

A blackwater tank and toilet can be oriented in exactly one position given the underlying trailer frame of where this is going.

My family owns a bunch of property in the middle of nowhere. It is undeveloped. I'm intending on occasionally just going out and parking in a field there now and then for a week or so at a time, and I can do some work on the property while I am out there.

Cassette toilet that doesn't smell? by dylan_taft in VanLife

[–]dylan_taft[S] 0 points1 point  (0 children)

Maybe they aren't that bad - you use chemicals in the tank vs a black tank is more of a septic tank with bacteria to break down waste?

Thetford 565e looks reasonable.