Exemplo n.º 1
0
        public async Task <JsonResult> CreateService([FromBody] CreateServiceHttpParams attr)
        {
            if (attr.Type == "node")
            {
                Logger.Log("Creating Node Js service");
                Logger.Log(JsonConvert.SerializeObject(attr.Dependencies));
                try
                {
                    ICloudService service = ServiceLogic.CreateCloudService(attr.Id, attr.UserId, attr.FileBase64, attr.CountOfReplicas, attr.Dependencies, attr.Type);
                    bool          success = await service.Create();

                    ServiceLogic.Services.Add(service);
                    return(new JsonResult(service));
                }
                catch (Exception e)
                {
                    Logger.Fail(e.Message);
                }
            }
            throw new Exception("Unknown type!");
        }
Exemplo n.º 2
0
        private async Task <bool> makeReinitAsync(ReinitServiceHttpParams reinit, List <ReinitServiceHttpParams> attr, List <SwarmService> servicesList)
        {
            SwarmService swarmService = servicesList.Find(service => service.ID == reinit.DockerServiceId);

            Logger.Log($"Reinit service  : {reinit.Id}, {reinit.DockerServiceId}, serviceList : {JsonConvert.SerializeObject(servicesList.Select(el => el.ID))}");
            string dockerName = $"{reinit.UserId}-{reinit.Id}";

            if (swarmService != null)
            {
                ICloudService service = ServiceLogic.CreateCloudService(reinit.Type);
                await service.Reinitialize(reinit, swarmService);

                ServiceLogic.Services.Add(service);
            }
            else
            {
                ICloudService service = ServiceLogic.CreateCloudService(reinit.Id, reinit.UserId, reinit.FileBase64, reinit.CountOfReplicas, reinit.Dependencies, reinit.Type);
                ServiceLogic.Services.Add(service);
                await service.Create();
            }
            return(true);
        }