Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
evol262
Nov 30, 2010
#!/usr/bin/perl
Not exactly...

virt-manager (and virt-install, and a bunch of other tools) query libosinfo now to try to figure out what the guest is and what it supports. The menu is pretty much just for legacy.

However, if the guest OS type can't be inferred for whatever reason, that menu is actually used. Ubuntu >=15.04 will use qxl for video. Older uses vmvga. Among other changes.

Most of these wouldn't be noticed anyway, they're just to provide a "best experience" (use virtio-* devices where possible, pre-fill the recommended CPU/memory boxes, use the nicest possible video driver, enable hyper-v enlightnements on windows, etc).

Adbot
ADBOT LOVES YOU

devmd01
Mar 7, 2006

Elektronik
Supersonik
Just upgraded the new prod and DR clusters to 6.0u2 latest patch from 5.5, feels good man.

Current prod can stay 5.5, those hosts will get bumped to 6 when I move them to the colo facility.

The host side web client is pretty slick, especially AD integrated.

devmd01 fucked around with this message at 00:09 on Sep 13, 2016

BangersInMyKnickers
Nov 3, 2004

I have a thing for courageous dongles

Fun new experience of the week: VMware CSR's flat-out lying, claiming that their Reliable Memory feature is working as intended when there is clear evidence that is not. At least Dell is sticking with it and forcing them to do something.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

evol262 posted:

Not exactly...

virt-manager (and virt-install, and a bunch of other tools) query libosinfo now to try to figure out what the guest is and what it supports. The menu is pretty much just for legacy.

However, if the guest OS type can't be inferred for whatever reason, that menu is actually used. Ubuntu >=15.04 will use qxl for video. Older uses vmvga. Among other changes.

Most of these wouldn't be noticed anyway, they're just to provide a "best experience" (use virtio-* devices where possible, pre-fill the recommended CPU/memory boxes, use the nicest possible video driver, enable hyper-v enlightnements on windows, etc).

You're always a font of useful information. Thanks!

Wicaeed
Feb 8, 2005
Anyone here actually do Netflow/sFlow logging across an entire VDS or Cisco UCS deployment?

Trying to evaluate what options I have if I want to look into doing something like that, without either:

A) Giving Solarwinds my business
B) Paying an arm and a leg

I have a feeling it's either A or B

adorai
Nov 2, 2002

10/27/04 Never forget
Grimey Drawer
C) wite some convoluted poo poo yourself that no one (including yourself) will understand in a year

Moey
Oct 22, 2010

I LIKE TO MOVE IT

adorai posted:

C) wite some convoluted poo poo yourself that no one (including yourself) will understand in a year

This is always the best option. Also make sure to not document anything.

Methanar
Sep 26, 2013

by the sex ghost
Code is self documenting :colbert:

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

Methanar posted:

Code is self documenting :colbert:
At the very least, it does what it says it does instead of telling you how it worked when the documentation was written a year ago and then forgotten about

Dr. Arbitrary
Mar 15, 2006

Bleak Gremlin
pre:
float Q_rsqrt( float number ) 
{ 
	long i;
 	float x2, y;
 	const float threehalfs = 1.5F;

 	x2 = number * 0.5F;
 	y = number;
 	i = * ( long * ) &y; // evil floating point bit level hacking
 	i = 0x5f3759df - ( i >> 1 ); // what the gently caress?
 	y = * ( float * ) &i;
 	y = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration
 //	y = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration, this can be removed 
	return y;
 }

Dr. Arbitrary fucked around with this message at 22:01 on Sep 19, 2016

wolrah
May 8, 2006
what?
Good code is self explanatory as to what it's doing. Well chosen variable/function/class names and reasonable formatting have you pretty much covered there.

Comments are for explaining why you're doing this thing, if it's not obvious given the context.

The function area_circle(radius) doesn't need to explain why pi is involved for example, because anyone who should be working on that should already know why, on the other hand the fast inverse square function above shows the sort of thing where anyone with a basic understanding of C can see what's being done but even the comments don't do a great job explaining why.

evol262
Nov 30, 2010
#!/usr/bin/perl

wolrah posted:

Good code is self explanatory as to what it's doing. Well chosen variable/function/class names and reasonable formatting have you pretty much covered there.
Well, maybe. But, as noted, you pretty much need to link to API documentation. Your code can be clear as day, but if it's written against a god-awful API or an unstable codebase (angular2, for example), well chosen naming, formatting, and comments only go so far.

wolrah posted:

Comments are for explaining why you're doing this thing, if it's not obvious given the context.
Spending the last 3 years working on/around platform problems on RHEL and fast-moving targets (Fedora, angular, etc) reinforces my opinion that what's obvious in context to the developer solving a specific problem isn't at all obvious to someone who comes by a year later to figure out what the hell is happening and why foo doesn't work anymore.

Abstractions are great, and this is a problem common to development everywhere, but I would never, ever hack some thing together (no matter how well it's written) and expect someone else to pick it up after a year when it subtly breaks after some API change. Large open source projects get scrapped and rewritten when the technical debt gets too ridiculous, even with (arguably) competent development teams. See: httpd, bind, php, firefox (and every browser mozilla writes -- repeatedly).

wolrah posted:

fast inverse square function above shows the sort of thing where anyone with a basic understanding of C can see what's being done
Can they, though? This is kind of the problem with well-known hacks. There are extremely good odds that almost any developer seeing that code without already being familiar with the algorithm would be :shobon: as to how it actually works. Bit shifting and newton's method aren't complex, but almost anyone would end up looking at that code (or anything which has some magic number without comments) and wonder how it works. The function name makes it clear what it does, but how it does it is another thing, even knowing C. A "basic understanding" isn't even close to grokking how it works.

e: Basically

quote:

Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it?

evol262 fucked around with this message at 23:53 on Sep 19, 2016

Dr. Arbitrary
Mar 15, 2006

Bleak Gremlin
Just write your code correctly the first time and you don't have to worry about all that baloney.

Pile Of Garbage
May 28, 2007



evol262 posted:

Spending the last 3 years working on/around platform problems on RHEL and fast-moving targets (Fedora, angular, etc) reinforces my opinion that what's obvious in context to the developer solving a specific problem isn't at all obvious to someone who comes by a year later to figure out what the hell is happening and why foo doesn't work anymore.

Seconding this big time, I'd say that it's basically a universal truth of development, that is if I actually did any development.

evil_bunnY
Apr 2, 2003

I always ask that people comment for a 3YO toddler, and it's never failed me so far. If I can understand what the code does, I don't need the comment. If I need to read the comment, it's because the code looks wrong, and having the comprehensive commenting will save my bacon more often than not.

Docjowles
Apr 9, 2009

evil_bunnY posted:

I always ask that people comment for a 3YO toddler, and it's never failed me so far. If I can understand what the code does, I don't need the comment. If I need to read the comment, it's because the code looks wrong, and having the comprehensive commenting will save my bacon more often than not.

Too bad everyone only does the complete reverse of this :eng99:

code:
i++; // increment i by 1

if $i == 1 { print "goon\n"; } // print goon if i is 1

$`<@"^[(\{_},)]/+-~%'?&|:!*.=>;# // no comment lol

wolrah
May 8, 2006
what?

evol262 posted:

Can they, though? This is kind of the problem with well-known hacks. There are extremely good odds that almost any developer seeing that code without already being familiar with the algorithm would be :shobon: as to how it actually works. Bit shifting and newton's method aren't complex, but almost anyone would end up looking at that code (or anything which has some magic number without comments) and wonder how it works. The function name makes it clear what it does, but how it does it is another thing, even knowing C. A "basic understanding" isn't even close to grokking how it works.

e: Basically

I think I may have worded that poorly because I think we pretty much agree on this one.

I meant it very literally, as in if you have that core understanding of C you can see that it's doing certain mathematical operations and bit shifting and such, but why it's doing those things is definitely not clear even with the comments it has. Even the overall purpose is not clear without looking at the name of the function.

I think there is a such thing as overcommenting for the reason Vulture Culture pointed out. Outdated documentation is often worse than nonexistent documentation, especially if it's unclear that the documentation is outdated. It's a tough balancing act.

1000101
May 14, 2003

BIRTHDAY BIRTHDAY BIRTHDAY BIRTHDAY BIRTHDAY BIRTHDAY FRUITCAKE!

Wicaeed posted:

Anyone here actually do Netflow/sFlow logging across an entire VDS or Cisco UCS deployment?

Trying to evaluate what options I have if I want to look into doing something like that, without either:

A) Giving Solarwinds my business
B) Paying an arm and a leg

I have a feeling it's either A or B

You probably want to look at vRealize Network Insight. I want to say its 1500 per socket and it will give you total visibility of whats going on in the VDS and the UCS.

edit: this came from the Arkin acquisition.

evol262
Nov 30, 2010
#!/usr/bin/perl

wolrah posted:

I think I may have worded that poorly because I think we pretty much agree on this one.

I meant it very literally, as in if you have that core understanding of C you can see that it's doing certain mathematical operations and bit shifting and such, but why it's doing those things is definitely not clear even with the comments it has. Even the overall purpose is not clear without looking at the name of the function.

I think there is a such thing as overcommenting for the reason Vulture Culture pointed out. Outdated documentation is often worse than nonexistent documentation, especially if it's unclear that the documentation is outdated. It's a tough balancing act.

Veering off of the virt thread here, but I think this is the thing, really.

Unless you're intentionally golfing your code, there are very few things which are opaque enough that someone with a basic understanding of the language can't look at it and say "ok, that's connecting to an endpoint and marshalling some JSON into an object". It's what it actually does that matters (like the magic number in the square root). Programming isn't complicated most of the time. Logic isn't complicated most of the time. Writing code which plays nicely with documented (or worse, undocumented) external libraries/APIs is the mess, whether or not that includes mashing your objects into some terrible XML, etc.

Outdated documentation is worse than nonexistent documentation, maybe. But having a link to the docs in the source is a lifesaver. Even if it's outdated, the "old docs" are usually still online somewhere, and you can track down what the current API uses.

anthonypants
May 6, 2007

by Nyc_Tattoo
Dinosaur Gum
Apparently it's really easy to recover a disk from its flat.vmdk file after someone deletes the disk's metadata. Thanks, VMware.

H2SO4
Sep 11, 2001

put your money in a log cabin


Buglord
guys, just write good code without bugs

not understanding the problem here

adorai
Nov 2, 2002

10/27/04 Never forget
Grimey Drawer

H2SO4 posted:

guys, just write good code without bugs

not understanding the problem here
I'm with you. I save a poo poo ton of money on QA by just doing it right the first time.

evil_bunnY
Apr 2, 2003

adorai posted:

I'm with you. I save a poo poo ton of money on QA by just doing it right the first time.
The trick is letting QA do the actual work. They'll get it right every time.

Methanar
Sep 26, 2013

by the sex ghost
Has anyone ever had ridiculous 350-500ms write latencies when using hybrid vsan?



Read speeds are fine, writing to SSD cache is fine, and the write latencies under vsan disk/deep dive show write latencies of around 3-10ms which is what you expect.

That makes me think the problem is between the vsan client tab and the vsan disk: ie the network fabric. But that doesn't make much sense either because clearly the data is getting to the servers just fine if the SSDs can write with zero latency. The hosts are connected together with 40g links with vcenter connected by 1g.


The m5210 raid card we're using isn't certified for vsan but is supposedly supported in raid 0 mode. Whatever it means. We interpreted it as meaning each drive had to be in a single-drive raid0 volume. Exposing single-drive jbod didn't allow vmware to recognize it, but the raid 0s were recognized, which sort of makes sense.

http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=vsanio&productid=36877

quote:

VSAN RAID 0 mode is only supported when the controller is in MegaRAID mode.

Am I just doing something dumb and obviously wrong?

YOLOsubmarine
Oct 19, 2004

When asked which Pokemon he evolved into, Kamara pauses.

"Motherfucking, what's that big dragon shit? That orange motherfucker. Charizard."

Methanar posted:

Has anyone ever had ridiculous 350-500ms write latencies when using hybrid vsan?



Read speeds are fine, writing to SSD cache is fine, and the write latencies under vsan disk/deep dive show write latencies of around 3-10ms which is what you expect.

That makes me think the problem is between the vsan client tab and the vsan disk: ie the network fabric. But that doesn't make much sense either because clearly the data is getting to the servers just fine if the SSDs can write with zero latency. The hosts are connected together with 40g links with vcenter connected by 1g.


The m5210 raid card we're using isn't certified for vsan but is supposedly supported in raid 0 mode. Whatever it means. We interpreted it as meaning each drive had to be in a single-drive raid0 volume. Exposing single-drive jbod didn't allow vmware to recognize it, but the raid 0s were recognized, which sort of makes sense.

http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=vsanio&productid=36877


Am I just doing something dumb and obviously wrong?

May be this: https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2146267

in a well actually
Jan 26, 2011

dude, you gotta end it on the rhyme

Methanar posted:

Has anyone ever had ridiculous 350-500ms write latencies when using hybrid vsan?



Read speeds are fine, writing to SSD cache is fine, and the write latencies under vsan disk/deep dive show write latencies of around 3-10ms which is what you expect.

That makes me think the problem is between the vsan client tab and the vsan disk: ie the network fabric. But that doesn't make much sense either because clearly the data is getting to the servers just fine if the SSDs can write with zero latency. The hosts are connected together with 40g links with vcenter connected by 1g.


The m5210 raid card we're using isn't certified for vsan but is supposedly supported in raid 0 mode. Whatever it means. We interpreted it as meaning each drive had to be in a single-drive raid0 volume. Exposing single-drive jbod didn't allow vmware to recognize it, but the raid 0s were recognized, which sort of makes sense.

http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=vsanio&productid=36877


Am I just doing something dumb and obviously wrong?

Entry-level RAID controllers generally don't play well with VSAN; that's probably the most likely suspect. I'd make sure you're following the steps in the linked KB in the compatibility page to the letter. Also make sure the firmware on your Mellanox cards are up to date.

in a well actually fucked around with this message at 03:02 on Sep 25, 2016

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

evol262 posted:

Unless you're intentionally golfing your code, there are very few things which are opaque enough that someone with a basic understanding of the language can't look at it and say "ok, that's connecting to an endpoint and marshalling some JSON into an object". It's what it actually does that matters (like the magic number in the square root). Programming isn't complicated most of the time.
I think this is true of most languages. But I've worked with enough Ruby that tries to do insane "clever" things via multi-layered metaprogramming indirections and dumb uses of def self.method_missing in order to produce a saccharine API that I'm far more cynical about this topic nowadays.

That said: debuggers can figure out what the code is doing (Heisenbugs aside), but never what the intent was of the person who wrote it.

Vulture Culture fucked around with this message at 06:47 on Sep 25, 2016

H2SO4
Sep 11, 2001

put your money in a log cabin


Buglord
Shoutout to VMWare Converter for doing a bangup job getting my lab VMs out of Acropolis and back onto good old fashioned ESXi hosts. I'll still end up just building new DCs and decomming those instead of trying to convert them as well. I suspect they should convert fine but DCs are disposable enough to not worry about accidentally giving my domain cancer.

Why yes I have had to help clean up a gigantic USN rollback when the intel guys brought up ancient DC snapshots in their prod network instead of their lab, how did you know?

madsushi
Apr 19, 2009

Baller.
#essereFerrari
All of the VMware bloggers posted this today.

Slight Mr. Robot spoilers (very slight, S1).

http://cormachogan.com/2016/09/27/blog-hacked-vs0ciety/

Potato Salad
Oct 23, 2014

nobody cares


Nvidia GTX series cards try to avoid virt. You have to either pull serious trickery or buy a Quadro.

What about eGPU?

External Thundabolt 3 gpu enclosure + passhrough......? Forget use case; would anything prevent use of a, say, GTX 1060 by TB3 on a Windows vm?

evol262
Nov 30, 2010
#!/usr/bin/perl
There's not that much "trickery" needed.

External GPUs (and thunderbolt in general) still pass PCIe lanes. You'd have the same problems. Assuming it's even on a different IOMMU group

SamDabbers
May 26, 2003



The extent of said trickery for libvirt/KVM with a Windows guest:
code:
  <features>
    <hyperv>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
      <vendor_id state='on' value='0123456789ab'/>
    </hyperv>
    <kvm>
      <hidden state='on'/>
    </kvm>
  </features>

cliffy
Apr 12, 2002

SamDabbers posted:

The extent of said trickery for libvirt/KVM with a Windows guest:
code:
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>

These aren't strictly necessary to enable NVIDIA GPU passthrough though, right? These are just HyperV enlightenments which improve performance.

SamDabbers
May 26, 2003



The GeForce driver doesn't start if it detects a known hypervisor. Hiding KVM is necessary, but you can use the Hyper-V paravirtualizations if you change the vendor ID.

cliffy
Apr 12, 2002

SamDabbers posted:

The GeForce driver doesn't start if it detects a known hypervisor. Hiding KVM is necessary, but you can use the Hyper-V paravirtualizations if you change the vendor ID.

Right, all I'm trying to say is those settings aren't strictly necessary to un-gently caress NVIDIA's gracious decision to limit how you use your own hardware.

All you need to do is set KVM to hidden. You only need to change the HyperV vendor ID if you use HyperV paravirtualizations, like you said.

Just being pedantic.

Potato Salad
Oct 23, 2014

nobody cares


My Google-fu fails me at the moment, but I'll keep trying:

Does vSAN All-Flash require two distinct capacity and caching tiers, or can you get away with just a capacity tier?

YOLOsubmarine
Oct 19, 2004

When asked which Pokemon he evolved into, Kamara pauses.

"Motherfucking, what's that big dragon shit? That orange motherfucker. Charizard."

Potato Salad posted:

My Google-fu fails me at the moment, but I'll keep trying:

Does vSAN All-Flash require two distinct capacity and caching tiers, or can you get away with just a capacity tier?

It requires both.

keykey
Mar 28, 2003

     
Is there any way to boost HD video performance, youtube for example, between the vm and remote desktop? Last week I downloaded the free Hyper-v server 2012 r2 and configured it with a few VM's. I played around with RemoteFX and have found 0 operating difference between it being enabled/disabled or with it running off the built in intel hd4600 on cpu graphics vs a gtx 750. Maybe I'm going about this the wrong way, but the only thing that really sucks about the VM's I'm playing with so far is HD video performance over a local connection which is where I need it to run a few minor machines off it.

adorai
Nov 2, 2002

10/27/04 Never forget
Grimey Drawer
we use citrix xendesktop and hdx, it works quite well. I'm not going to claim watching a youtube video is perfect, but it's pretty damned good.

Adbot
ADBOT LOVES YOU

PacMain
Nov 15, 2003
I got blood on my hands and there's no remorse...
how deep can you go?

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply