Commit Graph

24 Commits

Author SHA1 Message Date
Michal Nasiadka bc79012f46 Drop Swarm support
Label validator function has been left behind, although it's not
checking for anything right now - might be useful in future.

Change-Id: I74c744dc957d73aef7556aff00837611dadbada7
2024-01-24 13:20:21 +13:00
guilhermesteinmuller 6e8657912c Drop Mesos code
The coe mesos has not been maintained for quite some
time and hasn't got much attention from the community
in general. As discussed in the mailing list [1] we
are dropping for now.

[1] http://lists.openstack.org/pipermail/openstack-discuss/2021-December/026230.html

Co-Authored-By: jake.yip@ardc.edu.au

Change-Id: Ie7de9a37bfad6214f52d0605409e74d62a51df47
2023-03-07 14:02:05 +11:00
Feilong Wang d224999cb0 Improve log of k8s health status check
When the k8s cluster is created in a private network without
FIP and without a LB FIP, the cluster is not reachable by Magnum
control plane. For this case, the cluster health status is unknown
for Magnum and Magnum should not connect the cluster to avoid
unnecessary logs.

Task: 36187
Story: 2006383

Change-Id: Ibb589ec51f91f05a334c907560ef5fe57cbfbffb
2019-10-01 18:29:16 +00:00
Feilong Wang d80febb384 Add health_status and health_status_reason to cluster
APIImpact
Related blueprint cluster-healing

Change-Id: I78d4d14fb064996de77bdd6a381d2df53a9488b8
2018-08-27 14:28:46 +12:00
Clenimar Filemon ec950be894 federation api: api endpoints
this commit introduces a new '/federations'
endpoint to Magnum API, as well as its controllers,
entities and conductor handlers.

this corresponds to the first phase of the
federation-api spec. please refer to [1] for more
details.

[1] https://review.openstack.org/#/c/489609/

Change-Id: I662ac2d6ddec07b50712109541486fd26c5d21de
Partially-Implements: blueprint federation-api
2018-02-09 00:59:31 -03:00
Ricardo Rocha 28fff8006a Make docker_storage_driver a str instead of enum
Allow any value to be passed on the docker_storage_driver field by turning it
into a StringField (was EnumField), and remove the constraints limiting the
values to 'devicemapper' and 'overlay'.

Change the docker storage setup to have a generic setup for all drivers with
the exception of 'devicemapper', which keeps its own specific storage config
function. For all others, do the same we already did for overlay (with two
cases for usage of a cinder volume or not) and simply set the storage driver
in the docker configuration to the value provided in the cluster template.

Change-Id: I9aa8f232ce64ece4d439c0a476f463820a499617
Closes-Bug: #1722522
2017-12-14 14:41:09 +00:00
Spyros Trigazis b4386f83ad Add swarm-mode driver
* add swarm-mode config
* remove etcd, flannel, discovery_url, swift_registry
* add swarm-mode COE obj
* add functional test, create cluster, create/remove
  service and delete cluster.

Co-Authored-By: ArchiFleKs <kevin.lefevre@osones.io>
Implements: blueprint swarm-mode-support
Change-Id: Iba177be167cb3a3866441d5f42670171f26c5a86
2017-07-18 10:47:23 +02:00
fengbeihong 977f3af83f Support dcos installation on centos vm cluster
This patch provides support for installing dcos on centos using magnum.
A new coe type(dcos) is added. This provides support for vm.
Design spec and steps on how to test can be found in
contrib/drivers/dcos_centos_v1/README.md.

Public agent nodes are not supported now.

Co-Authored-By: fengbeihong (fengbeihong@gmail.com)
Co-Authored-By: vmud213 (vinay50muddu@yahoo.com)

Change-Id: I58b378b4bd6df34fd43307e4252cfbbd9bf593d8
Partially-Implements: blueprint mesos-dcos
2017-04-10 12:05:45 +08:00
Vijendar Komalla aa56874bfb Resource Quota - Adding quota API
Change-Id: I7d2da1f86edae002531a529c4ffb469ce9f1777b
Partially-Implements: blueprint resource-quota
2017-01-23 11:00:11 -06:00
Eli Qiao 6033d0ef6f Add RESUME_FAILED to cluster's status field
Heat stack may return RESUME_FAILED, sync this status to cluster object.

Closes-Bug: #1646324
Change-Id: If48fc62d91fddeb579048a4ff5c4b238d3c5324c
2016-12-01 11:38:59 +08:00
yatin 745188b5ef Restrict server type only to vm/bm
Currently server type can be set to any String, but it should
be restricted to only allowed types: vm/bm.
vm: virtual machine
bm: baremetal
With this patch it is restricted only to allowed types.

Change-Id: Ifbeff8621b26702e54ad088195fddcb7c35424b2
Closes-Bug: #1622432
2016-09-16 14:48:44 +05:30
Jenkins 5f78e2f33a Merge "Restrict magnum service name" 2016-09-16 08:09:15 +00:00
Jaycen Grant 729c2d0ab4 Rename Bay DB, Object, and internal usage to Cluster
This is patch 3 of 3 to change the internal usage of the terms
Bay and BayModel.  This patch updates Bay to Cluster in DB and
Object as well as all the usages.  No functionality should be
changed by this patch, just naming and db updates.

Change-Id: Ife04b0f944ded03ca932d70e09e6766d09cf5d9f
Implements: blueprint rename-bay-to-cluster
2016-09-08 13:01:12 -07:00
Rajiv Kumar fd05c590a5 Restrict magnum service name
Magnum service binary name can be only conductor. Currently any
string having length less than 256 is allowed.

Change-Id: I03dad7a36a01e22e5fc63917f5e2919636f6ab2f
Closes-bug: #1615221
2016-08-22 09:30:31 +05:30
Wenzhi Yu 63b5c21c8d Rollback bay on update failure
There is a rollback mechanism in heat after the stack
update failed. There should be a rollback mechanism in
magnum after bay update failed.

This patch add new microversion 1.3 to add rollback
support for Magnum bay, user can enable rollback on bay
update failure by specifying microversion 1.3 in header(
{'OpenStack-API-Version': 'container-infra 1.3'}) and
passing 'rollback=True'(http://XXX/v1/bays/XXX/?rollback=True)
when issuing bay update reqeust.

Change-Id: Idd02769f98078702404a11dc9f7a3339ce4e22eb
Partially-Implements: blueprint bay-rollback-on-update-failure
2016-08-15 17:09:23 +08:00
Rajiv Kumar 42ef3dc564 Restricted Magnum service state to 'up' and 'down'
Magnum service state could have any string having length 1-255.
This patch restricts value to be one of the following
  - up
  - down

Change-Id: I740e0379b78c08cbd9ded7ca7bd1bbdd92d44e90
Closes-bug: #1609216
2016-08-03 10:04:39 +05:30
Jenkins df6b16039c Merge "Put fault info of bay resources into bay-show outputs" 2016-06-07 16:55:49 +00:00
Wenzhi Yu 678f74c12e Put fault info of bay resources into bay-show outputs
In order to debug a failing bay creation, users need to know about
interaction with heat, heat architecture and how to debug it.
It would be much better if magnum could propagate some of the error
description into the bay-show status.

This patch proposes a way to do this:
If a bay was in error status('CREATE_FAILED', 'UPDATE_FAILED',
'DELETE_FAILED'), we collect fault info from heat resources of the
bay and put the fault info into 'bay-show' command outputs.

Change-Id: I458f1619243bf44f5f0e7dd2a5d6cd10ed2d0fde
Partially-Implements: blueprint explain-errors
2016-06-07 08:42:06 +08:00
Spyros Trigazis dec85b538f Add docker-storage-driver attribute to baymodel
* This parameter will be optional and users will be able to select
  a supported driver, otherwise the default configuration will be
  used.
* Add docker storage driver enum field to baymodel
* Add db upgrade file
* Update heat templates for kubernetes and swarm allowing only
  devicemapper and overlay as docker_storage_driver values.
* Add configuration for OverlayFS on Fedora Atomic, if overlay is
  incompatible bay creation will result a CREATE_FAILED status.
* Factor out configuration of docker storage drivers
* Update tests
* Add Release Notes

Partially-Implements: blueprint support-for-different-docker-storage-driver
Change-Id: Ib58cb734c4e9c90d5d83574852213d2e97359e92
2016-06-01 10:42:19 +02:00
space 36a6fde15a Add more types of status to Bay's status
Added more types of status which can be updated to Bay's status field:
'RESUME_COMPLETE'
'RESTORE_COMPLETE'
'ROLLBACK_COMPLETE'
'SNAPSHOT_COMPLETE'
'CHECK_COMPLETE'
Added these states so that the bay_update code have better resiliency
If the user operates the stack,he(she) could still update the bay.

Change-Id: Ia71ca90742a7e23bbf2c0c9254951db7e06faf28
Closes-Bug: #1538447
2016-02-02 12:50:43 +08:00
Hongbin Lu 618f019f4d Introduce BayType that declares valid COEs
Restrict COE field to be one of 'kubernetes', 'swarm' and 'mesos'

Change-Id: I8967b1cd826c8c22fa5c1d847776e5e0dd65c629
Closes-Bug: #1497134
2015-09-28 15:55:40 -04:00
Ryan Rossiter 5ac2dce563 Add field for container status
This adds an enum for the different statuses and changes over to use
those constants in docker conducter.

An UNKNOWN value was also added because the API tests expected 'Unknown'
so this value needed to be added to the field in order to be valid.

Change-Id: Ic79317f0fbdaf99c1979d3023f04c4eba44b412a
Closes-Bug: #1489136
2015-08-28 19:00:18 +00:00
Cale Rath e4add16a69 Use oslo.versionedobjects enums instead of status strings
Statuses are currently defined as a StringField when they should
be defined as an Enum object.  This fix changes these objects from
using StringField by extending the Enum object in
oslo.versionedobjects

Change-Id: I12760e1d72f4af9931ee97bbad298f92f785118f
Partial-Bug: #1489136
2015-08-27 15:55:02 +00:00
Grzegorz Grasza 1bff03f733 Make MagnumObject a subclass of Oslo VersionedObject
Slim down MagnumObject to accomodate the newest implementation from Oslo,
migrate all fields to their types defined in oslo_versionedobjects.fields.
This migrates almost all of the versioned objects code to Oslo, next patch
will implement the new registration scheme.

Related to blueprint versioned-objects

Change-Id: I75a77280042469ede05158683bc4f94e3b76abbd
2015-05-11 11:46:49 +02:00