<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto">Hello Stephen,<div><br></div><div><span style="font-size: 16px; caret-color: rgb(46, 51, 59); color: rgb(46, 51, 59); font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; white-space: pre-wrap; -webkit-text-size-adjust: 100%; background-color: rgb(216, 218, 236);">Yes, OpenStack does support USB passthrough. You can pass through USB devices to instances running in OpenStack by using the </span><code style="color: var(--tw-prose-code); border: 0px solid rgb(217, 217, 227); box-sizing: border-box; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgba(59,130,246,0.5); --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-shadow: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-shadow-colored: 0 0 transparent; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; font-size: 0.875em; font-weight: 600; white-space: pre-wrap; -webkit-text-size-adjust: 100%; font-family: "Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace !important;">nova.virt.libvirt.vif.LibvirtGenericVIFDriver</code><span style="font-size: 16px; caret-color: rgb(46, 51, 59); color: rgb(46, 51, 59); font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; white-space: pre-wrap; -webkit-text-size-adjust: 100%; background-color: rgb(216, 218, 236);"> driver and the </span><code style="color: var(--tw-prose-code); border: 0px solid rgb(217, 217, 227); box-sizing: border-box; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgba(59,130,246,0.5); --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-shadow: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-shadow-colored: 0 0 transparent; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; font-size: 0.875em; font-weight: 600; white-space: pre-wrap; -webkit-text-size-adjust: 100%; font-family: "Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace !important;">qemu:commandline</code><span style="font-size: 16px; caret-color: rgb(46, 51, 59); color: rgb(46, 51, 59); font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; white-space: pre-wrap; -webkit-text-size-adjust: 100%; background-color: rgb(216, 218, 236);"> option in the </span><code style="color: var(--tw-prose-code); border: 0px solid rgb(217, 217, 227); box-sizing: border-box; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgba(59,130,246,0.5); --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-shadow: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-shadow-colored: 0 0 transparent; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; font-size: 0.875em; font-weight: 600; white-space: pre-wrap; -webkit-text-size-adjust: 100%; font-family: "Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace !important;">nova.conf</code><span style="font-size: 16px; caret-color: rgb(46, 51, 59); color: rgb(46, 51, 59); font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; white-space: pre-wrap; -webkit-text-size-adjust: 100%; background-color: rgb(216, 218, 236);"> file.</span><br><div><br></div><div>Best,</div><div>Kerem Çeliker</div><div>keremceliker.medium.com<br><div dir="ltr">Sent from my iPhone</div><div dir="ltr"><br><blockquote type="cite">On 4 Jan 2023, at 02:25, openstack-discuss-request@lists.openstack.org wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><span>Send openstack-discuss mailing list submissions to</span><br><span> openstack-discuss@lists.openstack.org</span><br><span></span><br><span>To subscribe or unsubscribe via the World Wide Web, visit</span><br><span> https://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-discuss</span><br><span></span><br><span>or, via email, send a message with subject or body 'help' to</span><br><span> openstack-discuss-request@lists.openstack.org</span><br><span></span><br><span>You can reach the person managing the list at</span><br><span> openstack-discuss-owner@lists.openstack.org</span><br><span></span><br><span>When replying, please edit your Subject line so it is more specific</span><br><span>than "Re: Contents of openstack-discuss digest..."</span><br><span></span><br><span></span><br><span>Today's Topics:</span><br><span></span><br><span> 1. Re: [nova] Do openstack support USB passthrough (Sean Mooney)</span><br><span> 2. Re: [ops] QOS on flavor breaking live migration from CentOS 7</span><br><span> to 8 (Sean Mooney)</span><br><span> 3. Re: [cloudkitty] Instances billing based on tags (Satish Patel)</span><br><span> 4. [nova][keystone] workload identity? (Mohammed Naser)</span><br><span> 5. Re: [cloudkitty] Instances billing based on tags</span><br><span> (Rafael Weing?rtner)</span><br><span></span><br><span></span><br><span>----------------------------------------------------------------------</span><br><span></span><br><span>Message: 1</span><br><span>Date: Tue, 03 Jan 2023 19:03:23 +0000</span><br><span>From: Sean Mooney <smooney@redhat.com></span><br><span>To: Stephen Finucane <stephenfin@redhat.com>, ???</span><br><span> <hanguangyu2@gmail.com>, openstack-discuss</span><br><span> <openstack-discuss@lists.openstack.org></span><br><span>Subject: Re: [nova] Do openstack support USB passthrough</span><br><span>Message-ID:</span><br><span> <765850d1c170a510d34dafb4253ab97528829351.camel@redhat.com></span><br><span>Content-Type: text/plain; charset="UTF-8"</span><br><span></span><br><span>On Tue, 2023-01-03 at 14:54 +0000, Stephen Finucane wrote:</span><br><blockquote type="cite"><span>On Mon, 2022-12-26 at 10:04 +0000, ??? wrote:</span><br></blockquote><blockquote type="cite"><blockquote type="cite"><span>Hi, all</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>I want to ask if openstack support USB passthrough now?</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>Or if I want the instance to recognize the USB flash drive on the</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>host, do you have any suggestions?</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>Thanks,</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>Han</span><br></blockquote></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>This isn't supported in nova and probably never will be. The closest you can get</span><br></blockquote><blockquote type="cite"><span>is to passthrough an entire USB controller as suggested by this blog [1], but</span><br></blockquote><blockquote type="cite"><span>that's really a hack and I 100% would not use it in production.</span><br></blockquote><span></span><br><span>ya so we have discussed usb passthough supprot a few times and its somethign nova could add but there has</span><br><span>neither been the demand or desire to add it stongly enough in the core team to actully do it.</span><br><span></span><br><span>the shorted path to enableing usb passthoug would likely be to add support to cyborg and then add support for that ot nova.</span><br><span>i am perhaps the most open of the nova cores to supporting usb passthough since i have wanted to add it in the past but</span><br><span>if we were to support it it would have to be similar to howe we support pci passhtough. static provisioning and likely only of</span><br><span>stateless devices which rules out usb falsh drives.</span><br><span></span><br><span>usb gps recivers for precision time stamping was one of the usecause raised in the past which we were somewhat open too</span><br><span>the other was usb programmers/debuggers forh cases when vms where used in industral test and automation workflows.</span><br><span></span><br><span>as stephen said the only way to do it today is to piggyback on pci passthough and passhtough a usb contoller not a single device.</span><br><span></span><br><span>if we were to ever support this in nova directly i would proably extend the pci tracker or support other buses like usb or use the generic</span><br><span>resouce table created for persistent memory to model the devices. in eitehr case we would want this capablity to be placement native from the</span><br><span>start if we added this capablity so it would be more and less work then you might imagine to do this right.</span><br><span>less work if we maintain the requirement for statless devices only (ie no usb flash drives) more if you also need to handel multi tenancy and</span><br><span>move operation include data copying, erasure and or encypetion.</span><br><span></span><br><span>i would not expect this to change in the next few release unless multiple operators provide feedback that this is a broadly deired capablity.</span><br><span>with out a top level generic device api for mutple type of devices (vgpu, usb, pci) that was decoupled form the flaovr or an abstraction like</span><br><span>the cyborg device-profile or pci alias it is hard to see a clean way to model this in our api. that is why enabling it in cyborg and then extneding</span><br><span>nova ot support device profiles with a device type of usb is the simplar solution form a nova perspecitve but that is non trivial from an operational</span><br><span>perspective as you requrie cyborg to utilise the feature. doing it via a usb_alias in the flavor has all the draw backs of the pci_alias, static</span><br><span>configuration that must match on all compute nodes and futher proliferation of flavor explostion. this is one of the reasons we have not added this in</span><br><span>the past. the work to do it in the libvirt driver would not be hard but the maintaince and operational overhead of using it for operators is non</span><br><span>trivial.</span><br><span></span><br><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>Stephen</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>[1] https://egallen.com/openstack-usb-passthrough/</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><span></span><br><span></span><br><span></span><br><span></span><br><span>------------------------------</span><br><span></span><br><span>Message: 2</span><br><span>Date: Tue, 03 Jan 2023 19:20:50 +0000</span><br><span>From: Sean Mooney <smooney@redhat.com></span><br><span>To: Jahson Babel <jahson.babel@cc.in2p3.fr>,</span><br><span> openstack-discuss@lists.openstack.org</span><br><span>Subject: Re: [ops] QOS on flavor breaking live migration from CentOS 7</span><br><span> to 8</span><br><span>Message-ID:</span><br><span> <b0f13cde177cd8b5f7e6e5b20445decab7dbc8b8.camel@redhat.com></span><br><span>Content-Type: text/plain; charset="UTF-8"</span><br><span></span><br><span>hi yes this is a know issue.</span><br><span></span><br><span>so the simple answer is resize all affected vms instead of live migrating them</span><br><span>the longer answer is we have been dissing this internally at redhat on and off for</span><br><span>some time now.</span><br><span>https://bugs.launchpad.net/nova/+bug/1960840 is one example where this happens.</span><br><span></span><br><span>there is another case for the cpu based quotas that happens when going form rhel/centos 8->9</span><br><span>basically in the 8->9 change the cgroups implemantion changes form v1 to v2</span><br><span>https://bugzilla.redhat.com/show_bug.cgi?id=2035518</span><br><span></span><br><span>when adressing that we did not have a good universal solution for instnace that hardcoded a value that</span><br><span>was incompatible with the cgroups_v2 api in the kernel except resize.</span><br><span></span><br><span>in https://review.opendev.org/c/openstack/nova/+/824048/ we removed automatically adding the</span><br><span>cpu_shares cgroup option to enable booting vms with more then 8 cpus</span><br><span></span><br><span>we did not come up with any option other then resize for the other quotas that were in a similar situation.</span><br><span>the one option that we considerd possibel to do was extend nova-mange to allow the embeded flaour to be updated</span><br><span>this would be similar to what we did to enable the image property to be modifed for chaing machine types.</span><br><span></span><br><span>https://docs.openstack.org/nova/latest/cli/nova-manage.html#image-property-commands</span><br><span></span><br><span>we didcussed at the time that while we did not want to allow falvor extra specs to be modifed we might recondier that</span><br><span>if the quota issue forced our hand or we had a similar need due to foces beyond our contol. i.e. we needed to provide a way beyond</span><br><span>resize e.g. due ot operating system changes. what make image properties and flavor extra spec different is that image proerties can</span><br><span>only be updated by rebuild which is a destructive operation. extra specs are upsted by resize which is not a destructive operation.</span><br><span>that is one of the reasons we have special considertion to image properties and did not do the same for extra specs.</span><br><span></span><br><span>if we allow the same for flavor extra specs you would still have to stop the instance, make the change and then migrate the instnace</span><br><span>resize automates that so it is generall a better fit. we were also conceren that adding it to nova manage would result in it being abused</span><br><span>to modify instnace in ways that were either invalid for the host(changing the numa toplogy, adding traits/resouce request not trackedcxd in placemnt)</span><br><span>or otherwise break the instnace in weird ways. that could happen via image properites too but its less likely. </span><br><span></span><br><span></span><br><span></span><br><span>On Tue, 2023-01-03 at 17:25 +0100, Jahson Babel wrote:</span><br><blockquote type="cite"><span>Hello,</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>I'm trying to live migrate some VMs from CentOS 7 to Rocky 8.</span><br></blockquote><blockquote type="cite"><span>Everything run smoothly when there is no extra specs on flavors but </span><br></blockquote><blockquote type="cite"><span>things getting more complicated when those are fixed. Especially when </span><br></blockquote><blockquote type="cite"><span>using quota:vif_burst for QOS.</span><br></blockquote><blockquote type="cite"><span>I know that we aren't supposed to use this for QOS now but it's an old </span><br></blockquote><blockquote type="cite"><span>cluster and it was done that way at the time. So VMs kinda have all </span><br></blockquote><blockquote type="cite"><span>those specs tied to them.</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>When live migrate a VM this show up in the nova's logs :</span><br></blockquote><blockquote type="cite"><span>driver.py _live_migration_operation nova.virt.libvirt.driver? Live </span><br></blockquote><blockquote type="cite"><span>Migration failure: internal error: Child process (tc class add dev </span><br></blockquote><blockquote type="cite"><span>tapxxxxxxxx-xx parent 1: classid 1:1 htb rate 250000kbps ceil </span><br></blockquote><blockquote type="cite"><span>2000000kbps burst 60000000kb quantum 21333) unexpected exit status 1: </span><br></blockquote><blockquote type="cite"><span>Illegal "burst"</span><br></blockquote><blockquote type="cite"><span>This bug cover the problem : https://bugs.launchpad.net/nova/+bug/1960840</span><br></blockquote><blockquote type="cite"><span>So it's seems to be a normal behavior. Plus I forgot to mention that I'm </span><br></blockquote><blockquote type="cite"><span>on OpenStack Train version and the file mentioned in the launchpad is </span><br></blockquote><blockquote type="cite"><span>not present for this version.</span><br></blockquote><blockquote type="cite"><span>By using Rocky 8 I have to use an updated libvirt that won't accept the </span><br></blockquote><blockquote type="cite"><span>burst parameter we used to set. All available versions of libvirt on </span><br></blockquote><blockquote type="cite"><span>Rocky 8 have changed behavior concerning the burst parameter.</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>I've done some testing to make things works including removing the </span><br></blockquote><blockquote type="cite"><span>extra_specs on flavors and in the DB, removing it through libvirt and </span><br></blockquote><blockquote type="cite"><span>trying to modify tc rules used by a VM but it didn't worked.</span><br></blockquote><blockquote type="cite"><span>I have not tried yet to patch Nova or Libvirt but I don't really know </span><br></blockquote><blockquote type="cite"><span>where to look for.</span><br></blockquote><blockquote type="cite"><span>The only thing that did work was to resize the VM to an identical flavor </span><br></blockquote><blockquote type="cite"><span>without the extra_specs. But this induce a complete reboot of the VM. I </span><br></blockquote><blockquote type="cite"><span>would like, if possible, to be able to live migrate the VMs which is </span><br></blockquote><blockquote type="cite"><span>quite easier.</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>Is it possible to remove the extra_specs on the VMs and then live </span><br></blockquote><blockquote type="cite"><span>migrate ? Or should I just plan to resize/reboot all VMs without those </span><br></blockquote><blockquote type="cite"><span>extra_specs ?</span><br></blockquote><blockquote type="cite"><span>Any advise will be appreciated.</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>Thank you for any help,</span><br></blockquote><blockquote type="cite"><span>Best regards.</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>Jahson</span><br></blockquote><span></span><br><span></span><br><span></span><br><span></span><br><span>------------------------------</span><br><span></span><br><span>Message: 3</span><br><span>Date: Tue, 3 Jan 2023 15:23:19 -0500</span><br><span>From: Satish Patel <satish.txt@gmail.com></span><br><span>To: Rafael Weing?rtner <rafaelweingartner@gmail.com></span><br><span>Cc: OpenStack Discuss <openstack-discuss@lists.openstack.org></span><br><span>Subject: Re: [cloudkitty] Instances billing based on tags</span><br><span>Message-ID:</span><br><span> <CAPgF-fpGyO-Z8bt7KMdP7CAhi9kne3136ptoE+8coURyFwi7yw@mail.gmail.com></span><br><span>Content-Type: text/plain; charset="utf-8"</span><br><span></span><br><span>Wow! very interesting, I will poke around and see how it's feasible. Very</span><br><span>curious how it will represent that data in horizon UI. Currently I am</span><br><span>seeing rates based on project_id so assuming it will show based on</span><br><span>customer_id. correct?</span><br><span></span><br><span></span><br><span>On Tue, Jan 3, 2023 at 8:13 AM Rafael Weing?rtner <</span><br><span>rafaelweingartner@gmail.com> wrote:</span><br><span></span><br><blockquote type="cite"><span>You can do that. Basically, you can start collecting those attributes you</span><br></blockquote><blockquote type="cite"><span>want for billing (e.g. tags) via Ceilometer dynamic pollster (that is the</span><br></blockquote><blockquote type="cite"><span>easiest way to achieve this). Then, you need to configure the resource type</span><br></blockquote><blockquote type="cite"><span>in Gnocchi to store this extra attribute, and of course, configure</span><br></blockquote><blockquote type="cite"><span>CloudKitty to collect/use it. Both in the metrics.yml and then in the</span><br></blockquote><blockquote type="cite"><span>hashmap or Pyscript rules.</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>On Mon, Jan 2, 2023 at 11:01 PM Satish Patel <satish.txt@gmail.com> wrote:</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><blockquote type="cite"><span>Folks,</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>We have an AWS project and in a single project we run multiple customers</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>so for billing we use tags. In short every vm instance has a tag (customer</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>name) and that way we can produce bills for each customer.</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>Recently I am playing with openstack cloudkitty and it works with</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>standard cases like project based billing. But does it support tags based</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>billing just similar to what i have explained in the above aws example?</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>--</span><br></blockquote><blockquote type="cite"><span>Rafael Weing?rtner</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><span>-------------- next part --------------</span><br><span>An HTML attachment was scrubbed...</span><br><span>URL: <https://lists.openstack.org/pipermail/openstack-discuss/attachments/20230103/55a6b39b/attachment-0001.htm></span><br><span></span><br><span>------------------------------</span><br><span></span><br><span>Message: 4</span><br><span>Date: Tue, 3 Jan 2023 15:27:03 -0500</span><br><span>From: Mohammed Naser <mnaser@vexxhost.com></span><br><span>To: OpenStack Discuss <openstack-discuss@lists.openstack.org></span><br><span>Subject: [nova][keystone] workload identity?</span><br><span>Message-ID:</span><br><span> <CAEs876hYr_mkhkgJ4S8cc2Cij4ZZ5oK20CiZpsWvpif8oitKFA@mail.gmail.com></span><br><span>Content-Type: text/plain; charset="utf-8"</span><br><span></span><br><span>Hi folks:</span><br><span></span><br><span>I?m wondering if there?s anyone who?s had some thought or perhaps some</span><br><span>work/progress/thoughts on workload identity (example service accounts for</span><br><span>VMs) ? is that something that?s really far away for us? Has someone</span><br><span>thought about outlining what?s needed?</span><br><span></span><br><span>Thanks</span><br><span>Mohammed</span><br><span>-- </span><br><span>Mohammed Naser</span><br><span>VEXXHOST, Inc.</span><br><span>-------------- next part --------------</span><br><span>An HTML attachment was scrubbed...</span><br><span>URL: <https://lists.openstack.org/pipermail/openstack-discuss/attachments/20230103/8d2e1b21/attachment-0001.htm></span><br><span></span><br><span>------------------------------</span><br><span></span><br><span>Message: 5</span><br><span>Date: Tue, 3 Jan 2023 17:39:18 -0300</span><br><span>From: Rafael Weing?rtner <rafaelweingartner@gmail.com></span><br><span>To: Satish Patel <satish.txt@gmail.com></span><br><span>Cc: OpenStack Discuss <openstack-discuss@lists.openstack.org></span><br><span>Subject: Re: [cloudkitty] Instances billing based on tags</span><br><span>Message-ID:</span><br><span> <CAG97rac6+PE+scD3j=hty20d9w_VVUbqdHG1B1a4pktrpH8ANw@mail.gmail.com></span><br><span>Content-Type: text/plain; charset="utf-8"</span><br><span></span><br><span>It is showing metrics based on the scope configured. I guess you have set</span><br><span>the scopes to be mapped as project IDs. If you want other attribute to</span><br><span>represent the scope, you need to change that in CloudKitty.</span><br><span></span><br><span>On Tue, Jan 3, 2023 at 5:23 PM Satish Patel <satish.txt@gmail.com> wrote:</span><br><span></span><br><blockquote type="cite"><span>Wow! very interesting, I will poke around and see how it's feasible. Very</span><br></blockquote><blockquote type="cite"><span>curious how it will represent that data in horizon UI. Currently I am</span><br></blockquote><blockquote type="cite"><span>seeing rates based on project_id so assuming it will show based on</span><br></blockquote><blockquote type="cite"><span>customer_id. correct?</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>On Tue, Jan 3, 2023 at 8:13 AM Rafael Weing?rtner <</span><br></blockquote><blockquote type="cite"><span>rafaelweingartner@gmail.com> wrote:</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><blockquote type="cite"><span>You can do that. Basically, you can start collecting those attributes you</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>want for billing (e.g. tags) via Ceilometer dynamic pollster (that is the</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>easiest way to achieve this). Then, you need to configure the resource type</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>in Gnocchi to store this extra attribute, and of course, configure</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>CloudKitty to collect/use it. Both in the metrics.yml and then in the</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>hashmap or Pyscript rules.</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>On Mon, Jan 2, 2023 at 11:01 PM Satish Patel <satish.txt@gmail.com></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>wrote:</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><span>Folks,</span><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><span>We have an AWS project and in a single project we run multiple customers</span><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><span>so for billing we use tags. In short every vm instance has a tag (customer</span><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><span>name) and that way we can produce bills for each customer.</span><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><span>Recently I am playing with openstack cloudkitty and it works with</span><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><span>standard cases like project based billing. But does it support tags based</span><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><span>billing just similar to what i have explained in the above aws example?</span><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>--</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>Rafael Weing?rtner</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><span></span><br></blockquote><span></span><br><span>-- </span><br><span>Rafael Weing?rtner</span><br><span>-------------- next part --------------</span><br><span>An HTML attachment was scrubbed...</span><br><span>URL: <https://lists.openstack.org/pipermail/openstack-discuss/attachments/20230103/cca3f116/attachment.htm></span><br><span></span><br><span>------------------------------</span><br><span></span><br><span>Subject: Digest Footer</span><br><span></span><br><span>_______________________________________________</span><br><span>openstack-discuss mailing list</span><br><span>openstack-discuss@lists.openstack.org</span><br><span></span><br><span></span><br><span>------------------------------</span><br><span></span><br><span>End of openstack-discuss Digest, Vol 51, Issue 6</span><br><span>************************************************</span><br></div></blockquote></div></div></body></html>