Zero footprint installer spec
Change-Id: I4924505f241b0274d270cac39be2feee2ac7d293
This commit is contained in:
parent
101348fda2
commit
3aea3c4900
127
specs/stein/zero-footprint-installer.rst
Normal file
127
specs/stein/zero-footprint-installer.rst
Normal file
@ -0,0 +1,127 @@
|
||||
..
|
||||
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||
License.
|
||||
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
================================
|
||||
TripleO Zero Footprint Installer
|
||||
================================
|
||||
|
||||
https://blueprints.launchpad.net/tripleo/+spec/zero-footprint
|
||||
|
||||
This spec introduces support for an installer mode which has zero
|
||||
(or at least much less) dependencies than we do today. It is meant
|
||||
to be an iteration of the Undercloud and All-In-One (standalone)
|
||||
installers that allows you to end up with the same result without
|
||||
having to install all of the TripleO dependencies on your host machine.
|
||||
|
||||
Problem Description
|
||||
===================
|
||||
|
||||
Installing python-tripleoclient on a host machine currently installs
|
||||
a lot of dependencies many of which may be optional for smaller
|
||||
standalone type installations. Users of smaller standalone installations
|
||||
can have a hard time understanding the differences between what TripleO
|
||||
dependencies get installed vs which services TripleO installs.
|
||||
|
||||
Additionally, some developers would like a fast-track way to develop and
|
||||
run playbooks without requiring local installation of an Undercloud which
|
||||
in many cases is done inside a virtual machine to encapsulate the dependencies
|
||||
that get installed.
|
||||
|
||||
Proposed Change
|
||||
===============
|
||||
|
||||
A new zero footprint installer can help drive OpenStack Tripleoclient
|
||||
commands running within a container. Using this approach you can:
|
||||
|
||||
1. Generate Ansible playbooks from a set of Heat templates
|
||||
(tripleo-heat-templates), Heat environments, and Heat parameters
|
||||
exactly like we do today using a Container. No local dependencies
|
||||
would be required to generate the playbooks.
|
||||
|
||||
2. (optionally) Execute the playbooks locally on the host machine. This would
|
||||
require some Ansible modules to be installed that TripleO depends on but
|
||||
is a much smaller footprint than what we require elsewhere today.
|
||||
|
||||
Alternatives
|
||||
------------
|
||||
|
||||
Create a subpackage of python-tripleoclient which installs less dependencies.
|
||||
The general footprint of required packages would still be quite high (lots
|
||||
of OpenStack packages will still be installed for the client tooling).
|
||||
|
||||
Or do nothing and continue to use VMs to encapsulate the dependencies for
|
||||
an Undercloud/All-In-One installer and generate Ansible playbooks. Setting
|
||||
up a local VM requires more initial setup and dependencies however and is
|
||||
heavier than just using a local container to generate the same playbooks.
|
||||
|
||||
Security Impact
|
||||
---------------
|
||||
|
||||
As a container will be used to generate Ansible playbooks the user may
|
||||
need to expose some local data/files to the installer container. This is
|
||||
likely a minimal concern as we already require this data to be exposed to
|
||||
the Undercloud and All-In-One installers.
|
||||
|
||||
Other End User Impact
|
||||
---------------------
|
||||
|
||||
None
|
||||
|
||||
Performance Impact
|
||||
------------------
|
||||
|
||||
Faster deployment and testing of local All-On-One setups.
|
||||
|
||||
Other Deployer Impact
|
||||
---------------------
|
||||
|
||||
None
|
||||
|
||||
|
||||
Developer Impact
|
||||
----------------
|
||||
|
||||
Faster deployment and testing of local All-On-One setups.
|
||||
|
||||
Implementation
|
||||
==============
|
||||
|
||||
Assignee(s)
|
||||
-----------
|
||||
|
||||
Primary assignee:
|
||||
dprince
|
||||
|
||||
Work Items
|
||||
----------
|
||||
|
||||
* A new 'tripleoclient' container
|
||||
* New project to drive the installation (Talon?)
|
||||
* Continue to work on refining the Ansible playbook modules to provide a
|
||||
cleaner set of playbook dependencies. Specifically those that depend on
|
||||
the any of the traditional TripleO/Heat agent hooks and scripts.
|
||||
* documentation updates
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
None.
|
||||
|
||||
Testing
|
||||
=======
|
||||
|
||||
This new installer can likely suppliment or replace some of the testing we
|
||||
are doing for All-In-One (standalone) deployments in upstream CI.
|
||||
|
||||
Documentation Impact
|
||||
====================
|
||||
|
||||
Docs will need to be updated.
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
None
|
Loading…
Reference in New Issue
Block a user