[openstack-dev] [python-novaclient] servers list
Hi guys, I'm working with 'servers.list' call in 'nova.novaclient' and I'm getting different server lists depending on whether the user issuing the call is and admin or not. It seems like only an admin user can filter the returned list while a non-admin gets a list of all the servers no matter what filter is being used. Is this a know issue ? Best regards, -- -- Abbass MAROUNI VirtualScale ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
[openstack-dev] [cinder][nova] cinder querying nova-api
Thanks Thomas, By cinder spec. you mean a cinder blueprint ? Where I can submit such a proposition ? Thanks, On 07/17/2014 05:20 PM, openstack-dev-requ...@lists.openstack.org wrote: You're far from the only person trying to achieve that result, there's plenty of interest in it, and a few approaches being suggested. I can't see a current cinder spec open for this, so it might be worth you starting one, you're more likely to get detailed feedback about the pitfalls there. ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [cinder][nova] cinder querying nova-api
Thanks Thomas, What I'm trying to achieve is the following : To be able to create a VM on a host (that's a compute and volume host at the same time) then call cinder and let it find the host and create and attach volumes there. I guess the biggest problem is to be able to identify the host, as you said the host_id is of little use here. Unless I try to query the nova api as admin and get a list of hypervisors and their vms. But then I'll have to match the nova host name with the cinder host name. Any thoughts on this ? Is there any blueprint for attaching local volumes in cinder ? Thanks, Abbass, On 07/16/2014 05:44 PM, openstack-dev-requ...@lists.openstack.org wrote: So I see a couple of issues here: 1) reliability - need to decide what the scheduler does if the nova api isn't responding - hanging and ignoring future scheduling requests is not a good option... a timeout and putting the volume into error might be fine. 2) Nova doesn't expose hostname as identifiers unless I'm mistaken, it exposes some abstract host_id. Need to figure out the mapping between those and cinder backends. With those to caveats in mind, I don't see why not, nor indeed any other way of solving the problem unless / until the grand-unified-sheduler-of-everything happens. Starting a cinder spec on the subject might be the best place to collect people's thoughts? ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
[openstack-dev] [Nova][API] Programmatic access to hypervisor servers
Hi all, I'm trying to get the equivalent of the following nova client command programmatically : root@cloudController1:~# nova hypervisor-servers computeHost1 +--+---+---+-+ | ID | Name | Hypervisor ID | Hypervisor Hostname | +--+---+---+-+ | b22fa835-4118-434d-a536-a8q95720a21a | instance-0030 | 1 | compute1| | c1778664-e31d-455e-81f2-8776c8a8fa0e | instance-0031 | 1 | compute1| | 318d61db-f67c-475c-84a7-a9580bkh53cc | instance-0035 | 1 | compute1| | 5f5baaed-f8ca-4161-95eb-cbpopc41b70b | instance-0039 | 1 | compute1| +--+---+---+-+ I'm in the process of writing a filter and I need to get the hypervisor that's running a given VM. I have access to the novaclient api and a context object but cannot figure out how get the above result. Thanks, -- -- Abbass MAROUNI VirtualScale ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
[openstack-dev] [cinder][nova] cinder querying nova-api
Hello guys, I'm in the process of writing a cinder filter and weigher, I need to know whether I can use something like 'nova-api' inside filter/weigher to query the tags of a virtual machine running on a compute-node. I need to create the cinder volume on the same host as the VM (which was created beforehand). I really appreciate any insights or workarounds. Best Regards, Abbass, ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] OpenStack-dev Digest, Vol 26, Issue 77
Hello Joe, Thanks for your quick reply, here's what we're trying to do : In the scheduling process of a virtual machine we need to be able to choose the best Host (which is a cinder-volume and nova-compute host at the same time) that has enough volume space so that we can launch the VM then create and attach some cinder volumes locally (on the same host). We get the part where we check the available cinder space on each host (in a filter) and choose the best host (that has the most free space in a Weigher). Now we need to tell cinder to create and attach the volumes. We need to be able to do it from Heat. So I was thinking that if I can tag the virtual machine with the name of the chosen host (in the Weigher) then I can extract the tag (somehow !) and use it in heat as a dependency in the volume element (At least that's what I'm thinking : the virtual machine will be launched and Heat will extract the tag then use it to create/attach the volumes). I'm sure that there are other means to achieve this, so any help will be greatly appreciated. Thanks, On 06/24/2014 11:38 PM, openstack-dev-requ...@lists.openstack.org wrote: Hi, I was wondering if there's a way to set a tag (key/value) of a Virtual Machine from within a scheduler filter ? The scheduler today is just for placement. And since we are in the process of trying to split it out, I don't think we want to make the scheduler do something like this (at least for now). I want to be able to tag a machine with a specific key/value after passing my custom filter What is your use case? Perhaps we have another way of solving it today. -- -- Abbass MAROUNI VirtualScale ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [Nova][Scheduler]
Hello Joe, Thanks for your quick reply, here's what we're trying to do : In the scheduling process of a virtual machine we need to be able to choose the best Host (which is a cinder-volume and nova-compute host at the same time) that has enough volume space so that we can launch the VM then create and attach some cinder volumes locally (on the same host). We get the part where we check the available cinder space on each host (in a filter) and choose the best host (that has the most free space in a Weigher). Now we need to tell cinder to create and attach the volumes. We need to be able to do it from Heat. So I was thinking that if I can tag the virtual machine with the name of the chosen host (in the Weigher) then I can extract the tag (somehow !) and use it in heat as a dependency in the volume element (At least that's what I'm thinking : the virtual machine will be launched and Heat will extract the tag then use it to create/attach the volumes). I'm sure that there are other means to achieve this, so any help will be greatly appreciated. Thanks, On 06/24/2014 11:38 PM, openstack-dev-requ...@lists.openstack.org wrote: Hi, I was wondering if there's a way to set a tag (key/value) of a Virtual Machine from within a scheduler filter ? The scheduler today is just for placement. And since we are in the process of trying to split it out, I don't think we want to make the scheduler do something like this (at least for now). I want to be able to tag a machine with a specific key/value after passing my custom filter What is your use case? Perhaps we have another way of solving it today. -- -- Abbass MAROUNI VirtualScale ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
[openstack-dev] [Nova][Scheduler]
Hi, I was wondering if there's a way to set a tag (key/value) of a Virtual Machine from within a scheduler filter ? I want to be able to tag a machine with a specific key/value after passing my custom filter Thanks, -- -- Abbass MAROUNI VirtualScale ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [neutron] packet forwarding
Hello Ian, Found some anti-spoofing rules in the ebtables (ebtables -t nat -L) of the compute-host where my router VM is located. These rules are automatically generated by libvirt for each VM and are usually generated from a preset of rules (anti-ip-spoofing.xml). Disabling this rule didn't help as I found later that there are some iptables chains also on the compute host that did some anti-spoofing filtering (iptables -t filter -L). So one need to disable the libvirt anti-ip-spoofing and the iptables anti-spoofing. I disabled the libvirt anti-ip-spoofing by removing the filter from nova-base (virsh nwfilter-edit nova-base) and manually added a rule to iptables. Thanks a lot. Abbass. Randy has it spot on. The antispoofing rules prevent you from doing this in Neutron. Clearly a router transmits traffic that isn't from it, and receives traffic that isn't addressed to it - and the port filtering discards them. You can disable them for the entire cloud by judiciously tweaking the Nova config settings, or if you're using the Nicira plugin you'll find it has extensions for modifying firewall behaviour (they could do with porting around, or even becoming core, but at the moment they're Nicira-specific). -- Ian. ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
[openstack-dev] [neutron] packet forwarding
Hello, Is it true that a traffic from one OpenStack virtual network to another have to pass by an OpenStack router ? (using an OpenVirtual switch as the L2 ). I'm trying ti use a VM as a router between 2 OpenStack virtual networks but for some reason I'm not able. Appreciate any insights, Best regards, Abbass ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] OpenStack-dev Digest, Vol 20, Issue 13
Hi Paul, Thanks for your answer, I read the blueprint and am aware of what it will add to the whole resource and scheduling bits of OpenStack. I guess I'll just continue with what I did and wait for the blueprint to get implemented, unless there's a quick way to add it to Havana without waiting for the next release. Abbass. Hi Abbass, I guess you read the blueprint Russell referred to. I think you actually are saying the same - but please read steps below and tell me if they don't cover what you want. This is what it will do: 1. Add a column to the compute_nodes table for a JSON blob 2. Add plug-in framework for additional resources in resource_tacker (just like filters in filter scheduler) 3. Resource plugin classes will implement things like: a. Claims test method b. add your data here method (so it can populate the JSON blob) 4. Additional column is available in host_state at filter scheduler You will then be able to do any or all of the following: 1. Add new parameters to requests in extra_specs 2. Add new filter/weight classes as scheduler plugins a. Will have access to filter properties (including extra_specs) b. Will have access to extra resource data (from compute node) c. Can generate limits 3. Add new resource classes as scheduler plugins a. Will have access to filter properties (including extra specs) b. Will have access to limits (from scheduler) c. Can generate extra resource data to go to scheduler Does this match your needs? There are also plans to change how data goes from compute nodes to scheduler (i.e. not through the database). This will remove the database from the equation. But that can be kept as a separate concern. Paul. ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [nova][database] Update compute_nodes table
I am aware of this work, in fact I reused a column (pci_stats) in the compute_nodes table to store a JSON blob. I track the resource in the resource_tracker and update the column and then use the blob in a filter. Maybe I should reformulate my question, How can I add a column to the table and use it in resource_tracker without breaking something ? Best regards, 2013/12/2 openstack-dev-requ...@lists.openstack.org -- Message: 1 Date: Mon, 02 Dec 2013 12:06:21 -0500 From: Russell Bryant rbry...@redhat.com To: openstack-dev@lists.openstack.org Subject: Re: [openstack-dev] [nova][database] Update compute_nodes table Message-ID: 529cbe0d@redhat.com Content-Type: text/plain; charset=ISO-8859-1 On 12/02/2013 11:47 AM, Abbass MAROUNI wrote: Hello, I'm looking for way to a add new attribute to the compute nodes by adding a column to the compute_nodes table in nova database in order to track a metric on the compute nodes and use later it in nova-scheduler. I checked the sqlalchemy/migrate_repo/versions and thought about adding my own upgrade then sync using nova-manage db sync. My question is : What is the process of upgrading a table in the database ? Do I have to modify or add a new variable in some class in order to associate the newly added column with a variable that I can use ? Don't add this. :-) There is work in progress to just have a column with a json blob in it for additional metadata like this. https://blueprints.launchpad.net/nova/+spec/extensible-resource-tracking https://wiki.openstack.org/wiki/ExtensibleResourceTracking -- Russell Bryant ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
[openstack-dev] [nova][database] Update compute_nodes table
Hello, I'm looking for way to a add new attribute to the compute nodes by adding a column to the compute_nodes table in nova database in order to track a metric on the compute nodes and use later it in nova-scheduler. I checked the sqlalchemy/migrate_repo/versions and thought about adding my own upgrade then sync using nova-manage db sync. My question is : What is the process of upgrading a table in the database ? Do I have to modify or add a new variable in some class in order to associate the newly added column with a variable that I can use ? Best regards, ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
[openstack-dev] [nova][scheduler][metrics] Additional metrics
Hello, I'm in the process of writing a new scheduling algorithm for openstack nova. I have a set of compute nodes that I'm going to filter and weigh according to some metrics collected from these compute nodes. I saw nova.compute.resource_tracker and metrics (ram, disk and cpu) that it collects from compute nodes and updates the rows corresponding to compute nodes in the database. I'm planning to write some modules that will collect the new metrics but I'm wondering if I need to modify the database schema by adding more columns in the 'compute_nodes' table for my new metrics. Will this require some modification to the *compute model* ? Then how can I use these metrics during the scheduling process, do I fetch each compute node row from the database ? Is there any easier way around this problem ? Best Regards, ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev