Re: [Openstack] provision of dynamic flavor

2013-05-14 Thread Michael J Fork
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

2013-05-02 Thread Michael J Fork


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

2013-02-15 Thread Michael J Fork
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)

2012-08-27 Thread Michael J Fork

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)

2012-08-27 Thread Michael J Fork

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)

2012-08-27 Thread Michael J Fork

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

2012-08-22 Thread Michael J Fork


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)

2012-08-16 Thread Michael J Fork

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)

2012-08-15 Thread Michael J Fork

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

2012-07-12 Thread Michael J Fork


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

2012-06-11 Thread Michael J Fork

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

2012-06-01 Thread Michael J Fork

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

2012-04-23 Thread Michael J Fork

+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

2012-02-14 Thread Michael J Fork
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

2012-02-08 Thread Michael J Fork
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)

2012-02-03 Thread Michael J Fork
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

2011-10-29 Thread Michael J Fork
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

2011-10-29 Thread Michael J Fork
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

2003-07-30 Thread Michael J Fork

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

2003-07-30 Thread Michael J Fork

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

2003-07-30 Thread Michael J Fork

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

2003-07-30 Thread Michael J Fork

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

2003-07-30 Thread Michael J Fork

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

2003-07-29 Thread Michael J Fork

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]