示例#1
0
        private ClusterCreateMessage GenerateQueueMessage(ClusterCreateRequest request, Cluster newCluster, SshKey selectedSshKey, DatacenterNode selectedNode, Template template, int baseIp, int baseId)
        {
            var message = new ClusterCreateMessage()
            {
                Pattern = "create",
                Data    = new Data()
                {
                    Id     = baseId,
                    Config = new Config()
                    {
                        User     = "******",
                        Password = "******",
                        Ssh      = new Ssh()
                        {
                            PrivateKey = selectedSshKey.Pem,
                            PublicKey  = selectedSshKey.Public
                        }
                    },
                    Nodes = new List <Node>()
                }
            };

            var master = new Node()
            {
                Id          = baseId,
                CpuCores    = 2,
                Master      = true,
                Disk        = 30,
                Memory      = 1024,
                Ip          = $"10.0.{selectedNode.Id}.{baseIp}",
                ProxmoxNode = selectedNode.Name,
                Template    = template.BaseTemplate
            };

            message.Data.Nodes.Add(master);

            for (var i = 0; i < newCluster.Node; i++)
            {
                var node = new Node()
                {
                    Id          = baseId + i + 1,
                    CpuCores    = newCluster.Cpu,
                    Master      = false,
                    Disk        = newCluster.Storage,
                    Memory      = newCluster.Memory,
                    Ip          = $"10.0.{selectedNode.Id}.{baseIp + i + 1}",
                    ProxmoxNode = selectedNode.Name,
                    Template    = template.BaseTemplate
                };

                message.Data.Nodes.Add(node);
            }

            return(message);
        }
 public Task <int> InsertDatacenterNodeAsync(DatacenterNode entity)
 {
     serviceDbContext.DatacenterNode.Add(entity);
     return(serviceDbContext.SaveChangesAsync());
 }
 public Task <int> UpdateDatacenterNodeAsync(DatacenterNode entity)
 {
     serviceDbContext.Entry(entity).State = EntityState.Modified;
     return(serviceDbContext.SaveChangesAsync());
 }
示例#4
0
 public Task <int> DeleteAsync(DatacenterNode entity)
 {
     throw new NotImplementedException();
 }