Commit Graph

239 Commits (6357bd27b78409bf809c4a877199e9feee087a21)

Author SHA1 Message Date
Jay Lau (Guangya Liu) 6357bd27b7 Prune DB API
Remove following related APIs:
1) reserve_xxx
2) release_xxx
3) get_xxx_by_instance

Change-Id: Idda40f06698792b99915745faef58abd60194a64
2015-01-02 23:35:23 +00:00
Jay Lau (Guangya Liu) b37036c34d Add k8s replication support for magnum
Implements bp add-k8s-replication-controller

Change-Id: I5aee1af171b0a3a1476fd9fee1fdf26755ab0805
2015-01-02 18:29:18 -05:00
Jenkins d46ac431e5 Merge "Move out docker client logic from docker conductor" 2015-01-02 21:54:44 +00:00
Davanum Srinivas 2184b3bead execute and logs API response should be JSON
Change-Id: I70adca286e3e3dbbf01196d19dc988490201a208
2015-01-02 10:17:51 -05:00
Jenkins 5987013822 Merge "Add tests for Bay dbapi and make them pass" 2015-01-02 05:55:04 +00:00
Hongbin Lu 659e3d09ef Add tests for Bay dbapi and make them pass
Did the following fixes/modifications to pass the tests:
* Raise an exception when deleting an non-empty Bay (A bay with
  pod(s)/service(s).
* Fixed methods _add_bays_filters, _add_pods_filters and
  _add_services_filters.

Change-Id: Iaaeb3f4b49337a822cc79e06fe620b8b11b0acbd
2015-01-02 03:21:43 +00:00
Davanum Srinivas 10d0a5095c Move out docker client logic from docker conductor
Change-Id: Iac5ebb2f74c1dfe0c927e0e86501c50a93a83958
2015-01-01 22:14:15 -05:00
Davanum Srinivas 90ab6cba1d get container-execute to work
For execute we need at least 1.15 version of Docker Remote API

Change-Id: I6268150e03e06c2c68263e41a6252e0e0f3ef209
2015-01-01 20:10:25 -05:00
Davanum Srinivas 77f8314da6 Get pause and unpause working
All other methods take in a parameter that can be either a dict with
container information or a string id. pause/unpause should be the
same. Also we have pause/unpause here explicitly is because they
are missing from some versions of the docker-py client.

Change-Id: I882326b718f1252c757fe13f0de3844e02cc9d08
2015-01-01 20:10:14 -05:00
Jenkins 2d1fe31f56 Merge "Remove type from bay object" 2015-01-01 23:53:59 +00:00
Jenkins 9a1766d7de Merge "Add tests for baymodel dbapi and make them pass" 2015-01-01 23:52:45 +00:00
Jenkins fc44bc4aa8 Merge "Fix and cleanup baymodel dbapi" 2015-01-01 23:52:32 +00:00
Jenkins a44474a2d7 Merge "Enable pod update using pod_defintion_url" 2015-01-01 23:49:38 +00:00
Jenkins d3f67a44c7 Merge "Add service_update for k8s" 2015-01-01 23:48:04 +00:00
Jay Lau (Guangya Liu) 1d79c72b5f Remove type from bay object
type is not needed by bay object and bay is now using baymodel_id
but not image_id

Change-Id: I40cd8743d69b4116332a1690dc21aaf09aea9adf
2015-01-01 00:57:19 -05:00
Jenkins 7395875381 Merge "change old oslo.concurrency to oslo_concurrency" 2015-01-01 04:51:38 +00:00
Jenkins c4bbc0aa33 Merge "Remove get_service_by_instance" 2015-01-01 04:47:41 +00:00
Jenkins 5e4483f2d3 Merge "Service create need filename as parameter" 2015-01-01 03:52:15 +00:00
Hongbin Lu 9fa75af73e Add tests for baymodel dbapi and make them pass
Test cases were written accordingly to Ironic DB tests. In before,
deleting a non-existent baymodel would silently succeed, which made
the tests fail. This commit fixed it by raising an exception on such
situation.

Implements: blueprint increase-test-coverage
Change-Id: I00f6966a1d727113033d707d9864872f3696be09
2014-12-31 22:02:15 +00:00
Jenkins 8cf365bc76 Merge "Add bay_delete support for bay handler" 2014-12-31 21:41:05 +00:00
Jenkins 49379cd0cc Merge "Add bay_show support for bay handler" 2014-12-31 21:39:52 +00:00
Jenkins b50e7dd485 Merge "Implement creating Bay using heat" 2014-12-31 21:39:44 +00:00
Kennan e36e8ee5d0 change old oslo.concurrency to oslo_concurrency
as oslo.concurrency deprecated, need to sync to latest usage

Change-Id: I151f2ef3d786745ef11f9b9c2be2aff167218fff
2014-12-31 23:21:00 +08:00
Jenkins a4482c53d3 Merge "Add replication controller to magnum db" 2014-12-31 14:38:45 +00:00
Jay Lau (Guangya Liu) 6441c0bb78 Add service_update for k8s
Change-Id: I9e35d8d250dc1292ea8db649a84a69e5e5955ecd
2014-12-31 07:47:34 -05:00
Jay Lau (Guangya Liu) 8ac4dc813f Service create need filename as parameter
This is the backend change for patch Iaae8486

The k8s service create only has one parameter as filename, this
patch is updating magnum backend api can use filename as parameter
when creating service.

Change-Id: I67f0cea72b00f1ce35bf3e8c49153daf1d2fff68
2014-12-31 07:43:09 -05:00
Jay Lau (Guangya Liu) bac58ab49b Enable pod update using pod_defintion_url
Change-Id: I6d24d144e33898b8b2038034ca3f7cb44dc54e9d
2014-12-31 07:07:11 -05:00
Jay Lau (Guangya Liu) 01e4d151e6 Relocate and rename kubecli.py
Rename kubecli.py to kube_utils.py and move it to
conductor/handlers/common

Change-Id: I0fba770a2ff337c38e3ca1a9d4d6bef80b5ba965
2014-12-31 07:01:38 -05:00
Jay Lau (Guangya Liu) 8500612141 Add replication controller to magnum db
Change-Id: Id3fc6b0b81bc097f3e90d2f98e28b8f0c29ce429
2014-12-31 06:54:30 -05:00
OTSUKA, Yuanying deb8cff544 Add bay_delete support for bay handler
Implements-blueprint: backend-bay-heat-kube

Change-Id: Ic5ce227e1285080ff29ad2d2b87d4207b357d61d
2014-12-31 17:28:51 +09:00
OTSUKA, Yuanying 73c826215e Add bay_show support for bay handler
Implements-blueprint: backend-bay-heat-kube

Change-Id: I6f40f8dd191d18e00cc201d8312cfb585df6cf5a
2014-12-31 17:28:51 +09:00
Jay Lau (Guangya Liu) b10d2cbbc1 Remove get_service_by_instance
k8s is a logic concept and it does not bind to any instance

Change-Id: I4bfb1940c681a133d6a5257c3abe2a8661fca67b
2014-12-31 02:19:58 -05:00
Jay Lau (Guangya Liu) 5bbfeaea6d Add BayModel to magnum README
Change-Id: Icf0f3aaf241c97e8cb38bf29aba1704bf07b17e7
2014-12-31 01:31:05 -05:00
Jay Lau (Guangya Liu) 29629bec8e Update description for magnum service
Change-Id: I596367756c93cf8b838ae6ca6cd3809d5ef315d5
2014-12-31 01:21:28 -05:00
OTSUKA, Yuanying 6ad1fb26a4 Implement creating Bay using heat
Co-authored-by: Steven Dake <sdake@redhat.com>
Implements-blueprint: backend-bay-heat-kube

Change-Id: Ia544d8bd3bc03afa900247b8da09675c0c6aec71
2014-12-31 14:10:30 +09:00
Hongbin Lu e399dce555 Fix and cleanup baymodel dbapi
* Define exceptions BayModelNotFound and BayModelAlreadyExists. These
  two exceptions were used in the code but not defined.
* Remove methods reserve_baymodel and release_baymodel, since it
  does not make sense to reserve/release a baymodel.
* Remove exception BayModelAssociated. This exception was used without
  being defined and does not make sense for baymodel.
* Remove unrelated code at method create_baymodel.

Change-Id: I6946d771d40c5274f59b94d17542d84685c26e27
2014-12-31 03:24:54 +00:00
Jenkins f1fbce758d Merge "Fix keystoneclient and heatclient incompatibility" 2014-12-30 23:14:40 +00:00
Jenkins 2150bf8655 Merge "Fix context is not set correctly" 2014-12-30 23:13:50 +00:00
Jenkins 26d49b5d29 Merge "Catch Docker API errors" 2014-12-30 22:45:06 +00:00
OTSUKA, Yuanying 3d1bff28ab Fix keystoneclient and heatclient incompatibility
Previous version of heat client couldn't work correctly
because of keystone auth error in actual use.
So, heat client and keystone client are copied from solum.

Change-Id: I49fef01bcec581f470e05aa82526b31fe47d0adc
2014-12-31 07:03:06 +09:00
OTSUKA, Yuanying fa29190557 Fix context is not set correctly
Closes-Bug: #1406539
Change-Id: I4dac11e3f15ba51502c08b66299cc75f8fd45dec
2014-12-31 07:03:06 +09:00
Davanum Srinivas 4e5699000a Catch Docker API errors
Magnum container REST API hangs currently when there is an
error from Docker API ('ValueError: Circular reference detected').
So we should catch this APIError and extract the error string to
make sure the oslo messaging call returns properly (and hence the
magnum REST API call does not time out).

Change-Id: I055ffc2c733bb5193191a764169388369b5b1dcc
2014-12-30 12:12:23 -05:00
Jay Lau (Guangya Liu) 426009cf03 Pod create need filename as parameter
This is the backend change for patch I254a20a

The k8s pod create only has one parameter as filename, this patch
is updating magnum backend api can use filename as parameter when
creating pod.

Change-Id: Ibdc05415ce2cb4e30f1d5687b03f2c0761047dec
2014-12-30 11:31:28 -05:00
Jenkins 66047a39d6 Merge "Add hooks to obtain conductor api" 2014-12-30 16:28:55 +00:00
Jenkins 8ee49d1d00 Merge "Split up extracting auth.py file" 2014-12-30 16:24:16 +00:00
Jenkins b99628af3b Merge "Add more fields for service" 2014-12-30 15:55:24 +00:00
Jenkins 494c1dc178 Merge "Add more test for magnum API" 2014-12-30 15:55:18 +00:00
Jenkins 3548a087ef Merge "Add more fields for Pod" 2014-12-30 14:40:15 +00:00
OTSUKA, Yuanying a7a4544033 Add hooks to obtain conductor api
To obtain conductor api instance easily, this add rpcapi attribute to
pecan.request.
So now, we can access to conductor api from "pecan.request.rpcapi".

Related-Bug: #1406539
Change-Id: I6edbf031d91e65d70637629c3b57d45322eee9fd
2014-12-30 23:07:05 +09:00
OTSUKA, Yuanying c6c606b277 Split up extracting auth.py file
The auth.py file does a couple of things, It contains keystone authentication
and to set request context. So this split up to two files.
After this commit, request hook should be included in hooks.py.

Related-Bug: #1406539
Change-Id: I1754da40383976e48f6fd4ca23911717f918f9bb
2014-12-30 23:02:29 +09:00