Difference between revisions of "Solum/FeatureBlueprints/ApplicationDeploymentAndManagement"
Line 95: | Line 95: | ||
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 | 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 | ||
− | If --plan is specified, use the plan from the specifried name. | + | If --plan is specified, use the plan from the specifried name.<br /> |
− | If --json is specified, use the plan in the referenced JSON file | + | If --json is specified, use the plan in the referenced JSON file<br /> |
− | If --yaml is specified, use the plan in the referenced YAML file | + | If --yaml is specified, use the plan in the referenced YAML file<br /> |
− | If --name is specified, and either --json or --yaml are specified, name the assembly in accordance with the name provided. | + | If --name is specified, and either --json or --yaml are specified, name the assembly in accordance with the name provided.<br /> |
− | Note: --plan, --json, and --yaml are each mutually exclusive | + | Note: --plan, --json, and --yaml are each mutually exclusive<br /> |
=== Solum-R1.10 <code>assembly resize</code>: CLI === | === Solum-R1.10 <code>assembly resize</code>: CLI === | ||
Line 112: | Line 112: | ||
=== Solum-R1.12 <code>app create</code>: CLI === | === Solum-R1.12 <code>app create</code>: CLI === | ||
− | Synopsis: app create --name [--planfile] [--image] [--repo] [--build=yes|no] [--run="yes|no"] | + | Synopsis: app create --name [--planfile] [--image] [--repo] [--build=yes|no] [--run="yes|no"]<br /> |
− | Create a Plan with a given deployment Artifact and Plan file. Do not create any assemblies by default, unless --run="yes" is specified. 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. If --build is specified, trigger the build workflow indicated in the planfile. | + | Create a Plan with a given deployment Artifact and Plan file. Do not create any assemblies by default, unless --run="yes" is specified. 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. If --build is specified, trigger the build workflow indicated in the planfile.<br /> |
− | If --build=no is supplied, do not trigger a build. Note: --build requires --planfile. Note: --build defaults to "yes". | + | If --build=no is supplied, do not trigger a build. Note: --build requires --planfile. Note: --build defaults to "yes".<br /> |
− | If --repo is supplied with --planfile, any planfile in the repo will be ignored, and the one specified on the CLI will be used instead | + | If --repo is supplied with --planfile, any planfile in the repo will be ignored, and the one specified on the CLI will be used instead<br /> |
− | If --repo is not suppied, the system will look for solum.yaml in the repsitory root to use as the planfile. If solum.yaml is not present, it will look for | + | If --repo is not suppied, the system will look for solum.yaml in the repsitory root to use as the planfile. If solum.yaml is not present, it will look for solum.yaml.<br /> |
− | If --image is supplied, use it as a glance image that has been pre-built. | + | If --image is supplied, use it as a glance image that has been pre-built.<br /> |
− | If --run="yes" is specified (no is default) an assembly will be automatically created | + | If --run="yes" is specified (no is default) an assembly will be automatically created<br /> |
=== Solum-R1.13 <code>app deploy</code>: CLI === | === Solum-R1.13 <code>app deploy</code>: CLI === |
Revision as of 23:51, 2 December 2013
Blueprint: https://blueprints.launchpad.net/solum/+spec/app-deploy-manage
Contents
- 1 Solum-R1 application deployment/Management
- 1.1 Solum-R1.1 GIT deployment
- 1.2 Solum-R1.2 Fast provisioning
- 1.3 Solum-R1.3 Dense packing (Infrastructure efficiency)
- 1.4 Solum-R1.4 Application Isolation
- 1.5 Solum-R1.5 assembly scale: CLI
- 1.6 Solum-R1.6 assembly delete: CLI
- 1.7 Solum-R1.7 Show Commands: CLI
- 1.8 Solum-R1.8 List Commands: CLI
- 1.9 Solum-R1.9 assembly create: CLI
- 1.10 Solum-R1.10 assembly resize: CLI
- 1.11 Solum-R1.11 assembly delete: CLI
- 1.12 Solum-R1.12 app create: CLI
- 1.13 Solum-R1.13 app deploy: CLI
- 1.14 Solum-R1.14 app scale: CLI
- 1.15 Solum-R1.15 app delete: CLI
- 1.16 Solum-R1.16 REST API
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_name] [--json=json_filename] [--yaml=yaml_filename] [--name="assembly_name"] 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
If --plan is specified, use the plan from the specifried name.
If --json is specified, use the plan in the referenced JSON file
If --yaml is specified, use the plan in the referenced YAML file
If --name is specified, and either --json or --yaml are specified, name the assembly in accordance with the name provided.
Note: --plan, --json, and --yaml are each mutually exclusive
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="assembly_uri" | --name="assembly_name"] Delete the given Assembly by name or URI. Note: These options are mutually exclusive.
Solum-R1.12 app create
: CLI
Synopsis: app create --name [--planfile] [--image] [--repo] [--build=yes|no] [--run="yes|no"]
Create a Plan with a given deployment Artifact and Plan file. Do not create any assemblies by default, unless --run="yes" is specified. 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. If --build is specified, trigger the build workflow indicated in the planfile.
If --build=no is supplied, do not trigger a build. Note: --build requires --planfile. Note: --build defaults to "yes".
If --repo is supplied with --planfile, any planfile in the repo will be ignored, and the one specified on the CLI will be used instead
If --repo is not suppied, the system will look for solum.yaml in the repsitory root to use as the planfile. If solum.yaml is not present, it will look for solum.yaml.
If --image is supplied, use it as a glance image that has been pre-built.
If --run="yes" is specified (no is default) an assembly will be automatically 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.