Jump to: navigation, search

Difference between revisions of "Solum/FeatureBlueprints/ApplicationDeploymentAndManagement"

Line 15: Line 15:
 
As an application developer, I want security+performance isolation for my apps, so that other apps deployed on the same host are not able to intrude into my application container or impact the resources allocated to my app.
 
As an application developer, I want security+performance isolation for my apps, so that other apps deployed on the same host are not able to intrude into my application container or impact the resources allocated to my app.
  
=== [https://blueprints.launchpad.net/solum/+spec/delete-app Solum-R1.5] Delete Application: CLI ===
+
=== Solum-R1.5 <code>assembly scale</code>: CLI ===
 +
Synopsis: assembly scale <--id | --uri> <--tier> <--increment | --auto=default>
 +
 
 +
Increase or decrease the number of identical DUs in an assembly by supplying an [[Solum/API#Assembly_2|Assembly]] name, a <code>--tier</code> tag name, and a <code>--increment</code> numeric argument. For example, <code>assembly scale --tier=my_app_servers --name=my_assembly --increment=+1</code> would increase the DU count by one, <code>assembly scale --tier=my_app_servers --name=my_assembly --increment=+3</code> would increase it by three. Negative numbers shall decrease the count, to a minimum of 0. This function will find a tier by locating all components with the named tag in the Assembly and increase or decrease the number of replicas of it in accordance with the signed numeric argument. If the <code>--auto=default</code> argument is supplied instead of an <code>--increment</code> argument, then scale the given tier tag automatically based on the default scaling policy (Metric=cpu utilization, Multiple=1, Eviction=oldest du, Cooldown=15 min).
 +
 
 +
=== [https://blueprints.launchpad.net/solum/+spec/delete-app Solum-R1.6] <code>assembly delete</code>: CLI ===
 +
Synopsis: assembly delete <--uri | --name>
 +
 
 
As an application developer, I can delete an application deployed on the platform using a CLI command.
 
As an application developer, I can delete an application deployed on the platform using a CLI command.
  
=== Solum-R1.6 <code>scale_du_count</code>: CLI ===
+
=== Solum-R1.7 Show Commands: CLI ===
Increase or decrease the number of identical DUs in an assembly by supplying an [[Solum/API#Assembly_2|Assembly]] name and a numeric argument. For example, +1 would increase the DU count by one +3 could increase it by three. Negative numbers shall decrease the count, to a minimum of 0. This function will find a component named "scaled" in the related Plan and increase or decrease replicas of it in the specified running assembly in accordance with the signed numeric argument.
+
The following API functions query information available from the [[Solum/API|Solum API]].
 +
==== Solum-R1.7.1 <code>plan show</code>: CLI ====
 +
Synopsis: plan show <--uri | --name>
  
=== Solum-R1.7 <code>get_*</code>: CLI ===
 
The following API functions query information available from the [[Solum/API|Solum API]].
 
==== Solum-R1.7.1 <code>get_plan</code>: CLI ====
 
 
This function shall return detail about the given Plan by name or uri. This information shall include:
 
This function shall return detail about the given Plan by name or uri. This information shall include:
 
* uri
 
* uri
Line 30: Line 36:
 
* assemblies (list)
 
* assemblies (list)
  
==== Solum-R1.7.2 <code>get_assembly</code>: CLI ====
+
==== Solum-R1.7.2 <code>assembly show</code>: CLI ====
 +
Synopsis: assembly show <--uri | --name>
 +
 
 
This function shall return detail about the given [[Solum/API#Assembly_2|Assembly]] by name or uri. This information shall include:
 
This function shall return detail about the given [[Solum/API#Assembly_2|Assembly]] by name or uri. This information shall include:
 
* uri
 
* uri
Line 40: Line 48:
 
* sensors (list)
 
* sensors (list)
  
==== Solum-R1.7.3 <code>get_service</code>: CLI ====
+
==== Solum-R1.7.3 <code>solum service show</code>: CLI ====
 +
Synopsis: solum service show <--uri | --name>
 +
 
 
This function shall return detail about the given [[Solum/API#Service_2|Service]] by name or uri. This information shall include:
 
This function shall return detail about the given [[Solum/API#Service_2|Service]] by name or uri. This information shall include:
 
* uri
 
* uri
Line 48: Line 58:
 
* sensors (list)
 
* sensors (list)
 
* read_only (Boolean)
 
* read_only (Boolean)
 +
Note: "service show" would conflict with the existing "[[OpenStackClient/Commands#service|os service show]]".
  
=== Solum-R1.8 <code>list_*</code>: CLI ===
+
==== Solum-R1.7.4 <code>app show</code>: CLI ====
 +
Synopsis: app show <--uri | --name>
 +
 
 +
Alias of "plan show" for ease of use. This function shall return detail about the given Plan by name or uri. This information shall include:
 +
* uri
 +
* name
 +
* description
 +
* repo
 +
 
 +
=== Solum-R1.8 List Commands: CLI ===
 
The following API functions query information available from the [[Solum/API|Solum API]].
 
The following API functions query information available from the [[Solum/API|Solum API]].
==== Solum-R1.8.1 <code>list_plans</code>: CLI ====
+
==== Solum-R1.8.1 <code>plans list</code>: CLI ====
 +
Synopsis: plans list
 +
 
 
List the Plans.
 
List the Plans.
  
==== Solum-R1.8.2 <code>list_assemblies</code>: CLI ====
+
==== Solum-R1.8.2 <code>assemblies list</code>: CLI ====
 +
Synopsis: assemblies list
 +
 
 
List the Assemblies.
 
List the Assemblies.
  
==== Solum-R1.8.3 <code>list_services</code>: CLI ====
+
==== Solum-R1.8.3 <code>services list</code>: CLI ====
 +
Synopsis: services list
 +
 
 
List the Services.
 
List the Services.
  
=== Solum-R1.9 StopApp: CLI ===
+
==== Solum-R1.8.3 <code>apps list</code>: CLI ====
Remove a specified Assembly by name or id. Delete all related Components.
+
Synopsis: apps list
 +
 
 +
List the Applications.
 +
 
 +
=== Solum-R1.9 <code>assembly create</code>: CLI ===
 +
Synopsis: assembly create [--plan=plan_id] [--json=json_filename] [--yaml=yaml_filename]
 +
 
 +
Create an [[Solum/API#Assembly_2|Assembly]] from an Plan by name or id. Multiple Assemblies may be created from a single Plan. Return the URI of the Assembly created.
 +
See also: app deploy
 +
 
 +
=== Solum-R1.10 <code>assembly resize</code>: CLI ===
 +
Synopsis: assembly resize <--uri | --name> --tag --size [--max]
 +
 
 +
Systematically resize all of the DU's in a given assembly that match the given tag to the given size. Takes an optional positive integer argument that indicates the maximum number of resizes that should be allowed in parallel (default=1). A value of 1 means resize them all sequentially.
 +
 
 +
=== Solum-R1.11 <code>assembly delete</code>: CLI ===
 +
Synopsis: assembly delete [--uri | --name]
 +
 
 +
Delete the given Assembly by name or URI.
 +
 
 +
=== Solum-R1.12 <code>app create</code>: CLI ===
 +
Synopsis: app create --name [--repo]
 +
 
 +
Create a Plan with a given deployment Artifact and Plan file. Do not create any assemblies. Return the URI of the Plan created. If no <code>--repo</code> argument is provided, a repo is created for the application. Return the URI of the Plan created.
 +
 
 +
=== Solum-R1.13 <code>app deploy</code>: CLI ===
 +
Synopsis: app deploy [--uri | --name] [--repo] [--image] [--template]
 +
 
 +
Create an Assembly from a given Plan. If the <code>--repo</code> is supplied, it will create the plan and the assembly. If a plan is referenced by <code>--uri</code> or <code>--name</code>, the repo specified in the given Plan is used. If the <code>--image</code> (glance image id) is supplied, then no build is triggered, and the given image is used in the created assembly. If <code>--template</code> is supplied, use the supplied HOT instead of generating one. Return the URI of the assembly created.  
  
=== Solum-R1.10 StartApp: CLI ===
+
=== Solum-R1.14 <code>app scale</code>: CLI ===
Create an [[Solum/API#Assembly_2|Assembly]] from an Plan by name or id. Multiple Assemblies may be created from a single Plan. Return the id of the Assembly created.
+
Alias for <code>assembly scale</code>
  
=== Solum-R1.11 ResizeDU's: CLI ===
+
=== Solum-R1.15 <code>app delete</code>: CLI ===
Systematically resize all of the DU's in a given assembly that are replicas of a Component named "scaled". Take an optional positive integer argument that indicates the maximum number of resizes that should be allowed in parallel (default=1). A value of 1 means resize them all sequentially.
+
Synopsis: app delete [--assembly] [--plan] [--force]
  
=== Solum-R1.12 DeployApp: CLI ===
+
Delete an Assembly or Plan. If the <code>--assembly</code> (URI or name) is supplied, it will delete the given Assembly. If the <code>--plan</code> (URI or name) is supplied, it will delete the given Plan. One or both of the arguments must be supplied. If <code>--plan</code> is supplied, and there are any running assemblies running from that Plan, issue a warning requiring <code>--force</code>
Create a Plan with a given deployment Artifact and Plan file. Do not create any assemblies.
 
  
=== [https://blueprints.launchpad.net/solum/+spec/api Solum-R1.12] REST API ===
+
=== [https://blueprints.launchpad.net/solum/+spec/api Solum-R1.16] REST API ===
 
REST API for Solum suitable for use by a CLI client, IDE plugins, Git integration scripts, etc.
 
REST API for Solum suitable for use by a CLI client, IDE plugins, Git integration scripts, etc.

Revision as of 07:55, 22 November 2013

Blueprint: https://blueprints.launchpad.net/solum/+spec/app-deploy-manage

Solum-R1 application deployment/Management

Solum-R1.1 GIT deployment

As an application developer, I want to push my code to my Git repository, and have the platform automatically detect the code push and generate a running application using the new code. I should be able to deploy a new app, or make updates to an existing app via git.

Solum-R1.2 Fast provisioning

As an application developer, when I deploy my new app or update an existing app on the Solum platform, I should receive the URL of my application in less than a minute.

Solum-R1.3 Dense packing (Infrastructure efficiency)

As a system architect, I want to be able to fit several application instances on the same host, so that I am able to share the same host operating system across multiple application instances.

Solum-R1.4 Application Isolation

As an application developer, I want security+performance isolation for my apps, so that other apps deployed on the same host are not able to intrude into my application container or impact the resources allocated to my app.

Solum-R1.5 assembly scale: CLI

Synopsis: assembly scale <--id | --uri> <--tier> <--increment | --auto=default>

Increase or decrease the number of identical DUs in an assembly by supplying an Assembly name, a --tier tag name, and a --increment numeric argument. For example, assembly scale --tier=my_app_servers --name=my_assembly --increment=+1 would increase the DU count by one, assembly scale --tier=my_app_servers --name=my_assembly --increment=+3 would increase it by three. Negative numbers shall decrease the count, to a minimum of 0. This function will find a tier by locating all components with the named tag in the Assembly and increase or decrease the number of replicas of it in accordance with the signed numeric argument. If the --auto=default argument is supplied instead of an --increment argument, then scale the given tier tag automatically based on the default scaling policy (Metric=cpu utilization, Multiple=1, Eviction=oldest du, Cooldown=15 min).

Solum-R1.6 assembly delete: CLI

Synopsis: assembly delete <--uri | --name>

As an application developer, I can delete an application deployed on the platform using a CLI command.

Solum-R1.7 Show Commands: CLI

The following API functions query information available from the Solum API.

Solum-R1.7.1 plan show: CLI

Synopsis: plan show <--uri | --name>

This function shall return detail about the given Plan by name or uri. This information shall include:

  • uri
  • name
  • description
  • assemblies (list)

Solum-R1.7.2 assembly show: CLI

Synopsis: assembly show <--uri | --name>

This function shall return detail about the given Assembly by name or uri. This information shall include:

  • uri
  • name
  • description
  • components (list)
    • detailed listing of each component
  • operations (list)
  • sensors (list)

Solum-R1.7.3 solum service show: CLI

Synopsis: solum service show <--uri | --name>

This function shall return detail about the given Service by name or uri. This information shall include:

  • uri
  • name
  • description
  • operations (list)
  • sensors (list)
  • read_only (Boolean)

Note: "service show" would conflict with the existing "os service show".

Solum-R1.7.4 app show: CLI

Synopsis: app show <--uri | --name>

Alias of "plan show" for ease of use. This function shall return detail about the given Plan by name or uri. This information shall include:

  • uri
  • name
  • description
  • repo

Solum-R1.8 List Commands: CLI

The following API functions query information available from the Solum API.

Solum-R1.8.1 plans list: CLI

Synopsis: plans list

List the Plans.

Solum-R1.8.2 assemblies list: CLI

Synopsis: assemblies list

List the Assemblies.

Solum-R1.8.3 services list: CLI

Synopsis: services list

List the Services.

Solum-R1.8.3 apps list: CLI

Synopsis: apps list

List the Applications.

Solum-R1.9 assembly create: CLI

Synopsis: assembly create [--plan=plan_id] [--json=json_filename] [--yaml=yaml_filename]

Create an Assembly from an Plan by name or id. Multiple Assemblies may be created from a single Plan. Return the URI of the Assembly created. See also: app deploy

Solum-R1.10 assembly resize: CLI

Synopsis: assembly resize <--uri | --name> --tag --size [--max]

Systematically resize all of the DU's in a given assembly that match the given tag to the given size. Takes an optional positive integer argument that indicates the maximum number of resizes that should be allowed in parallel (default=1). A value of 1 means resize them all sequentially.

Solum-R1.11 assembly delete: CLI

Synopsis: assembly delete [--uri | --name]

Delete the given Assembly by name or URI.

Solum-R1.12 app create: CLI

Synopsis: app create --name [--repo]

Create a Plan with a given deployment Artifact and Plan file. Do not create any assemblies. Return the URI of the Plan created. If no --repo argument is provided, a repo is created for the application. Return the URI of the Plan created.

Solum-R1.13 app deploy: CLI

Synopsis: app deploy [--uri | --name] [--repo] [--image] [--template]

Create an Assembly from a given Plan. If the --repo is supplied, it will create the plan and the assembly. If a plan is referenced by --uri or --name, the repo specified in the given Plan is used. If the --image (glance image id) is supplied, then no build is triggered, and the given image is used in the created assembly. If --template is supplied, use the supplied HOT instead of generating one. Return the URI of the assembly created.

Solum-R1.14 app scale: CLI

Alias for assembly scale

Solum-R1.15 app delete: CLI

Synopsis: app delete [--assembly] [--plan] [--force]

Delete an Assembly or Plan. If the --assembly (URI or name) is supplied, it will delete the given Assembly. If the --plan (URI or name) is supplied, it will delete the given Plan. One or both of the arguments must be supplied. If --plan is supplied, and there are any running assemblies running from that Plan, issue a warning requiring --force

Solum-R1.16 REST API

REST API for Solum suitable for use by a CLI client, IDE plugins, Git integration scripts, etc.