SSH Provider (aka Sherpa)
[GOAL]
Allow the re-use of machines which have been manually provisioned, and even bootstrapping a whole environment without the need for an automatic machine provisioner.
[RATIONALE]
Many people would try Juju on existing hardware but the complexity of setting up their own "cloud like provisioning system" is too high. They should be able to use juju.
Many people have complex provisioning requests that are outside of juju's current automation capabilities, they should be able to use juju too.
Blueprint information
- Status:
- Complete
- Approver:
- Mark Ramm
- Priority:
- Undefined
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- Frank Mueller
- Definition:
- Obsolete
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
- Katherine Cox-Buday
Whiteboard
[USER STORIES]
Fred wants to use bootstrap a juju environment onto a pool of existing machines using SSH.
[ASSUMPTIONS]
All machines can network to the bootstrap nodes. They don't need to see each other.
A networked drive/(s)ftp/other, accessible to all machines, is used to back the storage interface.
The provider does not start/stop machines. Machines are manually provisioned.
The machines need to have a public address if services are to be exposed.
[RISKS]
firewall
[IN SCOPE]
[OUT OF SCOPE]
The provider will not open ports on the target machines as they may be running any arbitary firewall.
[USER ACCEPTANCE]
[RELEASE NOTE/BLOG]
Work Items
Work items:
Nil provider skeleton size 4: TODO
Scripts to determine manually provisioned machine series, arch, addresses size 4: TODO
Juju command to ssh to machine, run scripts, add machine to state, start agent on machine size 4: TODO
Create storage implementation to be plugged into nil provider size 4: TODO
Juju command to ssh to machine, run scripts, set up storage, bootstrap state server size 8: TODO