18b8fc0701
Create the initial Dockerfile of STX LAT tool container. Now LAT source code has been open sourced, but it didn't include the binary. Once the binary is open sourced, we will replace the ${LAT_BINARY_RESOURCE_PATH} in the stx-lat-tool.dockerfile file. Story: 2008846 Task: 43292 Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com> Change-Id: Ibfcc05855b56bedb91392d5958c105ca005f2146 |
||
---|---|---|
.. | ||
lat | ||
README |
# Copyright (c) 2021 Wind River Systems, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. latd --- This is a daemon expected to run inside the LAT container as the entry point. It accepts requests from clients and issue correspoing commands to generate the image. Functionalities: * Accept request to give client an example yaml file to start with latc getyaml * Accept build request to build image, with a yaml file supplied. latc build --file stx.yaml * Accept request to stop the previous build latc stop * Accept request to clean things up, including all build results latc clean * Accept status query request, return meaningful contents latc status e.g. lat_status: idle/busy latest_build_status: running/succeed/fail/not-started * Accept logs requrest, return log information about the latest build latc logs latc(builder container client) --- A dummy implementation to only show how to make use of volume.py to communicate with latd. e.g. latc status/stop/clean/logs/build volume communication implementation --- * channel/c-2-s.msg Client to server message. Convey info about what to do. action: build/status/stop/logs/clean/getyaml yaml_file: /mnt/workspace/stx.yaml * channel/c-2-s.done A file to watch, when it appears, latd read c-2-s.msg and act accordingly. * channel/s-2-c.msg Server to client message. Same format as c-2-s.msg * channel/s-2-c.done A file to watch, when it appears, latc reads s-2-c.msg and act accordingly. * channel/invalid_message A file which, if exists, indicates the an invalid client request. * channel/status.lat File containing LAT container status. * log/log.appsdk Hold information about the appsdk debug output. * client_message_history Hold message history from client. * hack/lat-genimage-cmd A hack file, which replace the 'appsdk genimage ...' command with the contents inside it. e.g. echo "sleep 10" > hack/lat-genimage-cmd This is ONLY for debugging purpose. This mechanism should be removed in formal release. * latd workflow Watch c-2-s.done, when it appears, read c-2-s.msg, delete c-2-s.done file. Fork a subprocess to do the actual work if needed, record its PID; otherwise, perform some action. Send result to client. Note that the result only means whether the client request is handled by latd or not. Assumption --- * At any time, at most one build is run inside LAT container.