Manual Provisioning (aka add machine via SSH)

Registered by Dimiter Naydenov

[GOAL]

[RATIONALE]

Blueprint information

Status:
Complete
Approver:
William Reade
Priority:
High
Drafter:
Tim Penhey
Direction:
Needs approval
Assignee:
None
Definition:
Obsolete
Series goal:
None
Implementation:
Not started
Milestone target:
None
Completed by
Katherine Cox-Buday

Related branches

Sprints

Whiteboard

[USER STORIES]
Fred wants to add an remote machine into his existing juju environment using SSH, so that machine can be used to deploy a charm on it.
[ASSUMPTIONS]
Fred has SSH access and the address of the machine.
The machine is already running a juju supported OS.
[RISKS]
Unpredictable behavior with cloudinit when run manually(?)
[IN SCOPE]
We're splitting up the work in 2 phases:
1. Simpler solution requiring the user manually connects to the machine via SSH and runs a script to do the manual provisioning (user follows a documented workflow).
2. Improved UX - have a command to connect and run the prereq steps of 1 from a client machine that already has access to the environment.

There is also possibly need for unregister/destroy command for the manually provisioned machines.
It not clear whether the manually provisioned machines will be reused.

[OUT OF SCOPE]
Starting/stopping the machine.
[USER ACCEPTANCE]
[RELEASE NOTE/BLOG]

(?)

Work Items

Work items:
have unregister/destroy? command to unprovision the machine from the environment size 2: TODO
improved UX (have add-machine taking SSH keys and IP, connecting to it and running cloudinit manually) size 4: TODO
using the cloudini agent config, the started MA connects to the environment and injects the machine in state size 1: TODO
a script to prepare and verify the machine and run cloudinit size 2: TODO

This blueprint contains Public information 
Everyone can see this information.