Re: [Openstack] provision of dynamic flavor
Openstack openstack-bounces+mjfork=us.ibm@lists.launchpad.net wrote on 05/08/2013 06:29:02 AM: From: Pratik Gadiya pratik_gad...@persistent.co.in To: openstack@lists.launchpad.net openstack@lists.launchpad.net, Date: 05/08/2013 06:30 AM Subject: [Openstack] provision of dynamic flavor Sent by: Openstack openstack-bounces +mjfork=us.ibm@lists.launchpad.net Hi All, I want to provide dynamic flavors to user according to his/her specification by modifying the API’s. Let me know in detail where I need to make code changes in order to achieve this. Not sure exactly what function you are looking for, but this here is a blueprint under consideration for Havana that may fit your needs: https://blueprints.launchpad.net/nova/+spec/no-flavors Michael - Michael Fork Architect, OpenStack Development IBM Systems Technology Group___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
[Openstack] Related Projects
Searching the wiki, I was unable to find any existing list of Related Projects so I started a new one at https://wiki.openstack.org/wiki/RelatedProjects. Please take a minute and ensure that your project is represented. Could one of the admins link it from https://wiki.openstack.org/wiki/Projects? Michael - Michael Fork Architect, OpenStack Development IBM Systems Technology Group___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
Re: [Openstack] Optionally force instances to stay put on resize
Adding general and operators for additional feedback. Michael J Fork/Rochester/IBM wrote on 02/15/2013 10:59:46 AM: From: Michael J Fork/Rochester/IBM To: openstack-...@lists.openstack.org, Date: 02/15/2013 10:59 AM Subject: Optionally force instances to stay put on resize The patch for the configurable-resize-placement blueprint (https:// blueprints.launchpad.net/nova/+spec/configurable-resize-placement) has generated a discussion on the review boards and needed to be brought to the mailing list for broader feedback. tl;dr would others find useful the addition of a new config option resize_to_same_host with values allow, require, forbid that deprecates allow_resize_to_same_host (functionality equivalent to allow and forbid in resize_to_same_host)? Existing use cases and default behaviors are retained unchanged. The new use case is resize_to_same_host = require retains the exact same external API sematics and would make it such that no user actions can cause a VM migration (and the network traffic with it). An administrator can still perform a manual migration that would allow a subsequent resize to succeed. This patch would be most useful in environments with 1GbE or with large ephemeral disks. Blueprint Description Currently OpenStack has a boolean allow_resize_to_same_host config option that constrains placement during resize. When this value is false, the ignore_hosts option is passed to the scheduler. When this value is true, no options are passed to the scheduler and the current host can be considered. In some use cases - e.g. PowerVM - a third option of require same host' is desirable. This blueprint will deprecate the allow_resize_to_same_host config option and replace it with resize_to_same_host that supports 3 values - allow, forbid, require. Allow is equivalent to true in the current use case (i.e. not scheduler hint, current host is considered), forbid to false in current use case (i.e. the ignore_hosts scheduler hint is set), and require forces the same host through the use of the force_hosts scheduler hint. To avoid incorrectly paraphrasing others, the review comments against the change are below in their entirety followed by my comments to those concerns. The question we are looking to answer - would others find this function useful and / or believe that OpenStack should have this option? Comments from https://review.openstack.org/#/c/21139/: I still think this is a bad idea. The only reason the flag was there in the first place was so we could run tempest on devstack in the gate and test resize. Semantically this changes the meaning of resize in a way that I don't think should be done. I understand what the patch does, and I even think it appears to be functionally correct based on what the intention appears to be. However, I'm not convinced that the option is a useful addition. First, it really just doesn't seem in the spirit of OpenStack or cloud to care this much about where the instance goes like this. The existing option was only a hack for testing, not something expected for admins to care about. If this really *is* something admins need to care about, I'd like to better understand why. Further, if that's the case, I'm not sure a global config option is the right way to go about it. I think it may make more sense to have this be API driven. I'd like to see some thoughts from others on this point. I completely agree with the spirit of cloud argument. I further think that exposing anything via the API that would support this (i.e. giving the users control or even indication of where their instance lands) is a dangerous precedent to set. I tend to think that this use case is so small and specialized, that it belongs in some other sort of policy implementation, and definitely not as yet-another-config-option to be exposed to the admins. That, or in some other project entirely :) and my response to those concerns: I agree this is not an 80% use case, or probably even that popular in the other 20%, but resize today is the only user facing API that can trigger the migration of a VM to a new machine. In some environments, this network traffic is undesirable - especially 1GBe - and may want to be explicitly controlled by an Administrator. In this implementation, an Admin can still invoke a migration manually to allow the resize to succeed. I would point to the Island work by Sina as an example, they wrote an entire Cinder driver designed to minimize network traffic. I agree with the point above that exposing this on an end-user API is not correct, users should not know or care where this goes. However, as the cloud operator, I should be able to have that level of control and this puts it in their hands. Obviously this option would need documented to allow administrators to decide if they need to change
Re: [Openstack] [openstack-dev] Discussion about where to put database for bare-metal provisioning (review 10726)
openstack-bounces+mjfork=us.ibm@lists.launchpad.net wrote on 08/27/2012 02:58:56 PM: From: David Kang dk...@isi.edu To: Vishvananda Ishaya vishvana...@gmail.com, Cc: OpenStack Development Mailing List openstack- d...@lists.openstack.org, openstack@lists.launchpad.net \ (openstack@lists.launchpad.net\) openstack@lists.launchpad.net Date: 08/27/2012 03:06 PM Subject: Re: [Openstack] [openstack-dev] Discussion about where to put database for bare-metal provisioning (review 10726) Sent by: openstack-bounces+mjfork=us.ibm@lists.launchpad.net Hi Vish, I think I understand your idea. One service entry with multiple bare-metal compute_node entries are registered at the start of bare-metal nova-compute. 'hypervisor_hostname' must be different for each bare-metal machine, such as 'bare-metal-0001.xxx.com', 'bare-metal-0002.xxx.com', etc.) But their IP addresses must be the IP address of bare-metal nova- compute, such that an instance is casted not to bare-metal machine directly but to bare-metal nova-compute. I believe the change here is to cast out the message to the topic.service-hostname. Existing code sends it to the compute_node hostname (see line 202 of nova/scheduler/filter_scheduler.py, specifically host=weighted_host.host_state.host). Changing that to cast to the service hostname would send the message to the bare-metal proxy node and should not have an effect on current deployments since the service hostname and the host_state.host would always be equal. This model will also let you keep the bare-metal compute node IP in the compute node table. One extension we need to do at the scheduler side is using (host, hypervisor_hostname) instead of (host) only in host_manager.py. 'HostManager.service_state' is { host : { service : { cap k : v }}}. It needs to be changed to { host : { service : { hypervisor_name : { cap k : v . Most functions of HostState need to be changed to use (host, hypervisor_name) pair to identify a compute node. Would an alternative here be to change the top level host to be the hypervisor_hostname and enforce uniqueness? Are we on the same page, now? Thanks, David - Original Message - Hi David, I just checked out the code more extensively and I don't see why you need to create a new service entry for each compute_node entry. The code in host_manager to get all host states explicitly gets all compute_node entries. I don't see any reason why multiple compute_node entries can't share the same service. I don't see any place in the scheduler that is grabbing records by service instead of by compute node, but if there is one that I missed, it should be fairly easy to change it. The compute_node record is created in the compute/resource_tracker.py as of a recent commit, so I think the path forward would be to make sure that one of the records is created for each bare metal node by the bare metal compute, perhaps by having multiple resource_trackers. Vish On Aug 27, 2012, at 9:40 AM, David Kang dk...@isi.edu wrote: Vish, I think I don't understand your statement fully. Unless we use different hostnames, (hostname, hypervisor_hostname) must be the same for all bare-metal nodes under a bare-metal nova-compute. Could you elaborate the following statement a little bit more? You would just have to use a little more than hostname. Perhaps (hostname, hypervisor_hostname) could be used to update the entry? Thanks, David - Original Message - I would investigate changing the capabilities to key off of something other than hostname. It looks from the table structure like compute_nodes could be have a many-to-one relationship with services. You would just have to use a little more than hostname. Perhaps (hostname, hypervisor_hostname) could be used to update the entry? Vish On Aug 24, 2012, at 11:23 AM, David Kang dk...@isi.edu wrote: Vish, I've tested your code and did more testing. There are a couple of problems. 1. host name should be unique. If not, any repetitive updates of new capabilities with the same host name are simply overwritten. 2. We cannot generate arbitrary host names on the fly. The scheduler (I tested filter scheduler) gets host names from db. So, if a host name is not in the 'services' table, it is not considered by the scheduler at all. So, to make your suggestions possible, nova-compute should register N different host names in 'services' table, and N corresponding entries in 'compute_nodes' table. Here is an example: mysql select id, host, binary, topic, report_count, disabled, availability_zone from services; ++-++--- +--+--+---+ | id | host | binary | topic | report_count | disabled | | availability_zone |
Re: [Openstack] [openstack-dev] Discussion about where to put database for bare-metal provisioning (review 10726)
David Kang dk...@isi.edu wrote on 08/27/2012 05:22:37 PM: From: David Kang dk...@isi.edu To: Michael J Fork/Rochester/IBM@IBMUS, Cc: openstack@lists.launchpad.net (openstack@lists.launchpad.net) openstack@lists.launchpad.net, openstack-bounces+mjfork=us ibm com openstack-bounces+mjfork=us.ibm@lists.launchpad.net, OpenStack Development Mailing List openstack-...@lists.openstack.org, Vishvananda Ishaya vishvana...@gmail.com Date: 08/27/2012 05:22 PM Subject: Re: [Openstack] [openstack-dev] Discussion about where to put database for bare-metal provisioning (review 10726) Michael, I think you mean compute_node hostname as 'hypervisor_hostname' field in the 'compute_node' table. Yes. This value would be part of the payload of the message cast to the proxy node so that it knows who the request was directed to. What do you mean by service hostname? I don't see such field in the 'service' table in the database. Is it in some other table? Or do you suggest adding 'service_hostname' field in the 'service' table? The host field in the services table. This value would be used as the target of the rpc cast so that the proxy node would receive the message. Thanks, David - Original Message - openstack-bounces+mjfork=us.ibm@lists.launchpad.net wrote on 08/27/2012 02:58:56 PM: From: David Kang dk...@isi.edu To: Vishvananda Ishaya vishvana...@gmail.com, Cc: OpenStack Development Mailing List openstack- d...@lists.openstack.org, openstack@lists.launchpad.net \ (openstack@lists.launchpad.net\) openstack@lists.launchpad.net Date: 08/27/2012 03:06 PM Subject: Re: [Openstack] [openstack-dev] Discussion about where to put database for bare-metal provisioning (review 10726) Sent by: openstack-bounces+mjfork=us.ibm@lists.launchpad.net Hi Vish, I think I understand your idea. One service entry with multiple bare-metal compute_node entries are registered at the start of bare-metal nova-compute. 'hypervisor_hostname' must be different for each bare-metal machine, such as 'bare-metal-0001.xxx.com', 'bare-metal-0002.xxx.com', etc.) But their IP addresses must be the IP address of bare-metal nova- compute, such that an instance is casted not to bare-metal machine directly but to bare-metal nova-compute. I believe the change here is to cast out the message to the topic.service-hostname. Existing code sends it to the compute_node hostname (see line 202 of nova/scheduler/filter_scheduler.py, specifically host=weighted_host.host_state.host). Changing that to cast to the service hostname would send the message to the bare-metal proxy node and should not have an effect on current deployments since the service hostname and the host_state.host would always be equal. This model will also let you keep the bare-metal compute node IP in the compute node table. One extension we need to do at the scheduler side is using (host, hypervisor_hostname) instead of (host) only in host_manager.py. 'HostManager.service_state' is { host : { service : { cap k : v }}}. It needs to be changed to { host : { service : { hypervisor_name : { cap k : v . Most functions of HostState need to be changed to use (host, hypervisor_name) pair to identify a compute node. Would an alternative here be to change the top level host to be the hypervisor_hostname and enforce uniqueness? Are we on the same page, now? Thanks, David - Original Message - Hi David, I just checked out the code more extensively and I don't see why you need to create a new service entry for each compute_node entry. The code in host_manager to get all host states explicitly gets all compute_node entries. I don't see any reason why multiple compute_node entries can't share the same service. I don't see any place in the scheduler that is grabbing records by service instead of by compute node, but if there is one that I missed, it should be fairly easy to change it. The compute_node record is created in the compute/resource_tracker.py as of a recent commit, so I think the path forward would be to make sure that one of the records is created for each bare metal node by the bare metal compute, perhaps by having multiple resource_trackers. Vish On Aug 27, 2012, at 9:40 AM, David Kang dk...@isi.edu wrote: Vish, I think I don't understand your statement fully. Unless we use different hostnames, (hostname, hypervisor_hostname) must be the same for all bare-metal nodes under a bare-metal nova-compute. Could you elaborate the following statement a little bit more? You would just have to use a little more than hostname. Perhaps (hostname, hypervisor_hostname) could be used to update the entry? Thanks, David
Re: [Openstack] [openstack-dev] Discussion about where to put database for bare-metal provisioning (review 10726)
VTJ NOTSU Arata no...@virtualtech.jp wrote on 08/27/2012 07:30:40 PM: From: VTJ NOTSU Arata no...@virtualtech.jp To: Michael J Fork/Rochester/IBM@IBMUS, Cc: David Kang dk...@isi.edu, openstack@lists.launchpad.net (openstack@lists.launchpad.net) openstack@lists.launchpad.net, openstack-bounces+mjfork=us.ibm@lists.launchpad.net, OpenStack Development Mailing List openstack-...@lists.openstack.org Date: 08/27/2012 07:30 PM Subject: Re: [Openstack] [openstack-dev] Discussion about where to put database for bare-metal provisioning (review 10726) Hi Michael, Looking at line 203 in nova/scheduler/filter_scheduler.py, the target host in the cast call is weighted_host*.*host_state*.*host and not a service host. (My guess is this will likely require a fair number of changes in the scheduler area to change cast calls to target a service host instead of a compute node) weighted_host.host_state.host still seems to be service['host']... Please look at it again with me. # First, HostStateManager.get_all_host_states: # host_manager.py:264 compute_nodes = db.compute_node_get_all(context) for compute in compute_nodes: # service is from services table (joined-loaded with compute_nodes) service = compute['service'] if not service: LOG.warn(_(No service for compute ID %s) % compute ['id']) continue host = service['host'] capabilities = self.service_states.get(host, None) # go to HostState constructor: # the 1st parameter 'host' is service['host'] host_state = self.host_state_cls(host, topic, capabilities=capabilities, service=dict(service.iteritems())) # host_manager.py:101 def __init__(self, host, topic, capabilities=None, service=None): self.host = host self.topic = topic # here, HostState.host is service['host'] Then, update_from_compute_node(compute) is called but it leaves self.host unchanged. WeightedHost.host_state is this HostState. So, host at filter_scheduler.py:203 is service['host']. We can use existing code about RPC target. Do I miss something? Agreed, you can use the existing RPC target. Sorry for the confusion. This actually answers the question in David's last e-mail asking if the host field can be used from the services table - it already is. Thanks, Arata BIG SNIP Michael - Michael Fork Cloud Architect, Emerging Solutions IBM Systems Technology Group___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
[Openstack] Multi-Hypervisor Support
Looking at the Hypervisor section of the documentation, http://docs.openstack.org/trunk/openstack-compute/admin/content/selecting-a-hypervisor.html , it states You cannot configure more than one virtualization type on the compute nodes, so the hypervisor selection is for the entire installation. Is this statement still true with the recent filter additions, specifically the ImagePropertiesFilter and ComputeCapabilitiesFilter? Thanks. Michael - Michael Fork Cloud Architect, Emerging Solutions IBM Systems Technology Group___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
Re: [Openstack] [openstack-dev] Discussion about where to put database for bare-metal provisioning (review 10726)
vishvana...@gmail.com wrote on 08/15/2012 06:54:58 PM: From: Vishvananda Ishaya vishvana...@gmail.com To: OpenStack Development Mailing List openstack-...@lists.openstack.org, Cc: openstack@lists.launchpad.net \(openstack@lists.launchpad.net \) openstack@lists.launchpad.net Date: 08/15/2012 06:58 PM Subject: Re: [Openstack] [openstack-dev] Discussion about where to put database for bare-metal provisioning (review 10726) Sent by: openstack-bounces+mjfork=us.ibm@lists.launchpad.net On Aug 15, 2012, at 3:17 PM, Michael J Fork mjf...@us.ibm.com wrote: I am interested in finding a solution that enables bare-metal and virtualized requests to be serviced through the same scheduler where the compute_nodes table has a full view of schedulable resources. This would seem to simplify the end-to-end flow while opening up some additional use cases (e.g. dynamic allocation of a node from bare-metal to hypervisor and back). One approach would be to have a proxy running a single nova-compute daemon fronting the bare-metal nodes . That nova-compute daemon would report up many HostState objects (1 per bare-metal node) to become entries in the compute_nodes table and accessible through the scheduler HostManager object. The HostState object would set cpu_info, vcpus, member_mb and local_gb values to be used for scheduling with the hypervisor_host field holding the bare-metal machine address (e.g. for IPMI based commands) and hypervisor_type = NONE. The bare-metal Flavors are created with an extra_spec of hypervisor_type= NONE and the corresponding compute_capabilities_filter would reduce the available hosts to those bare_metal nodes. The scheduler would need to understand that hypervisor_type = NONE means you need an exact fit (or best-fit) host vs weighting them (perhaps through the multi- scheduler). The scheduler would cast out the message to the topic.service-hostname (code today uses the HostState hostname), with the compute driver having to understand if it must be serviced elsewhere (but does not break any existing implementations since it is 1 to 1). Does this solution seem workable? Anything I missed? The bare metal driver already is proxying for the other nodes so it sounds like we need a couple of things to make this happen: a) modify driver.get_host_stats to be able to return a list of host stats instead of just one. Report the whole list back to the scheduler. We could modify the receiving end to accept a list as well or just make multiple calls to self.update_service_capabilities(capabilities) b) make a few minor changes to the scheduler to make sure filtering still works. Note the changes here may be very helpful: https://review.openstack.org/10327 c) we have to make sure that instances launched on those nodes take up the entire host state somehow. We could probably do this by making sure that the instance_type ram, mb, gb etc. matches what the node has, but we may want a new boolean field used if those aren't sufficient. My initial thought is that showing the actual resources the guest requested as being consumed in HostState would enable use cases like migrating a guest running on a too-big machine to a right-size one. However, that would required the bare-metal node to store the state of the requested guest when that information could be obtained from the instance_type. For now, the simplest is probably to have the bare-metal virt driver set the disk_available = 0 and host_memory_free = 0 so the scheduler removes them from consideration, with the vcpus, disk_total, host_memory_total set to the physical machine values. If the requested guest size is easily accessible, the _used values could be set to those values (although not clear if anything would break though with _total != _free + _used, in which case setting _used = _total would seem to be acceptable for now). Another options is to add num_instances to HostState and have the bare-metal filter remove hypervisor_type = NONE with num_instances 0. The scheduler would never see them and then would be no need to show them fully consumed. Drawback is that the num_instances call is marked as being expensive and would incur some overhead. I This approach seems pretty good. We could potentially get rid of the shared bare_metal_node table. I guess the only other concern is how you populate the capabilities that the bare metal nodes are reporting. I guess an api extension that rpcs to a baremetal node to add the node. Maybe someday this could be autogenerated by the bare metal host looking in its arp table for dhcp requests! :) Vish ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp Michael - Michael Fork Cloud
Re: [Openstack] [openstack-dev] Discussion about where to put database for bare-metal provisioning (review 10726)
I am interested in finding a solution that enables bare-metal and virtualized requests to be serviced through the same scheduler where the compute_nodes table has a full view of schedulable resources. This would seem to simplify the end-to-end flow while opening up some additional use cases (e.g. dynamic allocation of a node from bare-metal to hypervisor and back). One approach would be to have a proxy running a single nova-compute daemon fronting the bare-metal nodes . That nova-compute daemon would report up many HostState objects (1 per bare-metal node) to become entries in the compute_nodes table and accessible through the scheduler HostManager object. The HostState object would set cpu_info, vcpus, member_mb and local_gb values to be used for scheduling with the hypervisor_host field holding the bare-metal machine address (e.g. for IPMI based commands) and hypervisor_type = NONE. The bare-metal Flavors are created with an extra_spec of hypervisor_type= NONE and the corresponding compute_capabilities_filter would reduce the available hosts to those bare_metal nodes. The scheduler would need to understand that hypervisor_type = NONE means you need an exact fit (or best-fit) host vs weighting them (perhaps through the multi-scheduler). The scheduler would cast out the message to the topic.service-hostname (code today uses the HostState hostname), with the compute driver having to understand if it must be serviced elsewhere (but does not break any existing implementations since it is 1 to 1). Does this solution seem workable? Anything I missed? Michael - Michael Fork Cloud Architect, Emerging Solutions IBM Systems Technology Group David Kang dk...@isi.edu wrote on 08/15/2012 11:28:34 AM: From: David Kang dk...@isi.edu To: OpenStack Development Mailing List openstack- d...@lists.openstack.org, openstack@lists.launchpad.net (openstack@lists.launchpad.net) openstack@lists.launchpad.net, Cc: mkk...@isi.edu, Ken Ash 50ba...@gmail.com, VTJ NOTSU Arata no...@virtualtech.jp Date: 08/15/2012 02:08 PM Subject: [openstack-dev] Discussion about where to put database for bare-metal provisioning (review 10726) Hi, This is call for discussion about the code review 10726. https://review.openstack.org/#/c/10726/ Mark asked why we implemented a separata database for bare-metal provisioning. Here we describe our thought. We are open to discussion and to the changes that the community recommends. Please give us your thoughts. NTT Docomo and USC/ISI have developed bare-metal provisioning. We created separate database to describe bare-metal nodes, which consists of 5 tables now. Our initial implementation assumes the database is not a part of nova database. In addition to the reasons described in the comments of the code review, here is another reason we decided a separate database for baremetal provisioning. Bare-metal database is mainly used by bare-metal nova-compute. Since bare-metal nova-compute manages multiple bare-metal machines, it needs to keep/update the information of bare-metal machines. If the bare-metal database is in the main nova db, accessing nova db remotely by bare-metal nova-compute is inevitable. Once Vish told us that shared db access from nova-compute is not desirable. It is possible to make the scheduler do the job of bare-metal nova-compute. However, it would need a big changes in how the scheduler and a nova-compute communicates. For example, currently, the scheduler casts an instance to a nova-compute. But for bare-metal node, the scheduler should cast an instance to a bare-metal machine through bare-metal nova-compute. Bare-metal nova-compute should boot the machine, transfer kernel, fs, etc. So, bare-metal nova-compute should know the id of bare-metal node and other information for booting (PXE ip address, ...) and more. That information should be sent to bare-metal nova-compute by the scheduler. If frequent access of bare-metal tables in nova db from bare-metal nova-compute is OK, we are OK to put the bare-metal tables into nova db. Please let us know your opinions. Thanks, David, Mikyung @ USC/ISI -- Dr. Dong-In David Kang Computer Scientist USC/ISI ___ OpenStack-dev mailing list openstack-...@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
[Openstack] Nova Cells
Outside of the Etherpad (http://etherpad.openstack.org/FolsomComputeCells) and presentation referenced there (http://comstud.com/FolsomCells.pdf), are there additional details available on the architecture / implementation of Cells? Thanks. Michael - Michael Fork Cloud Architect, Emerging Solutions IBM Systems Technology Group___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
Re: [Openstack] Filter Scheduler, a complete example
While this blog post doesn't have a simple example, you may find it helpful: https://www.ibm.com/developerworks/mydeveloperworks/blogs/e93514d3-c4f0-4aa0-8844-497f370090f5/entry/openstack_nova_scheduler_and_its_algorithm27?lang=en Michael - Michael Fork Cloud Architect, Emerging Solutions IBM Systems Technology Group From: Christian Parpart tra...@gmail.com To: openstack@lists.launchpad.net, Date: 06/11/2012 11:08 AM Subject:[Openstack] Filter Scheduler, a complete example Sent by:openstack-bounces+mjfork=us.ibm@lists.launchpad.net Hi all, while I am still somewhat new to OpenStack, I was able to successfully deploy a 6-node OpenStack setup with 4 compute nodes, one controller node (yet to be HA'd) and one network node (yet to be HA'd). However, now, that I am that far, I am in need to create a custom filter, due to the companies requirements on what VMs to put on what hardware. Unfortunately, I am not yet that experienced in Python (know quite a few others, so I shouldn't have it that hard in getting into) and I - of course - don't know the Nova API as well as you do. So I am looking for a complete basic Hello World Filter Scheduler example, e.g. in form of a github repo, that I can fork off, and improve it, and learn Nova by doing. I could not really find anything that helpful yet, and I think it might be a wonderful entry-point for quite a few of us. Is there anyone willing to help us here out a bit? Many many thanks, Christian Parpart.___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp inline: graycol.gif___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
Re: [Openstack] search on the mailing list
Searchable archives are available at http://www.mail-archive.com/openstack@lists.launchpad.net/ http://openstack.markmail.org/ Michael - Michael Fork Cloud Architect, Emerging Solutions IBM Systems Technology Group From: Massimo Canonico m...@di.unipmn.it To: openstack@lists.launchpad.net, Date: 06/01/2012 04:50 AM Subject:[Openstack] search on the mailing list Sent by:openstack-bounces+mjfork=us.ibm@lists.launchpad.net Hi, I'm having a problem deleting my running instance and I would like to search on the mailing list in order to figure out if someone had already had this problem (i'm quite sure). So I went to https://lists.launchpad.net/openstack/ with my credentials, but I did not find any search button. Am I wrong? M ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp inline: graycol.gif___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
Re: [Openstack] Canonical AWSOME
+1 - this is important for both incubated projects and vendor implementations. I seem to recall one of the sessions talking about gating commits to passing an upgrade test from the previous stable release and these interfaces are an obvious candidate. Identifying the specific interfaces will take some work, but the plugin points (e.g. scheduler, rpc, etc) are a good starting point. Michael - Michael Fork Cloud Architect, Emerging Solutions IBM Systems Technology Group From: Justin Santa Barbara jus...@fathomdb.com To: Eric Windisch e...@cloudscaling.com, Cc: openstack openstack@lists.launchpad.net Date: 04/23/2012 05:43 PM Subject:Re: [Openstack] Canonical AWSOME Sent by:openstack-bounces+mjfork=us.ibm@lists.launchpad.net On Mon, Apr 23, 2012 at 12:31 PM, Eric Windisch e...@cloudscaling.com wrote: There seemed to be a strong agreement at the summit regarding the need for contracts on those private apis. This is because those APIs are no longer really private, they're shared amongst incubated projects. Furthermore, it seems this may be required to support version heterogeneity during upgrades with versioned RPC calls. The incubated projects could use REST APIs, but we're talking of introducing artificial scaling and reliability constraints to do that. It seems far better to me, if we can have contracts on those internal APIs and use them between the incubated projects. There is a strong enough push to maintain these versions *anyway*. Ah - thanks for explaining that. I'm all for locking down these internal interfaces. I didn't realize people were willing to do so. ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp inline: graycol.gif___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
[Netstack] Invalid service catalog service: network
Working on the quantum + horizon code, updating to the latest devstack and repository fails with Invalid service catalog service: network when calling quantum_list_networks from /opt/stack/horizon/horizon/horizon/api/quantum.py through horizon code. Checking the MySQL database, the network entry was missing, so I added it to services and endpointTemplates and restarted keystone/apache2. Unfortunately this did not work. The following appears in the logs as well: [Tue Feb 14 18:28:51 2012] [error] /usr/lib/pymodules/python2.7/nose/plugins/manager.py:405: UserWarning: Module quantum was already imported from /opt/stack/horizon/openstack-dashboard/dashboard/wsgi/../../quantum/__init__.pyc, but /opt/stack/quantum is being added to sys.path I can run $ quantum list_nets default Virtual Networks for Tenant default Network ID: 9e3b711d-98fd-4f06-abed-13d1d38553de What am I missing? Michael - Michael Fork Cloud Architect, Emerging Solutions IBM Systems Technology Group-- Mailing list: https://launchpad.net/~netstack Post to : netstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~netstack More help : https://help.launchpad.net/ListHelp
Re: [Openstack] Nova command line versus Euca2ools
You understanding of the endpointTemplates is consistent with mine endpointTemplate add [region] [service_name] [public_url] [admin_url] [internal_url] [enabled] [is_global] The public_url is accessible from outside the VM network and the internal URL is accessible from the VM network. Michael - Michael Fork Cloud Architect, Emerging Solutions IBM Systems Technology Group From: Lillie Ross-CDSR11 ross.lil...@motorolasolutions.com To: Michael J Fork/Rochester/IBM@IBMUS Cc: Lillie Ross-CDSR11 ross.lil...@motorolasolutions.com, openstack@lists.launchpad.net openstack@lists.launchpad.net, Kiall Mac Innes ki...@managedit.ie Date: 02/07/2012 05:32 PM Subject:Re: [Openstack] Nova command line versus Euca2ools The sweet smell of success... Looking closely at my api-paste.ini file, and comparing to Kiall's (ManagediT) templates, I noticed that I had my authorization pipelines setup wrong. So I corrected these errors and now all nova client commands seem to execute with no problem. Additionally, dashboard and euca2ools now seems to be working without any errors. It's a beautiful thing! Now a question. My network/installation is setup to isolate nova-compute traffic on a private network. Should endpointTemplates be setup to specify the private network URL for Internal URL field of the template? My guess is yes, but thought I'd ask anyways. Now, on to configuring Swift. Thanks for everyone's patience and help. And thanks again to Kiall for figuring all this out and leading the way. Regards, Ross On Feb 6, 2012, at 5:09 PM, Michael J Fork wrote: Can you verify your glance endpointTemplate is http://%HOST_IP%:9292/v1 ? Hard to tell from the trace below if the v1.1/1/images/detail is against the Nova API or Glance API. Michael - Michael Fork Cloud Architect, Emerging Solutions IBM Systems Technology Group From:Lillie Ross-CDSR11 ross.lil...@motorolasolutions.com To:openstack@lists.launchpad.net openstack@lists.launchpad.net Date:02/06/2012 05:41 PM Subject:[Openstack] Nova command line versus Euca2ools Sent by:openstack-bounces+mjfork=us.ibm@lists.launchpad.net I currently have OpenStack installed (using the ManagedIT PPA) to use Keystone for authentication. However I'm still receiving a number of Malformed request URL messages, both in Dashboard as well as when using the Nova command line client. Also, some of the Euca2ools command run OK, others (such as euca-describe-images) don't. I'm aware that not all the Euca commands are supported in Diablo, but currently I don't have any commands that let me launch instances. For example: euca-describe-availability-zones verbose yields root@nova:~# euca-describe-availability-zones verbose AVAILABILITYZONE nova available AVAILABILITYZONE |- nova AVAILABILITYZONE | |- nova-network enabled :-) 2012-02-06 22:15:16 AVAILABILITYZONE | |- nova-scheduler enabled :-) 2012-02-06 22:15:15 AVAILABILITYZONE | |- nova-vncproxy enabled :-) 2012-02-06 22:15:14 AVAILABILITYZONE | |- nova-compute enabled :-) 2012-02-06 22:15:07 AVAILABILITYZONE |- nova1 AVAILABILITYZONE | |- nova-compute enabled :-) 2012-02-06 22:15:08 however, euca-describe-images yields (with debug enabled) root@nova:~# euca-describe-images --debug 2012-02-06 16:16:28,289 euca2ools [DEBUG]:Method: POST 2012-02-06 16:16:28,289 euca2ools [DEBUG]:Path: /services/Cloud/ 2012-02-06 16:16:28,289 euca2ools [DEBUG]:Data: 2012-02-06 16:16:28,289 euca2ools [DEBUG]:Headers: {} 2012-02-06 16:16:28,290 euca2ools [DEBUG]:Host: 173.23.181.1:8773 2012-02-06 16:16:28,290 euca2ools [DEBUG]:establishing HTTP connection: kwargs={} 2012-02-06 16:16:28,290 euca2ools [DEBUG]:using _calc_signature_2 2012-02-06 16:16:28,290 euca2ools [DEBUG]:query string: AWSAccessKeyId=admin%3AadminAction=DescribeImagesSignatureMethod=HmacSHA256SignatureVersion=2Timestamp=2012-02-06T22%3A16%3A28ZVersion=2010-08-31 2012-02-06 16:16:28,290 euca2ools [DEBUG]:string_to_sign: POST 173.23.181.1:8773 /services/Cloud/ AWSAccessKeyId=admin%3AadminAction=DescribeImagesSignatureMethod=HmacSHA256SignatureVersion=2Timestamp=2012-02-06T22%3A16%3A28ZVersion=2010-08-31 2012-02-06 16:16:28,290 euca2ools [DEBUG]:len(b64)=44 2012-02-06 16:16:28,290 euca2ools [DEBUG]:base64 encoded digest: vSajubq/uXVIsFyMiUjxViprJ1zYHPpIONPcW5cN5yI= 2012-02-06 16:16:28,290 euca2ools [DEBUG]:query_string: AWSAccessKeyId=admin%3AadminAction=DescribeImagesSignatureMethod=HmacSHA256SignatureVersion=2Timestamp=2012-02-06T22%3A16%3A28ZVersion=2010-08-31 Signature: vSajubq/uXVIsFyMiUjxViprJ1zYHPpIONPcW5cN5yI= send: 'POST /services/Cloud/ HTTP/1.1\r\nHost: 173.23.181.1:8773\r\nAccept-Encoding: identity\r\nContent-Length: 207\r\nContent-Type: application/x-www-form-urlencoded; charset=UTF-8\r\nUser-Agent: Boto/2.0 (linux2)\r\n\r
Re: [Openstack] EC2 API (euca2ools) vs OpenStack API (novaclient)
Kevin, It is possible to get Keystone + euca2ools working with Nova, at least against Diablo, With a hat tip to Kiall for his repository: First, use https://github.com/managedit/openstack-setup/blob/master/keystone_data.sh.tmpl as a guide to configure Keystone correctly, particularly the endpoints. Second, grab, populate and source https://github.com/managedit/openstack-setup/blob/master/openrc.tmpl to setup your environment properly. Most of the euca2ools should then work. Hope this helps. Michael - Michael Fork Cloud Architect, Emerging Solutions IBM Systems Technology Group From: Kevin Jackson ke...@linuxservices.co.uk To: openstack@lists.launchpad.net Date: 02/03/2012 04:29 AM Subject:[Openstack] EC2 API (euca2ools) vs OpenStack API (novaclient) Sent by:openstack-bounces+mjfork=us.ibm@lists.launchpad.net Hi all, I need some guidance on how to proceed writing up OpenStack - tutorials on its use. A few months back, pre-Keystone, I could do a lot with euca2ools using the EC2 API. Since Diablo has come on a bit with Keystone, euca2ools methods have been hit or miss. I can do the basics, but not anything like using the nova client. All my notes so far are euca2ools based - but given the amount of issues I've come up against, am I just using the wrong tools? Is it a goal of OpenStack to have an EC2 API, or should I be concentrating on the OpenStack API? http://nova.openstack.org/devref/api.html Says Nova has a system for managing multiple APIs on different subdomains. Currently there is support for the OpenStack API, as well as the Amazon EC2 API. This sounds great, but euca2ools isn't working in all scenarios (simple things like adding in security groups, etc). So... do I 1) drop euca2ools as a way of managing OpenStack 2) do I just direct bugs to euca2ools maintainers? or 3) have I just encountered some bugs and that people have no issues with the full suite of euca2ools? (For the record I'm using Diablo, if you suggest I should concentrate on Essex I'm fine with that). Cheers, Kev -- Kevin Jackson @itarchitectkev ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
Re: [Openstack] OpenStack and OpenFlow
At the OpenStack conference in Boston, Su-hun Yun of NEC participated in the Networking Panel and talked about their OpenFlow implementation for OpenStack. Su-hun showed a recorded demo of the plugin they developed for Quantum that talked to an NEC OpenFlow controller. Unfortunately, I have searched around looking for the demo or additional details and have not been successful. For example, it was not clear if the plugin was going to be contributed to the Quantum project, open-sourced, or kept commercial. Michael - Michael Fork Cloud Architect, Emerging Solutions IBM Systems Technology Group From: Yoshisato Ushio yoshisato.us...@gmail.com To: openstack@lists.launchpad.net Date: 10/29/2011 02:08 AM Subject:[Openstack] OpenStack and OpenFlow Sent by:openstack-bounces+mjfork=us.ibm@lists.launchpad.net Hello Folks, I am interested in the use of OpenFlow technology with OpenStack. But honestly speaking, I have no deep expertise in OpenStack.Then let me ask questions. Q1) In order to use openflow features with OpenStack, such as, Open vSwitch or OpenFlow capable HW switches, can I assume that all I should do for this is to develop a quantum plugin module for openflow under nova manager ? Q2) Are there any open-source codes of quantum plugin for openflow ? Any advice would be greatly appreciated, Yoshisato Ushio___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
[Openstack] Available Mailing Lists
All, I am looking for a list of of the available OpenStack-related mailing lists. I am aware of the Mailing List wiki page ( http://wiki.openstack.org/MailingLists) but, for example, it does not contain the NetStack mailing list (https://launchpad.net/~netstack). What others are available? Thanks. Michael - Michael Fork Cloud Architect, Emerging Solutions IBM Systems Technology Group___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
Re: Apache - MSSOAP Namespaces
I had the following in my code already: Call call = new Call(); call.setSOAPTransport(soapHTTPConnection); SOAPMappingRegistry smr = call.getSOAPMappingRegistry(); StringDeserializer sd = new StringDeserializer(); smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName(, Result), java.lang.String.class, null, sd); return call; which unfortunately didn't help :-( Any other ideas on how to get a namespace? Thanks. Michael Fork [EMAIL PROTECTED] Scott Nichol [EMAIL PROTECTED] 07/30/2003 10:18 AM Please respond to soap-user To:[EMAIL PROTECTED] cc: Subject:Re: Apache - MSSOAP Namespaces My guess is that either you or WebSphere has added a type mapping to read the result, but has not done it correctly. It looks like a full type mapping has been provided, rather than the element name mapping required. It should be something like StringDeserializer stringDser = new StringDeserializer(); smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName(, Result), String.class, null, stringDser); Note that the serializer is specified as null, indicating that this is just for mapping an element to a Java class through a particular deserializer. Scott Nichol Do not send e-mail directly to this e-mail address, because it is filtered to accept only mail from specific mail lists. - Original Message - From: Michael J Fork [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, July 30, 2003 12:41 AM Subject: Apache - MSSOAP Namespaces All, I am trying to connect to MSSOAP 3.0 from the Apache Soap shipped with IBM WebSphere Application Server 4.0 (not sure of version), and am getting the following error: Server:XML Parser failed at linenumber 5, lineposition 36, reason is: Only a default namespace can have an empty URI. The request that was sent: POST http://X//X.wsdl HTTP/1.0 Host: X Content-Type: text/xml; charset=utf-8 Content-Length: 699 SOAPAction: http://xx/xx/xx/xx.Login ?xml version='1.0' encoding='UTF-8'? SOAP-ENV:Envelope xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xmlns:xsd=http://www.w3.org/2001/XMLSchema SOAP-ENV:Body ns1:Login xmlns:ns1=http://tempuri.org/test2/message/ SOAP-ENV:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/ strLoginName xmlns:ns2= xsi:type=ns2:Resultxxx/strLoginName strPassword xmlns:ns3= xsi:type=ns3:Resultx/strPassword /ns1:Login /SOAP-ENV:Body /SOAP-ENV:Envelope It does not like xmlns:ns2= -- how do I specify a value for the namespace? The code creating the call is generated by WSAD and is: Vector params = new Vector(); Parameter strLoginNameParam = new Parameter(strLoginName, java.lang.String.class, strLoginName, Constants.NS_URI_SOAP_ENC); params.addElement(strLoginNameParam); Parameter strPasswordParam = new Parameter(strPassword, java.lang.String.class, strPassword, Constants.NS_URI_SOAP_ENC); params.addElement(strPasswordParam); call.setParams(params); Response resp = call.invoke(getURL(), SOAPActionURI); Thanks. Michael Fork [EMAIL PROTECTED]
Re: Apache - MSSOAP Namespaces
How can I tell which version of Apache SOAP it is Michael Fork [EMAIL PROTECTED] Scott Nichol [EMAIL PROTECTED] 07/30/2003 12:40 PM Please respond to soap-user To:[EMAIL PROTECTED] cc: Subject:Re: Apache - MSSOAP Namespaces The error is complaining about the namespace being empty, but if you look at strLoginName xmlns:ns2= xsi:type=ns2:Result there is a real underlying problem: the type of the element is xsd:string, not ns2:Result. The mapping in the line smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName(, Result), java.lang.String.class, null, sd); is being applied to serialization as well as deserialization. I am wondering whether WAS 4 includes a version of Apache SOAP that does not support this interop workaround. For example, if WAS 4 has Apache SOAP 2.0, the workaround code above will not work. Scott Nichol Do not send e-mail directly to this e-mail address, because it is filtered to accept only mail from specific mail lists. - Original Message - From: Michael J Fork [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, July 30, 2003 11:30 AM Subject: Re: Apache - MSSOAP Namespaces I had the following in my code already: Call call = new Call(); call.setSOAPTransport(soapHTTPConnection); SOAPMappingRegistry smr = call.getSOAPMappingRegistry(); StringDeserializer sd = new StringDeserializer(); smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName(, Result), java.lang.String.class, null, sd); return call; which unfortunately didn't help :-( Any other ideas on how to get a namespace? Thanks. Michael Fork [EMAIL PROTECTED] Scott Nichol [EMAIL PROTECTED] 07/30/2003 10:18 AM Please respond to soap-user To: [EMAIL PROTECTED] cc: Subject:Re: Apache - MSSOAP Namespaces My guess is that either you or WebSphere has added a type mapping to read the result, but has not done it correctly. It looks like a full type mapping has been provided, rather than the element name mapping required. It should be something like StringDeserializer stringDser = new StringDeserializer(); smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName(, Result), String.class, null, stringDser); Note that the serializer is specified as null, indicating that this is just for mapping an element to a Java class through a particular deserializer. Scott Nichol Do not send e-mail directly to this e-mail address, because it is filtered to accept only mail from specific mail lists. - Original Message - From: Michael J Fork [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, July 30, 2003 12:41 AM Subject: Apache - MSSOAP Namespaces All, I am trying to connect to MSSOAP 3.0 from the Apache Soap shipped with IBM WebSphere Application Server 4.0 (not sure of version), and am getting the following error: Server:XML Parser failed at linenumber 5, lineposition 36, reason is: Only a default namespace can have an empty URI. The request that was sent: POST http://X//X.wsdl HTTP/1.0 Host: X Content-Type: text/xml; charset=utf-8 Content-Length: 699 SOAPAction: http://xx/xx/xx/xx.Login ?xml version='1.0' encoding='UTF-8'? SOAP-ENV:Envelope xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xmlns:xsd=http://www.w3.org/2001/XMLSchema SOAP-ENV:Body ns1:Login xmlns:ns1=http://tempuri.org/test2/message/ SOAP-ENV:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/ strLoginName xmlns:ns2= xsi:type=ns2:Resultxxx/strLoginName strPassword xmlns:ns3= xsi:type=ns3:Resultx/strPassword /ns1:Login /SOAP-ENV:Body /SOAP-ENV:Envelope It does not like xmlns:ns2= -- how do I specify a value for the namespace? The code creating the call is generated by WSAD and is: Vector params = new Vector(); Parameter strLoginNameParam = new Parameter(strLoginName, java.lang.String.class, strLoginName, Constants.NS_URI_SOAP_ENC); params.addElement(strLoginNameParam); Parameter strPasswordParam = new Parameter(strPassword, java.lang.String.class, strPassword, Constants.NS_URI_SOAP_ENC); params.addElement(strPasswordParam); call.setParams(params); Response resp = call.invoke(getURL(), SOAPActionURI); Thanks. Michael Fork [EMAIL PROTECTED]
Re: Apache - MSSOAP Namespaces
I did some digging and found that it is version 2.3 Any suggestions as to why it is not working? Thanks Michael Fork [EMAIL PROTECTED] Michael J Fork/Rochester/[EMAIL PROTECTED] 07/30/2003 01:04 PM Please respond to soap-user To:[EMAIL PROTECTED] cc: Subject:Re: Apache - MSSOAP Namespaces How can I tell which version of Apache SOAP it is Michael Fork [EMAIL PROTECTED] Scott Nichol [EMAIL PROTECTED] 07/30/2003 12:40 PM Please respond to soap-user To:[EMAIL PROTECTED] cc: Subject:Re: Apache - MSSOAP Namespaces The error is complaining about the namespace being empty, but if you look at strLoginName xmlns:ns2= xsi:type=ns2:Result there is a real underlying problem: the type of the element is xsd:string, not ns2:Result. The mapping in the line smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName(, Result), java.lang.String.class, null, sd); is being applied to serialization as well as deserialization. I am wondering whether WAS 4 includes a version of Apache SOAP that does not support this interop workaround. For example, if WAS 4 has Apache SOAP 2.0, the workaround code above will not work. Scott Nichol Do not send e-mail directly to this e-mail address, because it is filtered to accept only mail from specific mail lists. - Original Message - From: Michael J Fork [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, July 30, 2003 11:30 AM Subject: Re: Apache - MSSOAP Namespaces I had the following in my code already: Call call = new Call(); call.setSOAPTransport(soapHTTPConnection); SOAPMappingRegistry smr = call.getSOAPMappingRegistry(); StringDeserializer sd = new StringDeserializer(); smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName(, Result), java.lang.String.class, null, sd); return call; which unfortunately didn't help :-( Any other ideas on how to get a namespace? Thanks. Michael Fork [EMAIL PROTECTED] Scott Nichol [EMAIL PROTECTED] 07/30/2003 10:18 AM Please respond to soap-user To: [EMAIL PROTECTED] cc: Subject:Re: Apache - MSSOAP Namespaces My guess is that either you or WebSphere has added a type mapping to read the result, but has not done it correctly. It looks like a full type mapping has been provided, rather than the element name mapping required. It should be something like StringDeserializer stringDser = new StringDeserializer(); smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName(, Result), String.class, null, stringDser); Note that the serializer is specified as null, indicating that this is just for mapping an element to a Java class through a particular deserializer. Scott Nichol Do not send e-mail directly to this e-mail address, because it is filtered to accept only mail from specific mail lists. - Original Message - From: Michael J Fork [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, July 30, 2003 12:41 AM Subject: Apache - MSSOAP Namespaces All, I am trying to connect to MSSOAP 3.0 from the Apache Soap shipped with IBM WebSphere Application Server 4.0 (not sure of version), and am getting the following error: Server:XML Parser failed at linenumber 5, lineposition 36, reason is: Only a default namespace can have an empty URI. The request that was sent: POST http://X//X.wsdl HTTP/1.0 Host: X Content-Type: text/xml; charset=utf-8 Content-Length: 699 SOAPAction: http://xx/xx/xx/xx.Login ?xml version='1.0' encoding='UTF-8'? SOAP-ENV:Envelope xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xmlns:xsd=http://www.w3.org/2001/XMLSchema SOAP-ENV:Body ns1:Login xmlns:ns1=http://tempuri.org/test2/message/ SOAP-ENV:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/ strLoginName xmlns:ns2= xsi:type=ns2:Resultxxx/strLoginName strPassword xmlns:ns3= xsi:type=ns3:Resultx/strPassword /ns1:Login /SOAP-ENV:Body /SOAP-ENV:Envelope It does not like xmlns:ns2= -- how do I specify a value for the namespace? The code creating the call is generated by WSAD and is: Vector params = new Vector(); Parameter strLoginNameParam = new Parameter(strLoginName, java.lang.String.class, strLoginName, Constants.NS_URI_SOAP_ENC); params.addElement(strLoginNameParam); Parameter strPasswordParam = new Parameter(strPassword, java.lang.String.class, strPassword, Constants.NS_URI_SOAP_ENC); params.addElement(strPasswordParam); call.setParams(params); Response resp = call.invoke(getURL(), SOAPActionURI); Thanks. Michael Fork [EMAIL PROTECTED]
Re: Apache - MSSOAP Namespaces
Asked the WAS guys what version they shipped... Michael Fork [EMAIL PROTECTED] Scott Nichol [EMAIL PROTECTED] 07/30/2003 03:32 PM Please respond to soap-user To:[EMAIL PROTECTED] cc: Subject:Re: Apache - MSSOAP Namespaces I think it should work with 2.3. How did you determine the version? Scott Nichol Do not send e-mail directly to this e-mail address, because it is filtered to accept only mail from specific mail lists. - Original Message - From: Michael J Fork [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, July 30, 2003 3:41 PM Subject: Re: Apache - MSSOAP Namespaces I did some digging and found that it is version 2.3 Any suggestions as to why it is not working? Thanks Michael Fork [EMAIL PROTECTED] Michael J Fork/Rochester/[EMAIL PROTECTED] 07/30/2003 01:04 PM Please respond to soap-user To: [EMAIL PROTECTED] cc: Subject:Re: Apache - MSSOAP Namespaces How can I tell which version of Apache SOAP it is Michael Fork [EMAIL PROTECTED] Scott Nichol [EMAIL PROTECTED] 07/30/2003 12:40 PM Please respond to soap-user To:[EMAIL PROTECTED] cc: Subject:Re: Apache - MSSOAP Namespaces The error is complaining about the namespace being empty, but if you look at strLoginName xmlns:ns2= xsi:type=ns2:Result there is a real underlying problem: the type of the element is xsd:string, not ns2:Result. The mapping in the line smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName(, Result), java.lang.String.class, null, sd); is being applied to serialization as well as deserialization. I am wondering whether WAS 4 includes a version of Apache SOAP that does not support this interop workaround. For example, if WAS 4 has Apache SOAP 2.0, the workaround code above will not work. Scott Nichol Do not send e-mail directly to this e-mail address, because it is filtered to accept only mail from specific mail lists. - Original Message - From: Michael J Fork [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, July 30, 2003 11:30 AM Subject: Re: Apache - MSSOAP Namespaces I had the following in my code already: Call call = new Call(); call.setSOAPTransport(soapHTTPConnection); SOAPMappingRegistry smr = call.getSOAPMappingRegistry(); StringDeserializer sd = new StringDeserializer(); smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName(, Result), java.lang.String.class, null, sd); return call; which unfortunately didn't help :-( Any other ideas on how to get a namespace? Thanks. Michael Fork [EMAIL PROTECTED] Scott Nichol [EMAIL PROTECTED] 07/30/2003 10:18 AM Please respond to soap-user To: [EMAIL PROTECTED] cc: Subject:Re: Apache - MSSOAP Namespaces My guess is that either you or WebSphere has added a type mapping to read the result, but has not done it correctly. It looks like a full type mapping has been provided, rather than the element name mapping required. It should be something like StringDeserializer stringDser = new StringDeserializer(); smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName(, Result), String.class, null, stringDser); Note that the serializer is specified as null, indicating that this is just for mapping an element to a Java class through a particular deserializer. Scott Nichol Do not send e-mail directly to this e-mail address, because it is filtered to accept only mail from specific mail lists. - Original Message - From: Michael J Fork [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, July 30, 2003 12:41 AM Subject: Apache - MSSOAP Namespaces All, I am trying to connect to MSSOAP 3.0 from the Apache Soap shipped with IBM WebSphere Application Server 4.0 (not sure of version), and am getting the following error: Server:XML Parser failed at linenumber 5, lineposition 36, reason is: Only a default namespace can have an empty URI. The request that was sent: POST http://X//X.wsdl HTTP/1.0 Host: X Content-Type: text/xml; charset=utf-8 Content-Length: 699 SOAPAction: http://xx/xx/xx/xx.Login ?xml version='1.0' encoding='UTF-8'? SOAP-ENV:Envelope xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xmlns:xsd=http://www.w3.org/2001/XMLSchema SOAP-ENV:Body ns1:Login xmlns:ns1=http://tempuri.org/test2/message/ SOAP-ENV:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/ strLoginName xmlns:ns2= xsi:type=ns2:Resultxxx/strLoginName strPassword xmlns:ns3= xsi:type=ns3:Resultx/strPassword /ns1:Login /SOAP-ENV:Body /SOAP-ENV:Envelope It does not like xmlns:ns2= -- how
Re: Apache - MSSOAP Namespaces
Thank you! That did it. Have a good one. Michael Fork [EMAIL PROTECTED] Scott Nichol [EMAIL PROTECTED] 07/30/2003 04:32 PM Please respond to soap-user To:[EMAIL PROTECTED] cc: Subject:Re: Apache - MSSOAP Namespaces How about changing your code to smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName(, Result), null, null, sd); That's how the docs specify this should be done. I took the other snippet from a sample. Scott Nichol Do not send e-mail directly to this e-mail address, because it is filtered to accept only mail from specific mail lists. - Original Message - From: Michael J Fork [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, July 30, 2003 5:08 PM Subject: Re: Apache - MSSOAP Namespaces Asked the WAS guys what version they shipped... Michael Fork [EMAIL PROTECTED] Scott Nichol [EMAIL PROTECTED] 07/30/2003 03:32 PM Please respond to soap-user To: [EMAIL PROTECTED] cc: Subject:Re: Apache - MSSOAP Namespaces I think it should work with 2.3. How did you determine the version? Scott Nichol Do not send e-mail directly to this e-mail address, because it is filtered to accept only mail from specific mail lists. - Original Message - From: Michael J Fork [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, July 30, 2003 3:41 PM Subject: Re: Apache - MSSOAP Namespaces I did some digging and found that it is version 2.3 Any suggestions as to why it is not working? Thanks Michael Fork [EMAIL PROTECTED] Michael J Fork/Rochester/[EMAIL PROTECTED] 07/30/2003 01:04 PM Please respond to soap-user To: [EMAIL PROTECTED] cc: Subject:Re: Apache - MSSOAP Namespaces How can I tell which version of Apache SOAP it is Michael Fork [EMAIL PROTECTED] Scott Nichol [EMAIL PROTECTED] 07/30/2003 12:40 PM Please respond to soap-user To:[EMAIL PROTECTED] cc: Subject:Re: Apache - MSSOAP Namespaces The error is complaining about the namespace being empty, but if you look at strLoginName xmlns:ns2= xsi:type=ns2:Result there is a real underlying problem: the type of the element is xsd:string, not ns2:Result. The mapping in the line smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName(, Result), java.lang.String.class, null, sd); is being applied to serialization as well as deserialization. I am wondering whether WAS 4 includes a version of Apache SOAP that does not support this interop workaround. For example, if WAS 4 has Apache SOAP 2.0, the workaround code above will not work. Scott Nichol Do not send e-mail directly to this e-mail address, because it is filtered to accept only mail from specific mail lists. - Original Message - From: Michael J Fork [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, July 30, 2003 11:30 AM Subject: Re: Apache - MSSOAP Namespaces I had the following in my code already: Call call = new Call(); call.setSOAPTransport(soapHTTPConnection); SOAPMappingRegistry smr = call.getSOAPMappingRegistry(); StringDeserializer sd = new StringDeserializer(); smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName(, Result), java.lang.String.class, null, sd); return call; which unfortunately didn't help :-( Any other ideas on how to get a namespace? Thanks. Michael Fork [EMAIL PROTECTED] Scott Nichol [EMAIL PROTECTED] 07/30/2003 10:18 AM Please respond to soap-user To: [EMAIL PROTECTED] cc: Subject:Re: Apache - MSSOAP Namespaces My guess is that either you or WebSphere has added a type mapping to read the result, but has not done it correctly. It looks like a full type mapping has been provided, rather than the element name mapping required. It should be something like StringDeserializer stringDser = new StringDeserializer(); smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName(, Result), String.class, null, stringDser); Note that the serializer is specified as null, indicating that this is just for mapping an element to a Java class through a particular deserializer. Scott Nichol Do not send e-mail directly to this e-mail address, because it is filtered to accept only mail from specific mail lists. - Original Message - From: Michael J Fork [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, July 30, 2003 12:41 AM Subject: Apache - MSSOAP Namespaces All, I am trying to connect to MSSOAP 3.0 from the Apache Soap shipped with IBM WebSphere Application Server 4.0 (not sure of version), and am getting the following error: Server:XML Parser
Apache - MSSOAP Namespaces
All, I am trying to connect to MSSOAP 3.0 from the Apache Soap shipped with IBM WebSphere Application Server 4.0 (not sure of version), and am getting the following error: Server:XML Parser failed at linenumber 5, lineposition 36, reason is: Only a default namespace can have an empty URI. The request that was sent: POST http://X//X.wsdl HTTP/1.0 Host: X Content-Type: text/xml; charset=utf-8 Content-Length: 699 SOAPAction: http://xx/xx/xx/xx.Login ?xml version='1.0' encoding='UTF-8'? SOAP-ENV:Envelope xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xmlns:xsd=http://www.w3.org/2001/XMLSchema SOAP-ENV:Body ns1:Login xmlns:ns1=http://tempuri.org/test2/message/ SOAP-ENV:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/ strLoginName xmlns:ns2= xsi:type=ns2:Resultxxx/strLoginName strPassword xmlns:ns3= xsi:type=ns3:Resultx/strPassword /ns1:Login /SOAP-ENV:Body /SOAP-ENV:Envelope It does not like xmlns:ns2= -- how do I specify a value for the namespace? The code creating the call is generated by WSAD and is: Vector params = new Vector(); Parameter strLoginNameParam = new Parameter(strLoginName, java.lang.String.class, strLoginName, Constants.NS_URI_SOAP_ENC); params.addElement(strLoginNameParam); Parameter strPasswordParam = new Parameter(strPassword, java.lang.String.class, strPassword, Constants.NS_URI_SOAP_ENC); params.addElement(strPasswordParam); call.setParams(params); Response resp = call.invoke(getURL(), SOAPActionURI); Thanks. Michael Fork [EMAIL PROTECTED]