ADD: added start and stop of pods

This commit is contained in:
Henry Winkel
2023-08-09 13:45:14 +02:00
parent f08cb73b1c
commit 14cc61d8c7

View File

@@ -39,7 +39,7 @@ namespace Entities
EntityKind_(EntityKind)
{
PodController_ = std::make_unique<kubecontrol::PodController>("libs/KubeControl/docs/config");
PodController_ = std::make_unique<kubecontrol::PodController>("docs/config");
OwnShipTrack = std::make_shared<SimCore::SimTrack>(OwnID, OwnType, EntityKind);
OwnShipTrack->setPosition(SimCore::Position());
@@ -52,6 +52,7 @@ namespace Entities
Entity::~Entity()
{
PodController_->stopAllPods();
stop();
}
@@ -60,26 +61,37 @@ namespace Entities
void Entity::setPosition(SimCore::Position pos)
{
OwnShipTrack->setPosition(pos);
LOG_S(INFO)<< "POS: LAT: "<< OwnShipTrack->getPosition().getGeodesicPos()(SimCore::LATITUDE) << " LON: " << OwnShipTrack->getPosition().getGeodesicPos()(SimCore::LONGITUDE);
Orders::MoveOrder moveorder(OwnShipTrack->getIdentifier(),WHISPER::SourceType::ENTITY);
moveorder.setPosition(pos);
if(MovementWorkerStarted == true)
{
MovemtServer_->sendMessage(moveorder.buildMessage().serialize());
LOG_S(INFO)<<"Move Order send";
}
}
void Entity::setSpeed(double val)
{
OwnShipTrack->Speed.setValue(val);
Orders::MoveOrder moveorder(OwnShipTrack->getIdentifier(),WHISPER::SourceType::ENTITY);
moveorder.Speed.setValue(val);
if(MovementWorkerStarted == true)
{
MovemtServer_->sendMessage(moveorder.buildMessage().serialize());
LOG_S(INFO)<<"Move Order send";
LOG_S(INFO)<<"Move Order send with Speed";
}
}
void Entity::setCourse(double val)
{
OwnShipTrack->Course.setValue(val);
Orders::MoveOrder moveorder(OwnShipTrack->getIdentifier(),WHISPER::SourceType::ENTITY);
moveorder.Course.setValue(val);
if(MovementWorkerStarted == true)
{
MovemtServer_->sendMessage(moveorder.buildMessage().serialize());
LOG_S(INFO)<<"Move Order send with Course";
}
}
void Entity::setPitch( double val)
{
@@ -123,11 +135,13 @@ namespace Entities
void Entity::startMovementWorker()
{
auto MovementPod = kubecontrol::KubePod("MovmentPod_"+EntityName_,xg::newGuid().str(),"movementimage:latest");
auto MovementPod = kubecontrol::KubePod("movmentpod-"+EntityName_,xg::newGuid().str(),"movementimage:latest");
MovementPod.setEnvironmentVar("SERVER_IP", SimCore::UtilFunctions::getOwnIP());
// LOG_S(INFO)<< MovementPod.createYAML();
LOG_S(INFO)<< MovementPod.createYAML();
PodController_->startPod(MovementPod);
LOG_S(INFO)<<PodController_->getServerAddress();
std::this_thread::sleep_for(std::chrono::milliseconds(5000));
LOG_S(INFO)<< "TODO: starting the movement app from here";