Solum Guest Agent
..
This work is licensed under a Creative Commons Attribution 3.0 Unported
License.
http://
=======
Solum Guest Agent
=======
https:/
After launching infrastructure stacks (build farms, git repositories), the
instances will need to be configured initially and receive commands. To do that
we need some sort of communication between Solum and the instances
Problem description
===================
when an infrastructure stack is launched, Solum will want to:
* Initially configure the instances launched
* Send command to the instances (build jobs...)
* Retrieve informations from the instances (job results...)
Proposed change
===============
To solve this, I propose that each instance of an infrastructure stack run a
guestagent, responsible for the communication and interactions between Solum
and the instances
Alternatives
------------
I see two alternatives:
* SSH Commands: all actions will be executed via SSH. Cons are that this is not
scalable. When Solum is HA, it means the instances will need the SSH keys of all
Solum services.
* Native API: If the tools we use are exposing native APIs, we could use it to
do the actions we need. Cons are: If the API does not expose what we need, we
are blocked.
Data model impact
-----------------
None
REST API impact
---------------
None
Security impact
---------------
Whether we choose a "per-tenant" or "solum-owned" build farm (or any
infrastructure stack), we need to make sure only Solum can control the agent.
Notifications impact
-------
None
Other end user impact
-------
None
Performance Impact
------------------
We will need to take care of the consumption of memory within the guest due to
the guestagent.
Other deployer impact
-------
Images for the infrastructure stack will need to come with the guestagent
installed
Developer impact
----------------
None
Implementation
==============
Assignee(s)
-----------
Primary assignee:
vey-julien
Work Items
----------
* Create a new repository stackforce/
* Create a skeleton of the guestagent
As a separate work:
* Create handler to manage Drone
* Create handler to manage Jenkins
* Create handler to manage Bash commands
Dependencies
============
Mutual dependencies between solum-guestagent and solum-build-farm
Testing
=======
A good idea, but might consume resources on the gate:
* Create a functional test that launches a simple infrastructure stack and try
to communicate with the agent
Documentation Impact
=======
Documentation to be added
References
==========
https:/
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Julien Vey
- Direction:
- Needs approval
- Assignee:
- Julien Vey
- Definition:
- New
- Series goal:
- None
- Implementation:
- Implemented
- Milestone target:
- None
- Started by
- Adrian Otto
- Completed by
- Adrian Otto