From 5adf24fd8d4a67cf6ab56ddee569a9e0c169dfda Mon Sep 17 00:00:00 2001 From: Hieu LE Date: Mon, 29 Aug 2016 13:37:20 +0700 Subject: [PATCH] Create baymodel/cluster template api reference Add details for baymodel/cluster template API of Magnum. Add new links related to cluster and cluster template in sample of magnum version API. Change-Id: Ifddf9188d39893cd4911a264bbbb11979fd5b817 Implements: blueprint magnum-doc-rest-api --- api-ref/source/baymodels.inc | 366 ++++++++++++++++++ api-ref/source/baymodels_clustertemplates.inc | 0 api-ref/source/clustertemplates.inc | 366 ++++++++++++++++++ api-ref/source/index.rst | 3 +- api-ref/source/parameters.yaml | 287 +++++++++++++- .../source/samples/baymodel-create-req.json | 27 ++ .../source/samples/baymodel-create-resp.json | 44 +++ .../source/samples/baymodel-get-all-resp.json | 48 +++ .../source/samples/baymodel-update-req.json | 12 + .../samples/clustertemplate-create-req.json | 27 ++ .../samples/clustertemplate-create-resp.json | 44 +++ .../samples/clustertemplate-get-all-resp.json | 48 +++ .../samples/clustertemplate-update-req.json | 12 + .../source/samples/versions-01-get-resp.json | 20 + 14 files changed, 1301 insertions(+), 3 deletions(-) create mode 100644 api-ref/source/baymodels.inc delete mode 100644 api-ref/source/baymodels_clustertemplates.inc create mode 100644 api-ref/source/clustertemplates.inc create mode 100644 api-ref/source/samples/baymodel-create-req.json create mode 100644 api-ref/source/samples/baymodel-create-resp.json create mode 100644 api-ref/source/samples/baymodel-get-all-resp.json create mode 100644 api-ref/source/samples/baymodel-update-req.json create mode 100644 api-ref/source/samples/clustertemplate-create-req.json create mode 100644 api-ref/source/samples/clustertemplate-create-resp.json create mode 100644 api-ref/source/samples/clustertemplate-get-all-resp.json create mode 100644 api-ref/source/samples/clustertemplate-update-req.json diff --git a/api-ref/source/baymodels.inc b/api-ref/source/baymodels.inc new file mode 100644 index 0000000000..86b917c1ac --- /dev/null +++ b/api-ref/source/baymodels.inc @@ -0,0 +1,366 @@ +.. -*- 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 \ No newline at end of file diff --git a/api-ref/source/baymodels_clustertemplates.inc b/api-ref/source/baymodels_clustertemplates.inc deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/api-ref/source/clustertemplates.inc b/api-ref/source/clustertemplates.inc new file mode 100644 index 0000000000..c068253d0e --- /dev/null +++ b/api-ref/source/clustertemplates.inc @@ -0,0 +1,366 @@ +.. -*- rst -*- + +========================== + Manage Cluster Templates +========================== + +Lists, creates, shows details for, updates, and deletes Cluster Templates. + +Create new cluster template +===================================== + +.. rest_method:: POST /v1/clustertemplates + +Create new cluster template. + +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/clustertemplate-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: clustertemplate_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/clustertemplate-create-resp.json + :language: javascript + +List all cluster templates +========================== + +.. rest_method:: GET /v1/clustertemplates + +List all available cluster templates 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 + - clustertemplates: clustertemplate_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: clustertemplate_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/clustertemplate-get-all-resp.json + :language: javascript + +Show details of a cluster template +================================== + +.. rest_method:: GET /v1/clustertemplates/{clustertemplate_ident} + +Get all information of a cluster template 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 + + - clustertemplate_ident: clustertemplate_ident + +Response +-------- + +.. rest_parameters:: parameters.yaml + + - X-Openstack-Request-Id: request_id + - clustertemplates: clustertemplate_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: clustertemplate_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/clustertemplate-create-resp.json + :language: javascript + +Delete a cluster template +========================= + +.. rest_method:: DELETE /v1/clustertemplates/{clustertemplate_ident} + +Delete a cluster template. + +Response Codes +-------------- + +.. rest_status_code:: success status.yaml + + - 204 + +.. rest_status_code:: error status.yaml + + - 401 + - 403 + - 404 + - 409 + +Request +------- + +.. rest_parameters:: parameters.yaml + + - clustertemplate_ident: clustertemplate_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 cluster template +================================================ + +.. rest_method:: PATCH /v1/clustertemplates/{clustertemplate_ident} + +Update information of one cluster template 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 + + - clustertemplate_ident: clustertemplate_ident + - path: path + - value: value + - op: op + +Request Example +---------------- + +.. literalinclude:: samples/clustertemplate-update-req.json + :language: javascript + +Response +-------- + +Return new cluster templates with updated attributes. + +.. rest_parameters:: parameters.yaml + + - X-Openstack-Request-Id: request_id + - clustertemplates: clustertemplate_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: clustertemplate_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/clustertemplate-create-resp.json + :language: javascript \ No newline at end of file diff --git a/api-ref/source/index.rst b/api-ref/source/index.rst index e0c9b99002..3dd7237c09 100644 --- a/api-ref/source/index.rst +++ b/api-ref/source/index.rst @@ -9,6 +9,7 @@ .. include:: versions.inc .. include:: urls.inc .. include:: bays_clusters.inc -.. include:: baymodels_clustertemplates.inc +.. include:: baymodels.inc +.. include:: clustertemplates.inc .. include:: certificates.inc .. include:: mservices.inc diff --git a/api-ref/source/parameters.yaml b/api-ref/source/parameters.yaml index 8f0d23cebb..6a228f0710 100644 --- a/api-ref/source/parameters.yaml +++ b/api-ref/source/parameters.yaml @@ -1,3 +1,4 @@ +# Header params request_id: type: UUID in: header @@ -5,18 +6,80 @@ request_id: description: | A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs. + +# Path params +baymodel_ident: + description: | + The UUID or name of baymodels in Magnum. + in: path + required: true + type: string +clustertemplate_ident: + type: string + in: path + required: true + description: | + The UUID or name of cluster templates in Magnum. + +# Body params +apiserver_port: + type: integer + in: body + required: true + description: | + The exposed port of COE API server. bay_cluster_id: type: UUID in: body required: true description: | The UUID of the bay/cluster. +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 required: true description: | The name of the binary form of the Magnum service. +cluster_distro: + type: string + in: body + required: true + description: | + Display the attribute ``os-distro`` defined as appropriate metadata in + image for the bay/cluster driver. +clustertemplate_id: + type: UUID + in: body + required: true + description: | + The UUID of the cluster template. +clustertemplate_list: + type: array + in: body + required: true + description: | + The list of all cluster templates in Magnum. +coe: + type: string + in: body + required: true + description: | + Specify the Container Orchestration Engine to use. Supported COEs + include ``kubernetes``, ``swarm``, ``mesos``. If your environment has + additional bay/cluster drivers installed, refer to the bay/cluster driver + documentation for the new COE names. created_at: description: | The date and time when the resource was created. @@ -57,24 +120,164 @@ disabled_reason: in: body required: true 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 default is ``8.8.8.8``. + in: body + required: true + type: string +docker_storage_driver: + description: | + The name of a driver to manage the storage for the images and the + container's writable layer. The supported drivers are ``devicemapper`` and + ``overlay``. The default is ``devicemapper``. + in: body + required: true + type: string +docker_volume_size: + description: | + The size in GB for the local storage on each server for the Docker daemon + to cache the images and host the containers. Cinder volumes provide the + storage. The default is 25 GB. For the ``devicemapper`` storage driver, + the minimum value is 3GB. For the ``overlay`` storage driver, the minimum + value is 1GB. + in: body + required: true + type: integer +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 + network, i.e. its attribute ``router:external`` must be ``True``. The + servers in the bay/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. + 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. + in: body + required: false + type: string +fixed_subnet: + description: | + Fixed subnet that are using to allocate network address for nodes in + bay/cluster. + in: body + required: false + type: string +flavor_id: + description: | + The nova flavor ID or name for booting the node servers. The default is + ``m1.small``. + in: body + required: true + type: string +floating_ip_enabled: + description: | + Whether enable or not using the floating IP of cloud provider. Some + cloud providers used floating IP, some used public IP, thus Magnum + provide this option for specifying the choice of using floating IP. + in: body + required: true + type: boolean host: description: | The host for the service. in: body required: true type: string +http_proxy: + description: | + The IP address for a proxy to use when direct http access from the servers + to sites on the external internet is blocked. This may happen in certain + countries or enterprises, and the proxy allows the servers and + containers to access these sites. The format is a URL including a port + number. The default is ``None``. + in: body + required: false + type: string +https_proxy: + description: | + The IP address for a proxy to use when direct https access from the + servers to sites on the external internet is blocked. This may happen in + certain countries or enterprises, and the proxy allows the servers and + containers to access these sites. The format is a URL including a port + number. The default is ``None``. + in: body + required: false + type: string id_s: description: | The ID of the Magnum service. in: body required: true type: string +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. + in: body + required: true + type: string +insecure_registry: + description: | + The URL pointing to users's own private insecure docker registry to + deploy and run docker containers. + in: body + required: true + type: string +keypair_id: + description: | + The name or UUID of the SSH keypair to configure in the bay/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 + example with fedora-atomic image, default login name is ``fedora``. + in: body + required: true + type: string +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. + in: body + required: false + type: array links: description: | Links to the resources in question. in: body required: true type: array +master_flavor_id: + description: | + The flavor of the master node for this baymodel/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 + 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 + 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. + in: body + required: true + type: boolean mservices: description: | A list of Magnum services. @@ -83,7 +286,38 @@ mservices: type: array name: description: | - Name of the Container Infrastructure Management API. + Name of the resource. + in: body + required: true + type: string +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 + particular driver. + in: body + required: true + type: string +no_proxy: + description: | + When a proxy server is used, some sites should not go through the proxy + and should be accessed normally. In this case, users can specify these + sites as a comma separated list of IPs. The default is ``None``. + in: body + required: false + type: string +op: + description: | + The operation used to modify resource's attributes. Supported operations + are following: ``add``, ``replace`` and ``remove``. In case of + ``remove``, users only need to provide ``path`` for deleting attribute. + in: body + required: true + type: string +path: + description: | + Resource attribute's name. in: body required: true type: string @@ -93,18 +327,55 @@ pem: in: body required: true type: string +public_type: + description: | + Access to a baymodel/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. + The default is not public. + in: body + required: true + type: boolean +registry_enabled: + description: | + 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 + images. The default is to use the public registry. + in: body + required: false + type: boolean report_count: description: | The total number of report. in: body required: true 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 default is ``vm``. + in: body + required: true + type: string state: description: | The current state of Magnum services. in: body required: true type: string +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 + 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 + required: true + type: boolean updated_at: description: | The date and time when the resource was updated. @@ -126,6 +397,12 @@ updated_at: in: body required: true type: string +value: + description: | + Resource attribute's value. + in: body + required: true + type: string version: description: | The version. @@ -165,4 +442,10 @@ version_status: - ``CURRENT``: this is the preferred version of the API to use - ``SUPPORTED``: this is an older, but still supported version of the API - ``DEPRECATED``: a deprecated version of the API that is slated for removal - +volume_driver: + type: string + in: body + required: true + description: > + The name of a volume driver for managing the persistent storage for + the containers. The functionality supported are specific to the driver. diff --git a/api-ref/source/samples/baymodel-create-req.json b/api-ref/source/samples/baymodel-create-req.json new file mode 100644 index 0000000000..38bb40c584 --- /dev/null +++ b/api-ref/source/samples/baymodel-create-req.json @@ -0,0 +1,27 @@ +{ + "labels":{ + + }, + "fixed_subnet":null, + "master_flavor_id":null, + "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, + "http_proxy":"http://10.164.177.169:8080", + "docker_volume_size":3, + "server_type":"vm", + "external_network_id":"public", + "image_id":"fedora-atomic-latest", + "volume_driver":"cinder", + "registry_enabled":false, + "docker_storage_driver":"devicemapper", + "name":"k8s-bm2", + "network_driver":"flannel", + "fixed_network":null, + "coe":"kubernetes", + "flavor_id":"m1.small", + "master_lb_enabled":true, + "dns_nameserver":"8.8.8.8" +} \ No newline at end of file diff --git a/api-ref/source/samples/baymodel-create-resp.json b/api-ref/source/samples/baymodel-create-resp.json new file mode 100644 index 0000000000..7b1f4f412b --- /dev/null +++ b/api-ref/source/samples/baymodel-create-resp.json @@ -0,0 +1,44 @@ +{ + "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" +} \ No newline at end of file diff --git a/api-ref/source/samples/baymodel-get-all-resp.json b/api-ref/source/samples/baymodel-get-all-resp.json new file mode 100644 index 0000000000..e7c7d6c207 --- /dev/null +++ b/api-ref/source/samples/baymodel-get-all-resp.json @@ -0,0 +1,48 @@ +{ + "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" + } + ] +} \ No newline at end of file diff --git a/api-ref/source/samples/baymodel-update-req.json b/api-ref/source/samples/baymodel-update-req.json new file mode 100644 index 0000000000..9c604dc3d6 --- /dev/null +++ b/api-ref/source/samples/baymodel-update-req.json @@ -0,0 +1,12 @@ +[ + { + "path":"/master_lb_enabled", + "value":"True", + "op":"replace" + }, + { + "path":"/registry_enabled", + "value":"True", + "op":"replace" + } +] \ No newline at end of file diff --git a/api-ref/source/samples/clustertemplate-create-req.json b/api-ref/source/samples/clustertemplate-create-req.json new file mode 100644 index 0000000000..38bb40c584 --- /dev/null +++ b/api-ref/source/samples/clustertemplate-create-req.json @@ -0,0 +1,27 @@ +{ + "labels":{ + + }, + "fixed_subnet":null, + "master_flavor_id":null, + "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, + "http_proxy":"http://10.164.177.169:8080", + "docker_volume_size":3, + "server_type":"vm", + "external_network_id":"public", + "image_id":"fedora-atomic-latest", + "volume_driver":"cinder", + "registry_enabled":false, + "docker_storage_driver":"devicemapper", + "name":"k8s-bm2", + "network_driver":"flannel", + "fixed_network":null, + "coe":"kubernetes", + "flavor_id":"m1.small", + "master_lb_enabled":true, + "dns_nameserver":"8.8.8.8" +} \ No newline at end of file diff --git a/api-ref/source/samples/clustertemplate-create-resp.json b/api-ref/source/samples/clustertemplate-create-resp.json new file mode 100644 index 0000000000..7f6f116e97 --- /dev/null +++ b/api-ref/source/samples/clustertemplate-create-resp.json @@ -0,0 +1,44 @@ +{ + "insecure_registry":null, + "links":[ + { + "href":"http://10.164.180.104:9511/v1/clustertemplates/085e1c4d-4f68-4bfd-8462-74b9e14e4f39", + "rel":"self" + }, + { + "href":"http://10.164.180.104:9511/clustertemplates/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" +} \ No newline at end of file diff --git a/api-ref/source/samples/clustertemplate-get-all-resp.json b/api-ref/source/samples/clustertemplate-get-all-resp.json new file mode 100644 index 0000000000..2409950035 --- /dev/null +++ b/api-ref/source/samples/clustertemplate-get-all-resp.json @@ -0,0 +1,48 @@ +{ + "clustertemplates":[ + { + "insecure_registry":null, + "links":[ + { + "href":"http://10.164.180.104:9511/v1/clustertemplates/0562d357-8641-4759-8fed-8173f02c9633", + "rel":"self" + }, + { + "href":"http://10.164.180.104:9511/clustertemplates/0562d357-8641-4759-8fed-8173f02c9633", + "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":"0562d357-8641-4759-8fed-8173f02c9633", + "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-bm", + "created_at":"2016-08-26T09:34:41+00:00", + "network_driver":"flannel", + "fixed_network":null, + "coe":"kubernetes", + "flavor_id":"m1.small", + "master_lb_enabled":false, + "dns_nameserver":"8.8.8.8" + } + ] +} \ No newline at end of file diff --git a/api-ref/source/samples/clustertemplate-update-req.json b/api-ref/source/samples/clustertemplate-update-req.json new file mode 100644 index 0000000000..9c604dc3d6 --- /dev/null +++ b/api-ref/source/samples/clustertemplate-update-req.json @@ -0,0 +1,12 @@ +[ + { + "path":"/master_lb_enabled", + "value":"True", + "op":"replace" + }, + { + "path":"/registry_enabled", + "value":"True", + "op":"replace" + } +] \ No newline at end of file diff --git a/api-ref/source/samples/versions-01-get-resp.json b/api-ref/source/samples/versions-01-get-resp.json index 5f02ffdb95..299d001e85 100644 --- a/api-ref/source/samples/versions-01-get-resp.json +++ b/api-ref/source/samples/versions-01-get-resp.json @@ -36,6 +36,16 @@ "rel":"bookmark" } ], + "clustertemplates":[ + { + "href":"http://10.164.180.104:9511/v1/clustertemplates/", + "rel":"self" + }, + { + "href":"http://10.164.180.104:9511/clustertemplates/", + "rel":"bookmark" + } + ], "certificates":[ { "href":"http://10.164.180.104:9511/v1/certificates/", @@ -46,6 +56,16 @@ "rel":"bookmark" } ], + "clusters":[ + { + "href":"http://10.164.180.104:9511/v1/clusters/", + "rel":"self" + }, + { + "href":"http://10.164.180.104:9511/clusters/", + "rel":"bookmark" + } + ], "baymodels":[ { "href":"http://10.164.180.104:9511/v1/baymodels/",