Sign inSign up

atline/dpmbase

By atline

•Updated over 8 years ago

Base image for dpm with mesos1.3.0 + jdk8.

Image
1

217

atline/dpmbase repository overview

⁠Dapeng

Travis GitHub release GitHub Release Date GitHub license GitHub top language

Dapeng is a distributed scheduler service aims to dispatch tasks to proper resources.

⁠Online Documentation

You can find the latest Dapeng documentation on the project web page⁠ [TODO].
This README file only contains basic setup instructions.

⁠Build Dapeng

Dapeng is built using Sbt⁠. To build Dapeng, run:

sbt distclean release

You can also use dpbuild docker image to build dapeng:

Docker Build Status

docker pull atline/dpbuild
docker run --rm -v /path/to/dapeng_repo:/dpsrc atline/dpbuild

⁠Install Dapeng

⁠1. System Requirements

Hardware Prerequisites

Processor: minimal >= 2 cores, recommendation >= 4 cores
Memory: minimal >= 4 GB RAM, recommendation >= 8G RAM
Free Hard disk: minimal >= 15 GB, recommendation >=80 GB

Software Prerequisite

OS: Linux distribution, 64 bits, recommendation >= ubuntu14.04, centos7.3
Kernel Version >= 3.10
Docker: Enabled
SSH: Enabled

NOTE: You can use curl https://get.docker.com/ | sudo sh to install docker or visit docker official website⁠ to get the latest guide.

⁠2. Install Dapeng Components

User can use boot script to install/configure/start dapeng components.

(You can use curl -O https://bitbucket.sw.nxp.com/projects/MSVC/repos/dapeng/raw/docker/script/dp.init to get the dp.init. If not accessable, you can also get it from sourcecode of dapeng, located at docker/script/dp.init)

When use dp.init to install dapeng component, an environment variable must be set to determine the version to be installed, this environment variable just needed when install.

$ export DP_VERSION=$version

Boot script command usage:

$ dp.init -c $component --install #  install specified component to your server
$ dp.init -c $component --configure #  reconfigure specified component
$ dp.init -c $component --start #  start specified component if not auto start it during install

NOTE: dp.init internal use dpinit docker image to install/configure/start dapeng components:

Docker Build Status Docker Build Status

It supports 3 kinds of components, belongs to server & client parts:

⁠2.1. Server Parts
⁠component: inf

This component is a virtual one to install/configure/start zookeeper, redis, mesos-master services.

$ dp.init -c inf --install #  install component to your server
$ dp.init -c inf --configure #  reconfigure component
$ dp.init -c inf --start #  start component if not auto start it during install
⁠component: dps

Docker Build Status

This component is for dapeng scheduler server, it affords resource router service for user request.

$ dp.init -c dps --install #  install dps to your server
$ dp.init -c dps --configure #  reconfigure dps
$ dp.init -c dps --start #  start dps if not auto start it during install
⁠component: dpm

Docker Build Status Docker Build Status

This component is for dapeng mesos framework, it affords the adapter between mesos & dapeng scheduler.

$ dp.init -c dpm --install #  install dpm to your server
$ dp.init -c dpm --configure #  reconfigure dpm
$ dp.init -c dpm --start #  start dpm if not auto start it during install
⁠2.2. Client Parts
⁠component: dpc

Docker Build Status Docker Build Status

This component is for dapeng client, it affords interface for user application to use dapeng scheduler service, meanwhile, also afford path for scheduler to call user application.

$ dp.init -c dpc --install #  install dpc to your server
$ dp.init -c dpc --configure #  reconfigure dpc
$ dp.init -c dpc --start #  start dpc if not auto start it during install

⁠User Script

After install dapeng component, user can use dp command to interact with dapeng.

Register Node:

dp -m join \
  --nodeKey $nodeKey \
  --nodeName $nodeName \
  --nodeData $nodeData \
  --nodeToken $nodeToken \
  --hostIp $hostIp

Parameters:

nodeKey: unique field for one device, e.g. 00:01:02:03:04:05
nodeName: display only, can use any prefered label, e.g. IMX6QP-Sabre-SD
nodeData: field which participate scheduler match, e.g. i.MX6QP-SABRE_SDB
nodeToken: field which participate scheduler match, e.g. IMX6QP-Sabre-SD@1@LATF-Earth
hostIp: host ip for the device, e.g. 10.192.244.180

Unregister Node:

dp -m leave --nodeKey $nodeKey

Parameters:

nodeKey: unique field for one device, e.g. 00:01:02:03:04:05

Submit Request:

dp -m add --id $id

Parameters:

id: request id, e.g. 1

Feedback Request Trigger Response:

dp -m triggerResponse --id $id --status $status --nodeKey $nodeKey

Parameters:

id: request id, e.g. 1
status: trigger status, e.g. 12
nodeKey: unique field for one device, e.g. 00:01:02:03:04:05

Submit Result:

dp -m result --id $id --taskId $taskId --result $result --attachmentLoc $attachmentLoc

Parameters:

id: request id, e.g. 1
taskId: task id, e.g. TESTCASE1
result: result id, e.g. 1
attachmentLoc: task attachment, e.g. 10.192.244.37#/path/to/attachment1#/path/to/attachment2

Inform Request Finish:

dp -m informFinish --id $id

Parameters:

id: request id, e.g. 1

Stop Request:

dp -m stop --id $id

Parameters:

id: request id, e.g. 1

Tag summary

Content type

Image

Digest

Size

405.4 MB

Last updated

over 8 years ago

docker pull atline/dpmbase:0.1.0