Drop bay and baymodel from magnum

- Drop bay and baymodel tests
- Drop bay and baymodel from controllers

Depends-On: Ib85e4fda8e4ac467bd49590dc72ba5913bb9a19d

Story: 2009104
Task: 42957
Task: 42959

Signed-off-by: Diogo Guerra <diogo.filipe.tomas.guerra@cern.ch>
Change-Id: Ida2e42c86400438951d9804e3ce122c56a46b94f
changes/80/803780/8
Diogo Guerra 2021-08-06 16:45:34 +02:00 committed by Jake Yip
parent df5bb49bf2
commit 11bcc17568
45 changed files with 87 additions and 5020 deletions

View File

@ -1,366 +0,0 @@
.. -*- rst -*-
===================
Manage Baymodels
===================
Lists, creates, shows details for, updates, and deletes baymodels.
Create new baymodel
====================
.. rest_method:: POST /v1/baymodels/
Create new baymodel.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 201
.. rest_status_code:: error status.yaml
- 400
- 401
- 403
- 404
Request
-------
.. rest_parameters:: parameters.yaml
- labels: labels
- fixed_subnet: fixed_subnet
- master_flavor_id: master_flavor_id
- no_proxy: no_proxy
- https_proxy: https_proxy
- http_proxy: http_proxy
- tls_disabled: tls_disabled
- keypair_id: keypair_id
- public: public_type
- docker_volume_size: docker_volume_size
- server_type: server_type
- external_network_id: external_network_id
- image_id: image_id
- volume_driver: volume_driver
- registry_enabled: registry_enabled
- docker_storage_driver: docker_storage_driver
- name: name
- network_driver: network_driver
- fixed_network: fixed_network
- coe: coe
- flavor_id: flavor_id
- master_lb_enabled: master_lb_enabled
- dns_nameserver: dns_nameserver
Request Example
----------------
.. literalinclude:: samples/baymodel-create-req.json
:language: javascript
Response
--------
.. rest_parameters:: parameters.yaml
- X-Openstack-Request-Id: request_id
- insecure_registry: insecure_registry
- links: links
- http_proxy: http_proxy
- updated_at: updated_at
- floating_ip_enabled: floating_ip_enabled
- fixed_subnet: fixed_subnet
- master_flavor_id: master_flavor_id
- uuid: baymodel_id
- no_proxy: no_proxy
- https_proxy: https_proxy
- tls_disabled: tls_disabled
- keypair_id: keypair_id
- public: public_type
- labels: labels
- docker_volume_size: docker_volume_size
- server_type: server_type
- external_network_id: external_network_id
- cluster_distro: cluster_distro
- image_id: image_id
- volume_driver: volume_driver
- registry_enabled: registry_enabled
- docker_storage_driver: docker_storage_driver
- apiserver_port: apiserver_port
- name: name
- created_at: created_at
- network_driver: network_driver
- fixed_network: fixed_network
- coe: coe
- flavor_id: flavor_id
- master_lb_enabled: master_lb_enabled
- dns_nameserver: dns_nameserver
Response Example
----------------
.. literalinclude:: samples/baymodel-create-resp.json
:language: javascript
List all baymodels
==================
.. rest_method:: GET /v1/baymodels/
List all available baymodels in Magnum.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 403
Response
--------
.. rest_parameters:: parameters.yaml
- X-Openstack-Request-Id: request_id
- baymodels: baymodel_list
- insecure_registry: insecure_registry
- links: links
- http_proxy: http_proxy
- updated_at: updated_at
- floating_ip_enabled: floating_ip_enabled
- fixed_subnet: fixed_subnet
- master_flavor_id: master_flavor_id
- uuid: baymodel_id
- no_proxy: no_proxy
- https_proxy: https_proxy
- tls_disabled: tls_disabled
- keypair_id: keypair_id
- public: public_type
- labels: labels
- docker_volume_size: docker_volume_size
- server_type: server_type
- external_network_id: external_network_id
- cluster_distro: cluster_distro
- image_id: image_id
- volume_driver: volume_driver
- registry_enabled: registry_enabled
- docker_storage_driver: docker_storage_driver
- apiserver_port: apiserver_port
- name: name
- created_at: created_at
- network_driver: network_driver
- fixed_network: fixed_network
- coe: coe
- flavor_id: flavor_id
- master_lb_enabled: master_lb_enabled
- dns_nameserver: dns_nameserver
Response Example
----------------
.. literalinclude:: samples/baymodel-get-all-resp.json
:language: javascript
Show details of a baymodel
==========================
.. rest_method:: GET /v1/baymodels/{baymodel_ident}
Get all information of a baymodel in Magnum.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 403
- 404
Request
-------
.. rest_parameters:: parameters.yaml
- baymodel_ident: baymodel_ident
Response
--------
.. rest_parameters:: parameters.yaml
- X-Openstack-Request-Id: request_id
- baymodels: baymodel_list
- insecure_registry: insecure_registry
- links: links
- http_proxy: http_proxy
- updated_at: updated_at
- floating_ip_enabled: floating_ip_enabled
- fixed_subnet: fixed_subnet
- master_flavor_id: master_flavor_id
- uuid: baymodel_id
- no_proxy: no_proxy
- https_proxy: https_proxy
- tls_disabled: tls_disabled
- keypair_id: keypair_id
- public: public_type
- labels: labels
- docker_volume_size: docker_volume_size
- server_type: server_type
- external_network_id: external_network_id
- cluster_distro: cluster_distro
- image_id: image_id
- volume_driver: volume_driver
- registry_enabled: registry_enabled
- docker_storage_driver: docker_storage_driver
- apiserver_port: apiserver_port
- name: name
- created_at: created_at
- network_driver: network_driver
- fixed_network: fixed_network
- coe: coe
- flavor_id: flavor_id
- master_lb_enabled: master_lb_enabled
- dns_nameserver: dns_nameserver
Response Example
----------------
.. literalinclude:: samples/baymodel-create-resp.json
:language: javascript
Delete a baymodel
==================
.. rest_method:: DELETE /v1/baymodels/{baymodel_ident}
Delete a baymodel.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 204
.. rest_status_code:: error status.yaml
- 401
- 403
- 404
- 409
Request
-------
.. rest_parameters:: parameters.yaml
- baymodel_ident: baymodel_ident
Response
--------
This request does not return anything in the response body.
.. rest_parameters:: parameters.yaml
- X-Openstack-Request-Id: request_id
Update information of baymodel
===============================
.. rest_method:: PATCH /v1/baymodels/{baymodel_ident}
Update information of one baymodel attributes using operations including:
``add``, ``replace`` or ``remove``. The attributes to ``add`` and ``replace``
in the form of ``key=value`` while ``remove`` only needs the keys.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 400
- 401
- 403
- 404
Request
-------
.. rest_parameters:: parameters.yaml
- baymodel_ident: baymodel_ident
- path: path
- value: value
- op: op
Request Example
----------------
.. literalinclude:: samples/baymodel-update-req.json
:language: javascript
Response
--------
Return new baymodel with updated attributes.
.. rest_parameters:: parameters.yaml
- X-Openstack-Request-Id: request_id
- baymodels: baymodel_list
- insecure_registry: insecure_registry
- links: links
- http_proxy: http_proxy
- updated_at: updated_at
- floating_ip_enabled: floating_ip_enabled
- fixed_subnet: fixed_subnet
- master_flavor_id: master_flavor_id
- uuid: baymodel_id
- no_proxy: no_proxy
- https_proxy: https_proxy
- tls_disabled: tls_disabled
- keypair_id: keypair_id
- public: public_type
- labels: labels
- docker_volume_size: docker_volume_size
- server_type: server_type
- external_network_id: external_network_id
- cluster_distro: cluster_distro
- image_id: image_id
- volume_driver: volume_driver
- registry_enabled: registry_enabled
- docker_storage_driver: docker_storage_driver
- apiserver_port: apiserver_port
- name: name
- created_at: created_at
- network_driver: network_driver
- fixed_network: fixed_network
- coe: coe
- flavor_id: flavor_id
- master_lb_enabled: master_lb_enabled
- dns_nameserver: dns_nameserver
Response Example
----------------
.. literalinclude:: samples/baymodel-create-resp.json
:language: javascript

View File

@ -1,259 +0,0 @@
.. -*- rst -*-
============
Manage Bay
============
Lists, creates, shows details for, updates, and deletes Bay.
Create new bay
==============
.. rest_method:: POST /v1/bays
Create new bay based on bay model.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 202
.. rest_status_code:: error status.yaml
- 400
- 401
- 403
- 404
Request
-------
.. rest_parameters:: parameters.yaml
- name: name
- discovery_url: discovery_url
- master_count: master_count
- baymodel_id: baymodel_id
- node_count: node_count
- bay_create_timeout: bay_create_timeout
.. note::
Request for creating bay is asynchronous from Newton.
Request Example
----------------
.. literalinclude:: samples/bay-create-req.json
:language: javascript
Response
--------
.. rest_parameters:: parameters.yaml
- X-Openstack-Request-Id: request_id
- uuid: bay_id
Response Example
----------------
.. literalinclude:: samples/bay-create-resp.json
:language: javascript
List all bays
====================
.. rest_method:: GET /v1/bays/
List all bays in Magnum.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 403
Response
--------
.. rest_parameters:: parameters.yaml
- X-Openstack-Request-Id: request_id
- bays: bay_list
- status: status
- uuid: bay_id
- links: links
- stack_id: stack_id
- master_count: master_count
- baymodel_id: baymodel_id
- node_count: node_count
- bay_create_timeout: bay_create_timeout
- name: name
Response Example
----------------
.. literalinclude:: samples/bay-get-all-resp.json
:language: javascript
Show details of a bay
=============================
.. rest_method:: GET /v1/bays/{bay_ident}
Get all information of a bay in Magnum.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 403
- 404
Request
-------
.. rest_parameters:: parameters.yaml
- bay_ident: bay_ident
Response
--------
.. rest_parameters:: parameters.yaml
- X-Openstack-Request-Id: request_id
- status: status
- uuid: bay_id
- links: links
- stack_id: stack_id
- created_at: created_at
- api_address: api_address
- discovery_url: discovery_url
- updated_at: updated_at
- master_count: master_count
- coe_version: coe_version
- baymodel_id: baymodel_id
- master_addresses: master_addresses
- node_count: node_count
- node_addresses: node_addresses
- status_reason: status_reason
- bay_create_timeout: bay_create_timeout
- name: name
Response Example
----------------
.. literalinclude:: samples/bay-get-one-resp.json
:language: javascript
Delete a bay
====================
.. rest_method:: DELETE /v1/bays/{bay_ident}
Delete a bay.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 204
.. rest_status_code:: error status.yaml
- 401
- 403
- 404
- 409
Request
-------
.. rest_parameters:: parameters.yaml
- bay_ident: bay_ident
Response
--------
This request does not return anything in the response body.
.. rest_parameters:: parameters.yaml
- X-Openstack-Request-Id: request_id
Update information of bay
=================================
.. rest_method:: PATCH /v1/bays/{bay_ident}
Update information of one bay attributes using operations
including: ``add``, ``replace`` or ``remove``. The attributes to ``add`` and
``replace`` in the form of ``key=value`` while ``remove`` only needs the keys.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 202
.. rest_status_code:: error status.yaml
- 400
- 401
- 403
- 404
Request
-------
.. rest_parameters:: parameters.yaml
- bay_ident: bay_ident
- path: path
- value: value
- op: op
.. note::
Request for updating bay is asynchronous from Newton.
Currently only attribute ``node_count`` are supported for operation
``replace`` and ``remove``.
Request Example
----------------
.. literalinclude:: samples/bay-update-req.json
:language: javascript
Response
--------
.. rest_parameters:: parameters.yaml
- X-Openstack-Request-Id: request_id
- uuid: bay_id
Response Example
----------------
.. literalinclude:: samples/bay-create-resp.json
:language: javascript

View File

@ -1,17 +1,17 @@
.. -*- rst -*-
=====================================
Manage certificates for bay/cluster
Manage certificates for cluster
=====================================
Generates and show CA certificates for bay/cluster.
Generates and show CA certificates for cluster.
Show details about the CA certificate for a bay/cluster
Show details about the CA certificate for a cluster
=======================================================
.. rest_method:: GET /v1/certificates/{cluster_ident}?ca_cert_type={ca_cert_type}
Show CA certificate details that are associated with the created bay/cluster based on the
Show CA certificate details that are associated with the created cluster based on the
given CA certificate type.
Response Codes
@ -34,11 +34,6 @@ Request
- cluster_ident: cluster_ident
- ca_cert_type: ca_cert_type
.. note::
After Newton, all terms related bay/baymodel will be renamed to cluster
and cluster template.
Response
--------
@ -47,26 +42,20 @@ Response
- X-Openstack-Request-Id: request_id
- cluster_uuid: cluster_id
- pem: pem
- bay_uuid: bay_id
- links: links
.. note::
After Newton, all terms related bay/baymodel will be renamed to cluster
and cluster template.
Response Example
----------------
.. literalinclude:: samples/certificates-ca-show-resp.json
:language: javascript
Generate the CA certificate for a bay/cluster
Generate the CA certificate for a cluster
=============================================
.. rest_method:: POST /v1/certificates/
Sign client key and generate the CA certificate for a bay/cluster
Sign client key and generate the CA certificate for a cluster
Response Codes
--------------
@ -86,14 +75,9 @@ Request
.. rest_parameters:: parameters.yaml
- bay_uuid: bay_id
- cluster_uuid: cluster_id
- csr: csr
.. note::
After Newton, all terms related bay/baymodel will be renamed to cluster
and cluster template.
Request Example
----------------
@ -107,27 +91,22 @@ Response
- X-Openstack-Request-Id: request_id
- pem: pem
- bay_uuid: bay_id
- cluster_uuid: cluster_id
- links: links
- csr: csr
.. note::
After Newton, all terms related bay/baymodel will be renamed to cluster
and cluster template.
Response Example
----------------
.. literalinclude:: samples/certificates-ca-sign-resp.json
:language: javascript
Rotate the CA certificate for a bay/cluster
Rotate the CA certificate for a cluster
===========================================
.. rest_method:: PATCH /v1/certificates/{bay_uuid/cluster_uuid}
.. rest_method:: PATCH /v1/certificates/
Rotate the CA certificate for a bay/cluster and invalidate all user
Rotate the CA certificate for a cluster and invalidate all user
certificates.
Response Codes

View File

@ -8,8 +8,6 @@
.. include:: versions.inc
.. include:: urls.inc
.. include:: bays.inc
.. include:: baymodels.inc
.. include:: clusters.inc
.. include:: clustertemplates.inc
.. include:: certificates.inc

View File

@ -8,18 +8,6 @@ request_id:
with the request by default appears in the service logs.
# Path params
bay_ident:
type: string
in: path
required: true
description: |
The UUID or name of bays in Magnum.
baymodel_ident:
description: |
The UUID or name of baymodels in Magnum.
in: path
required: true
type: string
ca_cert_type:
type: string
in: path
@ -59,40 +47,6 @@ apiserver_port:
required: true
description: |
The exposed port of COE API server.
bay_create_timeout:
type: integer
in: body
required: true
description: |
The timeout for bay creation in minutes. The value expected is a
positive integer and the default is 60 minutes. If the timeout is reached
during bay creation process, the operation will be aborted and the
bay status will be set to ``CREATE_FAILED``.
bay_id:
type: UUID
in: body
required: true
description: |
The UUID of the bay.
bay_list:
type: array
in: body
required: true
description: |
The list of all bays in Magnum.
The list of all clusters in Magnum.
baymodel_id:
type: UUID
in: body
required: true
description: |
The UUID of the baymodel.
baymodel_list:
type: array
in: body
required: true
description: |
The list of all baymodels in Magnum.
binary:
type: string
in: body
@ -105,7 +59,7 @@ cluster_distro:
required: true
description: |
Display the attribute ``os_distro`` defined as appropriate metadata in
image for the bay/cluster driver.
image for the cluster driver.
cluster_id:
type: UUID
in: body
@ -143,14 +97,14 @@ coe:
description: |
Specify the Container Orchestration Engine to use. Supported COEs
include ``kubernetes``, ``swarm``. If your environment has
additional bay/cluster drivers installed, refer to the bay/cluster driver
additional cluster drivers installed, refer to the cluster driver
documentation for the new COE names.
coe_version:
type: string
in: body
required: true
description: |
Version info of chosen COE in bay/cluster for helping client in picking
Version info of chosen COE in cluster for helping client in picking
the right version of client.
create_timeout:
type: integer
@ -214,7 +168,7 @@ discovery_url:
https://discovery.etcd.io
In this case, Magnum will generate a unique url here for each bay and
In this case, Magnum will generate a unique url here for each uster and
store the info for the servers.
in: body
format: uri
@ -222,8 +176,8 @@ discovery_url:
type: string
dns_nameserver:
description: |
The DNS nameserver for the servers and containers in the bay/cluster to
use. This is configured in the private Neutron network for the bay/cluster.
The DNS nameserver for the servers and containers in the cluster to
use. This is configured in the private Neutron network for the cluster.
The default is ``8.8.8.8``.
in: body
required: true
@ -248,29 +202,29 @@ docker_volume_size:
external_network_id:
description: |
The name or network ID of a Neutron network to provide connectivity to the
external internet for the bay/cluster. This network must be an external
external internet for the cluster. This network must be an external
network, i.e. its attribute ``router:external`` must be ``True``. The
servers in the bay/cluster will be connected to a private network and
servers in the cluster will be connected to a private network and
Magnum will create a router between this private network and the external
network. This will allow the servers to download images, access discovery
service, etc, and the containers to install packages, etc. In the opposite
direction, floating IPs will be allocated from the external network to
provide access from the external internet to servers and the container
services hosted in the bay/cluster.
services hosted in the cluster.
in: body
required: true
type: string
fixed_network:
description: |
The name or network ID of a Neutron network to provide connectivity to
the internal network for the bay/cluster.
the internal network for the cluster.
in: body
required: false
type: string
fixed_subnet:
description: |
Fixed subnet that are using to allocate network address for nodes in
bay/cluster.
cluster.
in: body
required: false
type: string
@ -341,8 +295,8 @@ id_s:
image_id:
description: |
The name or UUID of the base image in Glance to boot the servers for the
bay/cluster. The image must have the attribute ``os_distro`` defined as
appropriate for the bay/cluster driver.
cluster. The image must have the attribute ``os_distro`` defined as
appropriate for the cluster driver.
in: body
required: true
type: string
@ -355,9 +309,9 @@ insecure_registry:
type: string
keypair_id:
description: |
The name of the SSH keypair to configure in the bay/cluster servers
The name of the SSH keypair to configure in the cluster servers
for ssh access. Users will need the key to be able to ssh to the servers in
the bay/cluster. The login name is specific to the bay/cluster driver, for
the cluster. The login name is specific to the cluster driver, for
example with fedora-atomic image, default login name is ``fedora``.
in: body
required: true
@ -365,8 +319,8 @@ keypair_id:
labels:
description: |
Arbitrary labels in the form of ``key=value`` pairs. The accepted keys and
valid values are defined in the bay/cluster drivers. They are used as a way
to pass additional parameters that are specific to a bay/cluster driver.
valid values are defined in the cluster drivers. They are used as a way
to pass additional parameters that are specific to a cluster driver.
in: body
required: false
type: array
@ -384,40 +338,40 @@ master_addresses:
type: array
master_count:
description: |
The number of servers that will serve as master for the bay/cluster. The
The number of servers that will serve as master for the cluster. The
default is 1. Set to more than 1 master to enable High Availability. If
the option ``master-lb-enabled`` is specified in the baymodel/cluster
the option ``master-lb-enabled`` is specified in the cluster
template, the master servers will be placed in a load balancer pool.
in: body
required: true
type: integer
master_flavor_id:
description: |
The flavor of the master node for this baymodel/cluster template.
The flavor of the master node for this cluster template.
in: body
required: false
type: string
master_lb_enabled:
description: |
Since multiple masters may exist in a bay/cluster, a Neutron load balancer
is created to provide the API endpoint for the bay/cluster and to direct
Since multiple masters may exist in a cluster, a Neutron load balancer
is created to provide the API endpoint for the cluster and to direct
requests to the masters. In some cases, such as when the LBaaS service is
not available, this option can be set to ``false`` to create a bay/cluster
not available, this option can be set to ``false`` to create a cluster
without the load balancer. In this case, one of the masters will serve as
the API endpoint. The default is ``true``, i.e. to create the load
balancer for the bay.
balancer for the cluster.
in: body
required: true
type: boolean
master_lb_enabled_cluster:
description: |
Since multiple masters may exist in a bay/cluster, a Neutron load balancer
is created to provide the API endpoint for the bay/cluster and to direct
Since multiple masters may exist in a cluster, a Neutron load balancer
is created to provide the API endpoint for the cluster and to direct
requests to the masters. In some cases, such as when the LBaaS service is
not available, this option can be set to ``false`` to create a bay/cluster
not available, this option can be set to ``false`` to create a cluster
without the load balancer. In this case, one of the masters will serve as
the API endpoint. The default is ``true``, i.e. to create the load
balancer for the bay.
balancer for the cluster.
in: body
required: false
type: boolean
@ -443,7 +397,7 @@ network_driver:
description: |
The name of a network driver for providing the networks for the containers.
Note that this is different and separate from the Neutron network for the
bay/cluster. The operation and networking model are specific to the
cluster. The operation and networking model are specific to the
particular driver.
in: body
required: true
@ -464,7 +418,7 @@ node_addresses:
type: array
node_count:
description: |
The number of servers that will serve as node in the bay/cluster. The
The number of servers that will serve as node in the cluster. The
default is 1.
in: body
required: true
@ -504,15 +458,15 @@ path:
type: string
pem:
description: |
CA certificate for the bay/cluster.
CA certificate for the cluster.
in: body
required: true
type: string
public_type:
description: |
Access to a baymodel/cluster template is normally limited to the admin,
Access to a cluster template is normally limited to the admin,
owner or users within the same tenant as the owners. Setting this flag
makes the baymodel/cluster template public and accessible by other users.
makes the cluster template public and accessible by other users.
The default is not public.
in: body
required: true
@ -522,7 +476,7 @@ registry_enabled:
Docker images by default are pulled from the public Docker registry,
but in some cases, users may want to use a private registry. This option
provides an alternative registry based on the Registry V2: Magnum will
create a local registry in the bay/cluster backed by swift to host the
create a local registry in the cluster backed by swift to host the
images. The default is to use the public registry.
in: body
required: false
@ -535,8 +489,8 @@ report_count:
type: integer
server_type:
description: |
The servers in the bay/cluster can be ``vm`` or ``baremetal``. This
parameter selects the type of server to create for the bay/cluster.
The servers in the cluster can be ``vm`` or ``baremetal``. This
parameter selects the type of server to create for the cluster.
The default is ``vm``.
in: body
required: true
@ -555,13 +509,13 @@ state:
type: string
status:
description: |
The current state of the bay/cluster.
The current state of the cluster.
in: body
required: true
type: string
status_reason:
description: |
The reason of bay/cluster current status.
The reason of cluster current status.
in: body
required: true
type: string
@ -574,8 +528,8 @@ tags:
tls_disabled:
description: |
Transport Layer Security (TLS) is normally enabled to secure the
bay/cluster. In some cases, users may want to disable TLS in the
bay/cluster, for instance during development or to troubleshoot certain
cluster. In some cases, users may want to disable TLS in the
cluster, for instance during development or to troubleshoot certain
problems. Specifying this parameter will disable TLS so that users can
access the COE endpoints without a certificate. The default is TLS enabled.
in: body

View File

@ -1,8 +0,0 @@
{
"name":"k8s",
"discovery_url":null,
"master_count":2,
"baymodel_id":"0562d357-8641-4759-8fed-8173f02c9633",
"node_count":2,
"bay_create_timeout":60
}

View File

@ -1,24 +0,0 @@
{
"bays":[
{
"status":"CREATE_COMPLETE",
"uuid":"746e779a-751a-456b-a3e9-c883d734946f",
"links":[
{
"href":"http://10.164.180.104:9511/v1/bays/746e779a-751a-456b-a3e9-c883d734946f",
"rel":"self"
},
{
"href":"http://10.164.180.104:9511/bays/746e779a-751a-456b-a3e9-c883d734946f",
"rel":"bookmark"
}
],
"stack_id":"9c6f1169-7300-4d08-a444-d2be38758719",
"master_count":1,
"baymodel_id":"0562d357-8641-4759-8fed-8173f02c9633",
"node_count":1,
"bay_create_timeout":60,
"name":"k8s"
}
]
}

View File

@ -1,32 +0,0 @@
{
"status":"CREATE_COMPLETE",
"uuid":"746e779a-751a-456b-a3e9-c883d734946f",
"links":[
{
"href":"http://10.164.180.104:9511/v1/bays/746e779a-751a-456b-a3e9-c883d734946f",
"rel":"self"
},
{
"href":"http://10.164.180.104:9511/bays/746e779a-751a-456b-a3e9-c883d734946f",
"rel":"bookmark"
}
],
"stack_id":"9c6f1169-7300-4d08-a444-d2be38758719",
"created_at":"2016-08-29T06:51:31+00:00",
"api_address":"https://172.24.4.6:6443",
"discovery_url":"https://discovery.etcd.io/cbeb580da58915809d59ee69348a84f3",
"updated_at":"2016-08-29T06:53:24+00:00",
"master_count":1,
"coe_version": "v1.2.0",
"baymodel_id":"0562d357-8641-4759-8fed-8173f02c9633",
"master_addresses":[
"172.24.4.6"
],
"node_count":1,
"node_addresses":[
"172.24.4.13"
],
"status_reason":"Stack CREATE completed successfully",
"bay_create_timeout":60,
"name":"k8s"
}

View File

@ -1,44 +0,0 @@
{
"insecure_registry":null,
"links":[
{
"href":"http://10.164.180.104:9511/v1/baymodels/085e1c4d-4f68-4bfd-8462-74b9e14e4f39",
"rel":"self"
},
{
"href":"http://10.164.180.104:9511/baymodels/085e1c4d-4f68-4bfd-8462-74b9e14e4f39",
"rel":"bookmark"
}
],
"http_proxy":"http://10.164.177.169:8080",
"updated_at":null,
"floating_ip_enabled":true,
"fixed_subnet":null,
"master_flavor_id":null,
"uuid":"085e1c4d-4f68-4bfd-8462-74b9e14e4f39",
"no_proxy":"10.0.0.0/8,172.0.0.0/8,192.0.0.0/8,localhost",
"https_proxy":"http://10.164.177.169:8080",
"tls_disabled":false,
"keypair_id":"kp",
"public":false,
"labels":{
},
"docker_volume_size":3,
"server_type":"vm",
"external_network_id":"public",
"cluster_distro":"fedora-atomic",
"image_id":"fedora-atomic-latest",
"volume_driver":"cinder",
"registry_enabled":false,
"docker_storage_driver":"devicemapper",
"apiserver_port":null,
"name":"k8s-bm2",
"created_at":"2016-08-29T02:08:08+00:00",
"network_driver":"flannel",
"fixed_network":null,
"coe":"kubernetes",
"flavor_id":"m1.small",
"master_lb_enabled":true,
"dns_nameserver":"8.8.8.8"
}

View File

@ -1,48 +0,0 @@
{
"baymodels":[
{
"insecure_registry":null,
"links":[
{
"href":"http://10.164.180.104:9511/v1/baymodels/085e1c4d-4f68-4bfd-8462-74b9e14e4f39",
"rel":"self"
},
{
"href":"http://10.164.180.104:9511/baymodels/085e1c4d-4f68-4bfd-8462-74b9e14e4f39",
"rel":"bookmark"
}
],
"http_proxy":"http://10.164.177.169:8080",
"updated_at":null,
"floating_ip_enabled":true,
"fixed_subnet":null,
"master_flavor_id":null,
"uuid":"085e1c4d-4f68-4bfd-8462-74b9e14e4f39",
"no_proxy":"10.0.0.0/8,172.0.0.0/8,192.0.0.0/8,localhost",
"https_proxy":"http://10.164.177.169:8080",
"tls_disabled":false,
"keypair_id":"kp",
"public":false,
"labels":{
},
"docker_volume_size":3,
"server_type":"vm",
"external_network_id":"public",
"cluster_distro":"fedora-atomic",
"image_id":"fedora-atomic-latest",
"volume_driver":"cinder",
"registry_enabled":false,
"docker_storage_driver":"devicemapper",
"apiserver_port":null,
"name":"k8s-bm2",
"created_at":"2016-08-29T02:08:08+00:00",
"network_driver":"flannel",
"fixed_network":null,
"coe":"kubernetes",
"flavor_id":"m1.small",
"master_lb_enabled":true,
"dns_nameserver":"8.8.8.8"
}
]
}

View File

@ -1,7 +1,6 @@
{
"cluster_uuid":"0b4b766f-1500-44b3-9804-5a6e12fe6df4",
"pem":"-----BEGIN CERTIFICATE-----\nMIICzDCCAbSgAwIBAgIQOOkVcEN7TNa9E80GoUs4xDANBgkqhkiG9w0BAQsFADAO\n-----END CERTIFICATE-----\n",
"bay_uuid":"0b4b766f-1500-44b3-9804-5a6e12fe6df4",
"links":[
{
"href":"http://10.164.180.104:9511/v1/certificates/0b4b766f-1500-44b3-9804-5a6e12fe6df4",

View File

@ -1,4 +1,4 @@
{
"bay_uuid":"0b4b766f-1500-44b3-9804-5a6e12fe6df4",
"cluster_uuid":"0b4b766f-1500-44b3-9804-5a6e12fe6df4",
"csr":"-----BEGIN CERTIFICATE REQUEST-----\nMIIEfzCCAmcCAQAwFDESMBAGA1UEAxMJWW91ciBOYW1lMIICIjANBgkqhkiG9w0B\n-----END CERTIFICATE REQUEST-----\n"
}
}

View File

@ -1,6 +1,6 @@
{
"pem":"-----BEGIN CERTIFICATE-----\nMIIDxDCCAqygAwIBAgIRALgUbIjdKUy8lqErJmCxVfkwDQYJKoZIhvcNAQELBQAw\n-----END CERTIFICATE-----\n",
"bay_uuid":"0b4b766f-1500-44b3-9804-5a6e12fe6df4",
"cluster_uuid":"0b4b766f-1500-44b3-9804-5a6e12fe6df4",
"links":[
{
"href":"http://10.164.180.104:9511/v1/certificates/0b4b766f-1500-44b3-9804-5a6e12fe6df4",
@ -12,4 +12,4 @@
}
],
"csr":"-----BEGIN CERTIFICATE REQUEST-----\nMIIEfzCCAmcCAQAwFDESMBAGA1UEAxMJWW91ciBOYW1lMIICIjANBgkqhkiG9w0B\n-----END CERTIFICATE REQUEST-----\n"
}
}

View File

@ -6,11 +6,11 @@
"uuid":"731387cf-a92b-4c36-981e-3271d63e5597",
"links":[
{
"href":"http://10.164.180.104:9511/v1/bays/731387cf-a92b-4c36-981e-3271d63e5597",
"href":"http://10.164.180.104:9511/v1/clusters/731387cf-a92b-4c36-981e-3271d63e5597",
"rel":"self"
},
{
"href":"http://10.164.180.104:9511/bays/731387cf-a92b-4c36-981e-3271d63e5597",
"href":"http://10.164.180.104:9511/clusters/731387cf-a92b-4c36-981e-3271d63e5597",
"rel":"bookmark"
}
],

View File

@ -26,16 +26,6 @@
"rel":"bookmark"
}
],
"bays":[
{
"href":"http://10.164.180.104:9511/v1/bays/",
"rel":"self"
},
{
"href":"http://10.164.180.104:9511/bays/",
"rel":"bookmark"
}
],
"clustertemplates":[
{
"href":"http://10.164.180.104:9511/v1/clustertemplates/",
@ -66,15 +56,5 @@
"rel":"bookmark"
}
],
"baymodels":[
{
"href":"http://10.164.180.104:9511/v1/baymodels/",
"rel":"self"
},
{
"href":"http://10.164.180.104:9511/baymodels/",
"rel":"bookmark"
}
],
"id":"v1"
}
}

View File

@ -28,9 +28,9 @@ class ExampleTemplate(template_def.BaseTemplateDefinition):
super(ExampleTemplate, self).__init__()
self.add_output('server_address',
bay_attr='api_address')
cluster_attr='api_address')
self.add_output('node_addresses',
bay_attr='node_addresses')
cluster_attr='node_addresses')
def template_path(self):
return os.path.join(os.path.dirname(__file__), 'example.yaml')

View File

@ -100,9 +100,7 @@ When a user creates a cluster, Magnum will dynamically create a service account
for the cluster. The service account will be used by the cluster to
access the OpenStack services (i.e. Neutron, Swift, etc.). A trust relationship
will be created between the user who created the cluster (the "trustor") and
the service account created for the cluster (the "trustee"). For details,
please refer to
`Create a trustee user for each bay <https://opendev.org/openstack/magnum/src/branch/master/specs/create-trustee-user-for-each-bay.rst>`_.
the service account created for the cluster (the "trustee").
If Magnum fails to create the trustee, check the magnum config file (usually
in /etc/magnum/magnum.conf). Make sure 'trustee_*' and 'www_authenticate_uri'

View File

@ -481,7 +481,7 @@ the table are linked to more details elsewhere in the user guide.
Cluster
-------
A cluster (previously known as bay) is an instance of the ClusterTemplate
A cluster is an instance of the ClusterTemplate
of a COE. Magnum deploys a cluster by referring to the attributes
defined in the particular ClusterTemplate as well as a few additional
parameters for the cluster. Magnum deploys the orchestration templates
@ -567,13 +567,6 @@ Heat. For more help on Heat stack troubleshooting, refer to the
Create
++++++
**NOTE** bay-<command> are the deprecated versions of these commands and are
still support in current release. They will be removed in a future version.
Any references to the term bay will be replaced in the parameters when using
the 'bay' versions of the commands. For example, in 'bay-create' --baymodel
is used as the baymodel parameter for this command instead of
--cluster-template.
The 'cluster-create' command deploys a cluster, for example::
openstack coe cluster create mycluster \
@ -2884,14 +2877,11 @@ Supported Events
----------------
The following table displays the corresponding relationship between resource
types and operations. The bay type is deprecated and will be removed in a
future version. Cluster is the new equivalent term.
types and operations.
+---------------+----------------------------+-------------------------+
| resource type | supported operations | typeURI |
+===============+============================+=========================+
| bay | create, update, delete | service/magnum/bay |
+---------------+----------------------------+-------------------------+
| cluster | create, update, delete | service/magnum/cluster |
+---------------+----------------------------+-------------------------+

View File

@ -24,8 +24,6 @@ from wsme import types as wtypes
from magnum.api.controllers import base as controllers_base
from magnum.api.controllers import link
from magnum.api.controllers.v1 import bay
from magnum.api.controllers.v1 import baymodel
from magnum.api.controllers.v1 import certificate
from magnum.api.controllers.v1 import cluster
from magnum.api.controllers.v1 import cluster_template
@ -76,12 +74,6 @@ class V1(controllers_base.APIBase):
links = [link.Link]
"""Links that point to a specific URL for this version and documentation"""
baymodels = [link.Link]
"""Links to the baymodels resource"""
bays = [link.Link]
"""Links to the bays resource"""
clustertemplates = [link.Link]
"""Links to the clustertemplates resource"""
@ -119,18 +111,6 @@ class V1(controllers_base.APIBase):
bookmark=True, type='text/html')]
v1.media_types = [MediaType('application/json',
'application/vnd.openstack.magnum.v1+json')]
v1.baymodels = [link.Link.make_link('self', pecan.request.host_url,
'baymodels', ''),
link.Link.make_link('bookmark',
pecan.request.host_url,
'baymodels', '',
bookmark=True)]
v1.bays = [link.Link.make_link('self', pecan.request.host_url,
'bays', ''),
link.Link.make_link('bookmark',
pecan.request.host_url,
'bays', '',
bookmark=True)]
v1.clustertemplates = [link.Link.make_link('self',
pecan.request.host_url,
'clustertemplates', ''),
@ -189,8 +169,6 @@ class V1(controllers_base.APIBase):
class Controller(controllers_base.Controller):
"""Version 1 API controller root."""
bays = bay.BaysController()
baymodels = baymodel.BayModelsController()
clusters = cluster.ClustersController()
clustertemplates = cluster_template.ClusterTemplatesController()
quotas = quota.QuotaController()

View File

@ -1,603 +0,0 @@
# Copyright 2013 UnitedStack Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import uuid
from oslo_log import log as logging
from oslo_utils import timeutils
import pecan
import six
import wsme
from wsme import types as wtypes
from magnum.api import attr_validator
from magnum.api.controllers import base
from magnum.api.controllers import link
from magnum.api.controllers.v1 import collection
from magnum.api.controllers.v1 import types
from magnum.api import expose
from magnum.api import utils as api_utils
from magnum.api.validation import validate_cluster_properties
from magnum.