Re: [openstack-dev] [Magnum] Obtain the objects from the bay endpoint

2015-08-13 Thread Kai Qiang Wu
Hi Stdake and Vilobh,

If I get what you proposed below, you means pod/rc/service would not be
stored in magnum side, Just retrieved and updated in k8s side ?

For now, if magnum not add any specific logic to pod/rc/service, that can
be OK.


Thanks

Best Wishes,

Kai Qiang Wu (吴开强  Kennan)
IBM China System and Technology Lab, Beijing

E-mail: wk...@cn.ibm.com
Tel: 86-10-82451647
Address: Building 28(Ring Building), ZhongGuanCun Software Park,
 No.8 Dong Bei Wang West Road, Haidian District Beijing P.R.China
100193

Follow your heart. You are miracle!



From:   Steven Dake (stdake) std...@cisco.com
To: OpenStack Development Mailing List (not for usage questions)
openstack-dev@lists.openstack.org
Date:   08/12/2015 11:52 PM
Subject:Re: [openstack-dev] [Magnum] Obtain the objects from the bay
endpoint





From: Akash Gangil akashg1...@gmail.com
Reply-To: OpenStack Development Mailing List (not for usage questions) 
openstack-dev@lists.openstack.org
Date: Wednesday, August 12, 2015 at 1:37 AM
To: OpenStack Development Mailing List (not for usage questions) 
openstack-dev@lists.openstack.org
Subject: Re: [openstack-dev] [Magnum] Obtain the objects from the bay
endpoint

  Hi,

  I have a few questions. inline.


Problem :-

Currently objects (pod/rc/service) are read from the database. In
order for native clients to work, they must be read from the ReST
bay endpoint. To execute native clients, we must have one truth of
the state of the system, not two as in its current state of art.


  What is meant by the native clients here? Can you give an example?

Native client is docker binary or kubectl from those various projects.  We
also need to support python-magnumclient operations to support further Heat
integration, which allows Magnum to be used well with proprietary software
implementations that may be doing orchestration via Heat.



A]  READ path needs to be changed :

1. For python clients :-


python-magnum client-rest api-conductor-rest-endpoint-k8s-api
handler


In its present state of art this is python-magnum client-rest
api-db


2. For native clients :-

native client-rest-endpoint-k8s-api



  If native client can get all the info through the rest-endpoint-k8s
  handler, why in case of magnum client do we need to go through
  rest-api- conductor? Do we parse or modify the k8s-api data before
  responding to the python-magnum client?



Kubernetes has a rest API endpoint running in the bay.  This is different
from the Magnum rest API.  This is what is referred to above.

B] WRITE operations need to happen via the rest endpoint instead of
the conductor.

  If we completely bypass the conductor, is there any way to keep a
  track of trace of how a resource was modified? Since I presume now
  magnum doesn't have that info, since we talk to k8s-api directly? Or
  is this irrelevant?
C] Another requirement that needs to be satisfied is that data
returned by magnum should be the same whether its created by native
client or python-magnum client.

  I don't understand why is the information duplicated in the magnum db
  and k8s data source in first place? From what I understand magnum has
  its own database which is with k8s-api responses?

The reason it is duplicated is because when I wrote the original code, I
didn’t forsee this objective.  Essentially I’m not perfect ;)

The fix will make sure all of the above conditions are met.


Need your input on the proposed approach.



ACK accurate of my understanding of the proposed approach :)
-Vilobh


[1] https://blueprints.launchpad.net/magnum/+spec/objects-from-bay

__

OpenStack Development Mailing List (not for usage questions)
Unsubscribe:
openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


__

OpenStack Development Mailing List (not for usage questions)
Unsubscribe:
openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev




  --
  Akash
  __

  OpenStack Development Mailing List (not for usage questions)
  Unsubscribe:
  openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
  http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Re: [openstack-dev] [Magnum] Obtain the objects from the bay endpoint

2015-08-12 Thread Steven Dake (stdake)


From: Akash Gangil akashg1...@gmail.commailto:akashg1...@gmail.com
Reply-To: OpenStack Development Mailing List (not for usage questions) 
openstack-dev@lists.openstack.orgmailto:openstack-dev@lists.openstack.org
Date: Wednesday, August 12, 2015 at 1:37 AM
To: OpenStack Development Mailing List (not for usage questions) 
openstack-dev@lists.openstack.orgmailto:openstack-dev@lists.openstack.org
Subject: Re: [openstack-dev] [Magnum] Obtain the objects from the bay endpoint

Hi,

I have a few questions. inline.


Problem :-

Currently objects (pod/rc/service) are read from the database. In order for 
native clients to work, they must be read from the ReST bay endpoint. To 
execute native clients, we must have one truth of the state of the system, not 
two as in its current state of art.


What is meant by the native clients here? Can you give an example?

Native client is docker binary or kubectl from those various projects.  We also 
need to support python-magnumclient operations to support further Heat 
integration, which allows Magnum to be used well with proprietary software 
implementations that may be doing orchestration via Heat.



A]  READ path needs to be changed :

1. For python clients :-

python-magnum client-rest api-conductor-rest-endpoint-k8s-api handler

In its present state of art this is python-magnum client-rest api-db

2. For native clients :-

native client-rest-endpoint-k8s-api

If native client can get all the info through the rest-endpoint-k8s handler, 
why in case of magnum client do we need to go through rest-api- conductor? Do 
we parse or modify the k8s-api data before responding to the python-magnum 
client?



Kubernetes has a rest API endpoint running in the bay.  This is different from 
the Magnum rest API.  This is what is referred to above.

B] WRITE operations need to happen via the rest endpoint instead of the 
conductor.

If we completely bypass the conductor, is there any way to keep a track of 
trace of how a resource was modified? Since I presume now magnum doesn't have 
that info, since we talk to k8s-api directly? Or is this irrelevant?

C] Another requirement that needs to be satisfied is that data returned by 
magnum should be the same whether its created by native client or python-magnum 
client.

I don't understand why is the information duplicated in the magnum db and k8s 
data source in first place? From what I understand magnum has its own database 
which is with k8s-api responses?

The reason it is duplicated is because when I wrote the original code, I didn’t 
forsee this objective.  Essentially I’m not perfect ;)


The fix will make sure all of the above conditions are met.

Need your input on the proposed approach.

ACK accurate of my understanding of the proposed approach :)

-Vilobh

[1] 
https://blueprints.launchpad.net/magnum/+spec/objects-from-bay__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: 
openstack-dev-requ...@lists.openstack.org?subject:unsubscribehttp://openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: 
openstack-dev-requ...@lists.openstack.org?subject:unsubscribehttp://openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev




--
Akash
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [Magnum] Obtain the objects from the bay endpoint

2015-08-12 Thread Ton Ngo

Hi Vilobh,
 Do we need to do something similar for a Swarm bay?
Ton Ngo,



From:   Vilobh Meshram vilobhmeshram.openst...@gmail.com
To: OpenStack Development Mailing List (not for usage questions)
openstack-dev@lists.openstack.org, OpenStack Mailing List
(not for usage questions) openst...@lists.openstack.org
Date:   08/11/2015 08:50 PM
Subject:[openstack-dev] [Magnum] Obtain the objects from the bay
endpoint



Hi All,

As discussed in today's Magnum weekly meeting I had shown interest to work
on [1].

Problem :-

Currently objects (pod/rc/service) are read from the database. In order for
native clients to work, they must be read from the ReST bay endpoint. To
execute native clients, we must have one truth of the state of the system,
not two as in its current state of art.

sdake and I discussed about it on IRC and we plan to propose following
solution :-

Approach to solve the problem :-
A]  READ path needs to be changed :

1. For python clients :-


python-magnum client-rest api-conductor-rest-endpoint-k8s-api handler


In its present state of art this is python-magnum client-rest api-db


2. For native clients :-

native client-rest-endpoint-k8s-api


B] WRITE operations need to happen via the rest endpoint instead of the
conductor.


C] Another requirement that needs to be satisfied is that data returned by
magnum should be the same whether its created by native client or
python-magnum client.


The fix will make sure all of the above conditions are met.


Need your input on the proposed approach.





-Vilobh


[1] https://blueprints.launchpad.net/magnum/+spec/objects-from-bay
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [Magnum] Obtain the objects from the bay endpoint

2015-08-12 Thread Akash Gangil
Hi,

I have a few questions. inline.



 Problem :-

 Currently objects (pod/rc/service) are read from the database. In order
 for native clients to work, they must be read from the ReST bay endpoint.
 To execute native clients, we must have one truth of the state of the
 system, not two as in its current state of art.


What is meant by the native clients here? Can you give an example?


A]  READ path needs to be changed :

 1. For python clients :-

 python-magnum client-rest api-conductor-rest-endpoint-k8s-api handler

 In its present state of art this is python-magnum client-rest api-db

 2. For native clients :-

 native client-rest-endpoint-k8s-api


If native client can get all the info through the rest-endpoint-k8s
handler, why in case of magnum client do we need to go through rest-api-
conductor? Do we parse or modify the k8s-api data before responding to the
python-magnum client?



 B] WRITE operations need to happen via the rest endpoint instead of the
 conductor.


If we completely bypass the conductor, is there any way to keep a track of
trace of how a resource was modified? Since I presume now magnum doesn't
have that info, since we talk to k8s-api directly? Or is this irrelevant?

 C] Another requirement that needs to be satisfied is that data returned by
 magnum should be the same whether its created by native client or
 python-magnum client.


I don't understand why is the information duplicated in the magnum db and
k8s data source in first place? From what I understand magnum has its own
database which is with k8s-api responses?

 The fix will make sure all of the above conditions are met.

 Need your input on the proposed approach.

 -Vilobh

 [1] *https://blueprints.launchpad.net/magnum/+spec/objects-from-bay*
 https://blueprints.launchpad.net/magnum/+spec/objects-from-bay
 __
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


 __
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev




-- 
Akash
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


[openstack-dev] [Magnum] Obtain the objects from the bay endpoint

2015-08-11 Thread Vilobh Meshram
Hi All,

As discussed in today's Magnum weekly meeting I had shown interest to work
on [1].

Problem :-

Currently objects (pod/rc/service) are read from the database. In order for
native clients to work, they must be read from the ReST bay endpoint. To
execute native clients, we must have one truth of the state of the system,
not two as in its current state of art.

sdake and I discussed about it on IRC and we plan to propose following
solution :-

Approach to solve the problem :-
A]  READ path needs to be changed :

1. For python clients :-

python-magnum client-rest api-conductor-rest-endpoint-k8s-api handler

In its present state of art this is python-magnum client-rest api-db
2. For native clients :-

native client-rest-endpoint-k8s-api

B] WRITE operations need to happen via the rest endpoint instead of the
conductor.

C] Another requirement that needs to be satisfied is that data returned by
magnum should be the same whether its created by native client or
python-magnum client.

The fix will make sure all of the above conditions are met.

Need your input on the proposed approach.


-Vilobh

[1] https://blueprints.launchpad.net/magnum/+spec/objects-from-bay
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev